diff --git a/InvenTree/locale/cs/LC_MESSAGES/django.po b/InvenTree/locale/cs/LC_MESSAGES/django.po index 8d3e247659..240584de6a 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-06-05 14:26+0000\n" -"PO-Revision-Date: 2022-06-05 14:34\n" +"POT-Creation-Date: 2022-06-06 22:59+0000\n" +"PO-Revision-Date: 2022-06-07 14:35\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:46 +#: InvenTree/api.py:49 msgid "API endpoint not found" msgstr "API endpoint nebyl nalezen" @@ -29,275 +29,273 @@ msgstr "" msgid "Enter date" msgstr "Zadejte datum" -#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:630 -msgid "Confirm" -msgstr "Potvrdit" - -#: InvenTree/forms.py:134 +#: InvenTree/forms.py:117 msgid "Confirm delete" msgstr "Potvrdit odstranění" -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:118 msgid "Confirm item deletion" msgstr "Potvrdit odstranění položky" -#: InvenTree/forms.py:167 +#: InvenTree/forms.py:150 msgid "Enter password" msgstr "Zadejte heslo" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:151 msgid "Enter new password" msgstr "Zadejte nové heslo" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:158 msgid "Confirm password" msgstr "Potvrďte heslo" -#: InvenTree/forms.py:176 +#: InvenTree/forms.py:159 msgid "Confirm new password" msgstr "Potvrďte nové heslo" -#: InvenTree/forms.py:213 -msgid "Select Category" -msgstr "Vyberte kategorii" - -#: InvenTree/forms.py:234 +#: InvenTree/forms.py:184 msgid "Email (again)" msgstr "Email (znovu)" -#: InvenTree/forms.py:238 +#: InvenTree/forms.py:188 msgid "Email address confirmation" msgstr "Potvrzení emailové adresy" -#: InvenTree/forms.py:259 +#: InvenTree/forms.py:209 msgid "You must type the same email each time." msgstr "Pokaždé musíte zadat stejný email." -#: InvenTree/helpers.py:402 +#: InvenTree/helpers.py:404 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "Duplicitní výrobní číslo: {sn}" -#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 +#: InvenTree/helpers.py:411 order/models.py:370 order/models.py:522 msgid "Invalid quantity provided" msgstr "Vyplněno neplatné množství" -#: InvenTree/helpers.py:412 +#: InvenTree/helpers.py:414 msgid "Empty serial number string" msgstr "Nevyplněné výrobní číslo" -#: InvenTree/helpers.py:444 +#: InvenTree/helpers.py:446 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:447 +#: InvenTree/helpers.py:449 #, python-brace-format msgid "Invalid group: {g}" msgstr "Neplatná skupina: {g}" -#: InvenTree/helpers.py:475 +#: InvenTree/helpers.py:477 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:483 +#: InvenTree/helpers.py:485 #, python-brace-format msgid "Invalid/no group {group}" msgstr "Neplatná/nevyplněná skupina {group}" -#: InvenTree/helpers.py:489 +#: InvenTree/helpers.py:491 msgid "No serial numbers found" msgstr "Nenalezena žádná výrobní čísla" -#: InvenTree/helpers.py:493 +#: InvenTree/helpers.py:495 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:174 +#: InvenTree/models.py:178 msgid "Missing file" msgstr "Chybějící soubor" -#: InvenTree/models.py:175 +#: InvenTree/models.py:179 msgid "Missing external link" msgstr "Chybějící externí odkaz" -#: InvenTree/models.py:187 stock/models.py:2087 -#: templates/js/translated/attachment.js:101 -#: templates/js/translated/attachment.js:198 +#: InvenTree/models.py:191 stock/models.py:2091 +#: templates/js/translated/attachment.js:103 +#: templates/js/translated/attachment.js:194 msgid "Attachment" msgstr "Příloha" -#: InvenTree/models.py:188 +#: InvenTree/models.py:192 msgid "Select file to attach" msgstr "Vyberte soubor k přiložení" -#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 -#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: InvenTree/models.py:198 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:136 order/models.py:1251 #: 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 -#: templates/js/translated/part.js:1441 +#: templates/js/translated/company.js:640 +#: templates/js/translated/company.js:931 templates/js/translated/order.js:2676 +#: templates/js/translated/part.js:1485 msgid "Link" msgstr "Odkaz" -#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: InvenTree/models.py:199 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:198 templates/js/translated/attachment.js:102 -#: templates/js/translated/attachment.js:242 +#: InvenTree/models.py:202 templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:238 msgid "Comment" msgstr "Komentář" -#: InvenTree/models.py:198 +#: InvenTree/models.py:202 msgid "File comment" msgstr "Komentář k souboru" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1506 +#: common/models.py:1507 common/models.py:1735 common/models.py:1736 +#: common/models.py:1998 common/models.py:1999 part/models.py:2141 +#: part/models.py:2161 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:2523 msgid "User" msgstr "Uživatel" -#: InvenTree/models.py:208 +#: InvenTree/models.py:212 msgid "upload date" msgstr "datum přidání" -#: InvenTree/models.py:230 +#: InvenTree/models.py:234 msgid "Filename must not be empty" msgstr "Název souboru nesmí být prázdný" -#: InvenTree/models.py:253 +#: InvenTree/models.py:257 msgid "Invalid attachment directory" msgstr "Neplatný adresář přílohy" -#: InvenTree/models.py:263 +#: InvenTree/models.py:267 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Název souboru obsahuje nepovolený znak '{c}'" -#: InvenTree/models.py:266 +#: InvenTree/models.py:270 msgid "Filename missing extension" msgstr "Chybějící přípona souboru" -#: InvenTree/models.py:273 +#: InvenTree/models.py:277 msgid "Attachment with this filename already exists" msgstr "Příloha s tímto názvem již existuje" -#: InvenTree/models.py:280 +#: InvenTree/models.py:284 msgid "Error renaming file" msgstr "Chyba při přejmenování souboru" -#: InvenTree/models.py:314 +#: InvenTree/models.py:318 msgid "Invalid choice" msgstr "Neplatný výběr" -#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 #: company/models.py:354 label/models.py:101 part/models.py:739 -#: part/models.py:2331 plugin/models.py:93 report/models.py:151 +#: part/models.py:2319 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 #: templates/InvenTree/settings/plugin.html:132 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:346 -#: 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:2283 +#: templates/js/translated/company.js:530 +#: templates/js/translated/company.js:742 templates/js/translated/part.js:659 +#: templates/js/translated/part.js:811 templates/js/translated/part.js:1832 +#: templates/js/translated/stock.js:2293 msgid "Name" msgstr "Název" -#: InvenTree/models.py:340 build/models.py:197 +#: InvenTree/models.py:344 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: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:164 +#: order/models.py:134 part/models.py:762 part/templates/part/category.html:74 +#: part/templates/part/part_base.html:167 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 -#: 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/bom.js:553 templates/js/translated/bom.js:845 +#: templates/js/translated/build.js:2476 templates/js/translated/company.js:395 +#: templates/js/translated/company.js:651 +#: templates/js/translated/company.js:942 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:1676 -#: templates/js/translated/stock.js:2295 templates/js/translated/stock.js:2350 +#: templates/js/translated/part.js:718 templates/js/translated/part.js:1126 +#: templates/js/translated/part.js:1399 templates/js/translated/part.js:1851 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:1686 +#: templates/js/translated/stock.js:2305 templates/js/translated/stock.js:2360 msgid "Description" msgstr "Popis" -#: InvenTree/models.py:341 +#: InvenTree/models.py:345 msgid "Description (optional)" msgstr "Popis (volitelně)" -#: InvenTree/models.py:349 +#: InvenTree/models.py:353 msgid "parent" msgstr "nadřazený" -#: InvenTree/serializers.py:52 part/models.py:2652 +#: InvenTree/models.py:466 +msgid "Server Error" +msgstr "" + +#: InvenTree/models.py:467 +msgid "An error has been logged by the server." +msgstr "" + +#: InvenTree/serializers.py:52 part/models.py:2640 msgid "Must be a valid number" msgstr "Musí být platné číslo" -#: InvenTree/serializers.py:271 +#: InvenTree/serializers.py:263 msgid "Filename" msgstr "Název souboru" -#: InvenTree/serializers.py:306 +#: InvenTree/serializers.py:298 msgid "Invalid value" msgstr "Neplatná hodnota" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:320 msgid "Data File" msgstr "Datový soubor" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:321 msgid "Select data file for upload" msgstr "Vyberte datový soubor k nahrání" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:342 msgid "Unsupported file type" msgstr "Nepodporovaný typ souboru" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:348 msgid "File is too large" msgstr "Soubor je příliš velký" -#: InvenTree/serializers.py:377 +#: InvenTree/serializers.py:369 msgid "No columns found in file" msgstr "V souboru nebyly nalezeny žádné sloupce" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:372 msgid "No data rows found in file" msgstr "V souboru nebyly nalezeny žádné řádky s daty" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:495 msgid "No data rows provided" msgstr "Nebyly zadány žádné řádky s daty" -#: InvenTree/serializers.py:506 +#: InvenTree/serializers.py:498 msgid "No data columns supplied" msgstr "Nebyly zadány žádné sloupce s daty" -#: InvenTree/serializers.py:583 +#: InvenTree/serializers.py:575 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Chybí povinný sloupec: '{name}'" -#: InvenTree/serializers.py:592 +#: InvenTree/serializers.py:584 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplicitní sloupec: '{col}'" @@ -440,7 +438,7 @@ msgstr "Ztraceno" msgid "Returned" msgstr "Vráceno" -#: InvenTree/status_codes.py:141 order/models.py:1114 +#: InvenTree/status_codes.py:141 order/models.py:1130 #: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "Odesláno" @@ -525,7 +523,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2020 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2030 msgid "Merged stock items" msgstr "" @@ -597,27 +595,27 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:522 +#: InvenTree/views.py:521 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:571 +#: InvenTree/views.py:570 msgid "Check box to confirm item deletion" msgstr "Zaškrtněte políčko pro potvrzení odstranění položky" -#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:585 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Upravit informace o uživateli" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:597 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Nastavit heslo" -#: InvenTree/views.py:618 +#: InvenTree/views.py:617 msgid "Password fields must match" msgstr "Hesla se musí shodovat" -#: InvenTree/views.py:842 templates/navbar.html:152 +#: InvenTree/views.py:807 templates/navbar.html:152 msgid "System Information" msgstr "Informace o systému" @@ -628,6 +626,7 @@ msgstr "" #: 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/email/overdue_build_order.html:15 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "" @@ -646,12 +645,12 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:189 order/models.py:288 order/models.py:638 -#: order/models.py:916 part/models.py:2570 +#: build/models.py:189 order/models.py:293 order/models.py:654 +#: order/models.py:932 part/models.py:2558 #: 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/bom.js:690 templates/js/translated/bom.js:852 #: 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:3959 @@ -673,13 +672,12 @@ msgstr "" #: 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:2460 part/models.py:2545 part/models.py:2821 -#: part/serializers.py:793 part/templates/part/part_app_base.html:8 +#: order/models.py:1028 order/models.py:1119 part/models.py:336 +#: part/models.py:2087 part/models.py:2102 part/models.py:2121 +#: part/models.py:2139 part/models.py:2238 part/models.py:2358 +#: part/models.py:2448 part/models.py:2533 part/models.py:2809 +#: part/serializers.py:795 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 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 @@ -687,22 +685,23 @@ msgstr "" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 +#: templates/email/overdue_build_order.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:805 +#: templates/js/translated/bom.js:689 templates/js/translated/bom.js:799 #: 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/company.js:253 +#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:592 +#: templates/js/translated/company.js:851 templates/js/translated/order.js:100 #: templates/js/translated/order.js:883 templates/js/translated/order.js:1315 #: 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:1633 templates/js/translated/stock.js:2376 -#: templates/js/translated/stock.js:2571 templates/js/translated/stock.js:2705 +#: templates/js/translated/part.js:1111 templates/js/translated/part.js:1181 +#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:695 templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2386 +#: templates/js/translated/stock.js:2581 templates/js/translated/stock.js:2715 msgid "Part" msgstr "" @@ -768,12 +767,12 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:282 order/models.py:137 part/models.py:932 +#: build/models.py:282 order/models.py:138 part/models.py:932 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "" -#: build/models.py:286 order/models.py:660 +#: build/models.py:286 order/models.py:676 msgid "Target completion date" msgstr "" @@ -781,7 +780,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:290 order/models.py:331 +#: build/models.py:290 order/models.py:336 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "" @@ -799,7 +798,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:313 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:151 +#: build/templates/build/detail.html:115 order/models.py:152 #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 @@ -822,20 +821,20 @@ msgstr "" #: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 #: company/models.py:519 company/templates/company/sidebar.html:25 -#: order/models.py:155 order/models.py:918 order/models.py:1213 +#: order/models.py:156 order/models.py:934 order/models.py:1229 #: order/templates/order/po_sidebar.html:11 #: 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:713 stock/models.py:1985 stock/models.py:2093 +#: stock/models.py:713 stock/models.py:1989 stock/models.py:2097 #: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:486 -#: stock/serializers.py:772 stock/serializers.py:871 stock/serializers.py:1003 +#: stock/serializers.py:759 stock/serializers.py:858 stock/serializers.py:990 #: 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/barcode.js:100 templates/js/translated/bom.js:1038 +#: templates/js/translated/company.js:947 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 -#: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 +#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1926 msgid "Notes" msgstr "" @@ -855,44 +854,44 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1108 +#: build/models.py:1111 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1117 +#: build/models.py:1120 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1127 +#: build/models.py:1130 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1133 order/models.py:1372 +#: build/models.py:1136 order/models.py:1388 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1139 +#: build/models.py:1142 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1196 +#: build/models.py:1199 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1265 stock/templates/stock/item_base.html:177 +#: build/models.py:1268 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:1266 +#: build/models.py:1269 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 -#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:703 -#: stock/serializers.py:829 stock/templates/stock/item_base.html:10 +#: build/models.py:1285 build/serializers.py:603 order/serializers.py:996 +#: order/serializers.py:1017 stock/serializers.py:382 stock/serializers.py:690 +#: stock/serializers.py:816 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 @@ -900,22 +899,22 @@ msgstr "" #: 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:2449 +#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696 +#: templates/js/translated/stock.js:2459 msgid "Stock Item" msgstr "" -#: build/models.py:1283 +#: build/models.py:1286 msgid "Source stock item" msgstr "" -#: build/models.py:1295 build/serializers.py:183 +#: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1536 +#: build/templates/build/detail.html:34 common/models.py:1543 #: 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:68 -#: part/forms.py:83 part/forms.py:98 part/models.py:2561 +#: order/models.py:925 order/models.py:1428 order/serializers.py:1136 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 +#: part/forms.py:74 part/forms.py:89 part/models.py:2549 #: 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 @@ -926,8 +925,8 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:139 #: 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 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:691 +#: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 #: templates/js/translated/build.js:574 templates/js/translated/build.js:765 #: templates/js/translated/build.js:1175 templates/js/translated/build.js:1673 #: templates/js/translated/build.js:2086 @@ -937,23 +936,23 @@ msgstr "" #: 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: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 -#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727 -#: templates/js/translated/stock.js:2498 templates/js/translated/stock.js:2583 +#: templates/js/translated/part.js:1011 templates/js/translated/part.js:2065 +#: templates/js/translated/part.js:2296 templates/js/translated/part.js:2330 +#: templates/js/translated/part.js:2408 templates/js/translated/stock.js:402 +#: templates/js/translated/stock.js:556 templates/js/translated/stock.js:726 +#: templates/js/translated/stock.js:2508 templates/js/translated/stock.js:2593 msgid "Quantity" msgstr "" -#: build/models.py:1296 +#: build/models.py:1299 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1304 +#: build/models.py:1307 msgid "Install into" msgstr "" -#: build/models.py:1305 +#: build/models.py:1308 msgid "Destination stock item" msgstr "" @@ -982,9 +981,9 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: 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:1239 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:368 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:514 +#: part/serializers.py:958 stock/models.py:470 stock/models.py:1239 #: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" @@ -997,9 +996,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 #: stock/serializers.py:297 templates/js/translated/order.js:1186 -#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:237 templates/js/translated/stock.js:403 msgid "Serial Numbers" msgstr "" @@ -1015,7 +1014,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:552 +#: build/serializers.py:268 stock/api.py:553 msgid "The following serial numbers already exist" msgstr "" @@ -1025,16 +1024,16 @@ msgstr "" #: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 #: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:481 -#: stock/serializers.py:864 stock/serializers.py:1097 +#: stock/serializers.py:851 stock/serializers.py:1084 #: 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 #: 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:1787 templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532 +#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904 +#: templates/js/translated/stock.js:1797 templates/js/translated/stock.js:2400 msgid "Location" msgstr "" @@ -1043,12 +1042,12 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:363 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:654 +#: build/templates/build/detail.html:62 order/models.py:670 #: 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 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1772 +#: templates/js/translated/stock.js:2477 templates/js/translated/stock.js:2609 msgid "Status" msgstr "" @@ -1108,8 +1107,8 @@ msgstr "" msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:535 build/serializers.py:580 part/models.py:2679 -#: part/models.py:2813 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2667 +#: part/models.py:2801 msgid "BOM Item" msgstr "" @@ -1125,11 +1124,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:716 +#: build/serializers.py:609 stock/serializers.py:703 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:667 order/serializers.py:1052 +#: build/serializers.py:667 order/serializers.py:1054 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1146,7 +1145,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:708 order/serializers.py:1298 +#: build/serializers.py:708 order/serializers.py:1300 msgid "Allocation items must be provided" msgstr "" @@ -1178,10 +1177,19 @@ msgstr "" msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:96 +#: build/tasks.py:100 msgid "Stock required for build order" msgstr "" +#: build/tasks.py:118 +msgid "Overdue Build Order" +msgstr "" + +#: build/tasks.py:123 +#, python-brace-format +msgid "Build order {bo} is now overdue" +msgstr "" + #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 #: order/templates/order/sales_order_base.html:38 @@ -1244,13 +1252,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:922 +#: build/templates/build/detail.html:131 order/models.py:938 #: 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: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 +#: templates/js/translated/order.js:3517 templates/js/translated/part.js:1015 msgid "Target Date" msgstr "" @@ -1277,13 +1285,14 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1100 -#: order/models.py:1185 order/models.py:1320 +#: build/templates/build/detail.html:94 order/models.py:1116 +#: order/models.py:1201 order/models.py:1336 #: 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/email/overdue_sales_order.html:15 #: templates/js/translated/order.js:2436 msgid "Sales Order" msgstr "" @@ -1319,7 +1328,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1034 +#: build/templates/build/detail.html:49 order/models.py:1050 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "" @@ -1336,8 +1345,8 @@ msgstr "" #: stock/templates/stock/item_base.html:170 #: templates/js/translated/build.js:1179 #: templates/js/translated/model_renderers.js:112 -#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1776 -#: templates/js/translated/stock.js:2606 +#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:2616 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1716,7 +1725,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:820 part/models.py:2372 report/models.py:157 +#: common/models.py:820 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" @@ -1726,7 +1735,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" @@ -1880,7 +1889,7 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:968 -msgid "Test Reports" +msgid "Enable Test Reports" msgstr "" #: common/models.py:969 @@ -1888,568 +1897,576 @@ msgid "Enable generation of test reports" msgstr "" #: common/models.py:975 -msgid "Batch Code Template" +msgid "Attach Test Reports" msgstr "" #: common/models.py:976 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:981 -msgid "Stock Expiry" +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" #: common/models.py:982 -msgid "Enable stock expiry functionality" +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:983 +msgid "Template for generating default batch codes for stock items" msgstr "" #: common/models.py:988 -msgid "Sell Expired Stock" +msgid "Stock Expiry" msgstr "" #: common/models.py:989 -msgid "Allow sale of expired stock" +msgid "Enable stock expiry functionality" msgstr "" #: common/models.py:995 -msgid "Stock Stale Time" +msgid "Sell Expired Stock" msgstr "" #: common/models.py:996 -msgid "Number of days stock items are considered stale before expiring" +msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:998 -msgid "days" +#: common/models.py:1002 +msgid "Stock Stale Time" msgstr "" #: common/models.py:1003 -msgid "Build Expired Stock" +msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1004 -msgid "Allow building with expired stock" +#: common/models.py:1005 +msgid "days" msgstr "" #: common/models.py:1010 -msgid "Stock Ownership Control" +msgid "Build Expired Stock" msgstr "" #: common/models.py:1011 -msgid "Enable ownership control over stock locations and items" +msgid "Allow building with expired stock" msgstr "" #: common/models.py:1017 -msgid "Build Order Reference Prefix" +msgid "Stock Ownership Control" msgstr "" #: common/models.py:1018 -msgid "Prefix value for build order reference" -msgstr "" - -#: common/models.py:1023 -msgid "Build Order Reference Regex" +msgid "Enable ownership control over stock locations and items" msgstr "" #: common/models.py:1024 +msgid "Build Order Reference Prefix" +msgstr "" + +#: common/models.py:1025 +msgid "Prefix value for build order reference" +msgstr "" + +#: common/models.py:1030 +msgid "Build Order Reference Regex" +msgstr "" + +#: common/models.py:1031 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1029 +#: common/models.py:1036 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1041 +#: common/models.py:1048 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1042 +#: common/models.py:1049 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1048 +#: common/models.py:1055 msgid "Enable password forgot" msgstr "" -#: common/models.py:1049 +#: common/models.py:1056 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1055 +#: common/models.py:1062 msgid "Enable registration" msgstr "" -#: common/models.py:1056 +#: common/models.py:1063 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1069 msgid "Enable SSO" msgstr "" -#: common/models.py:1063 +#: common/models.py:1070 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1069 +#: common/models.py:1076 msgid "Email required" msgstr "" -#: common/models.py:1070 +#: common/models.py:1077 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1076 +#: common/models.py:1083 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1077 +#: common/models.py:1084 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1083 +#: common/models.py:1090 msgid "Mail twice" msgstr "" -#: common/models.py:1084 +#: common/models.py:1091 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1090 +#: common/models.py:1097 msgid "Password twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1098 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1097 +#: common/models.py:1104 msgid "Group on signup" msgstr "" -#: common/models.py:1098 +#: common/models.py:1105 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1104 +#: common/models.py:1111 msgid "Enforce MFA" msgstr "" -#: common/models.py:1105 +#: common/models.py:1112 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1111 +#: common/models.py:1118 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1112 +#: common/models.py:1119 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1120 +#: common/models.py:1127 msgid "Enable URL integration" msgstr "" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1136 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1136 +#: common/models.py:1143 msgid "Enable app integration" msgstr "" -#: common/models.py:1137 +#: common/models.py:1144 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1144 +#: common/models.py:1151 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1145 +#: common/models.py:1152 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1152 +#: common/models.py:1159 msgid "Enable event integration" msgstr "" -#: common/models.py:1153 +#: common/models.py:1160 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1170 common/models.py:1492 +#: common/models.py:1177 common/models.py:1499 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1192 +#: common/models.py:1199 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1193 +#: common/models.py:1200 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1199 +#: common/models.py:1206 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1200 +#: common/models.py:1207 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1213 msgid "Show latest parts" msgstr "" -#: common/models.py:1207 +#: common/models.py:1214 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1213 +#: common/models.py:1220 msgid "Recent Part Count" msgstr "" -#: common/models.py:1214 +#: common/models.py:1221 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1220 +#: common/models.py:1227 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1221 +#: common/models.py:1228 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1227 +#: common/models.py:1234 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1228 +#: common/models.py:1235 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1235 +#: common/models.py:1242 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Show low stock" msgstr "" -#: common/models.py:1242 +#: common/models.py:1249 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Show depleted stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1256 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1262 msgid "Show needed stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1263 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1269 msgid "Show expired stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1270 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1276 msgid "Show stale stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Show pending builds" msgstr "" -#: common/models.py:1277 +#: common/models.py:1284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Show overdue builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1291 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1291 +#: common/models.py:1298 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Show overdue POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1305 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1312 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1318 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1319 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1317 +#: common/models.py:1324 msgid "Enable label printing" msgstr "" -#: common/models.py:1318 +#: common/models.py:1325 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1324 +#: common/models.py:1331 msgid "Inline label display" msgstr "" -#: common/models.py:1325 +#: common/models.py:1332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1331 +#: common/models.py:1338 msgid "Inline report display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1345 msgid "Search Parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1345 +#: common/models.py:1352 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1359 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1366 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1367 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1373 msgid "Search Categories" msgstr "" -#: common/models.py:1367 +#: common/models.py:1374 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1380 msgid "Search Stock" msgstr "" -#: common/models.py:1374 +#: common/models.py:1381 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1387 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1381 +#: common/models.py:1388 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1394 msgid "Search Locations" msgstr "" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1401 msgid "Search Companies" msgstr "" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1408 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1415 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1422 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1429 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Search Preview Results" msgstr "" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1457 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1457 +#: common/models.py:1464 msgid "Date Format" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1472 part/templates/part/detail.html:39 +#: common/models.py:1479 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1473 +#: common/models.py:1480 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1537 company/forms.py:37 +#: common/models.py:1544 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: 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 +#: common/models.py:1551 company/serializers.py:290 +#: company/templates/company/supplier_part.html:263 order/models.py:965 +#: templates/js/translated/part.js:1042 templates/js/translated/part.js:2070 msgid "Price" msgstr "" -#: common/models.py:1545 +#: common/models.py:1552 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1705 common/models.py:1883 +#: common/models.py:1712 common/models.py:1890 msgid "Endpoint" msgstr "" -#: common/models.py:1706 +#: common/models.py:1713 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1715 +#: common/models.py:1722 msgid "Name for this webhook" msgstr "" -#: common/models.py:1720 part/models.py:911 plugin/models.py:99 +#: common/models.py:1727 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 @@ -2457,79 +2474,89 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1721 +#: common/models.py:1728 msgid "Is this webhook active" msgstr "" -#: common/models.py:1735 +#: common/models.py:1742 msgid "Token" msgstr "" -#: common/models.py:1736 +#: common/models.py:1743 msgid "Token for access" msgstr "" -#: common/models.py:1743 +#: common/models.py:1750 msgid "Secret" msgstr "" -#: common/models.py:1744 +#: common/models.py:1751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Message ID" msgstr "" -#: common/models.py:1851 +#: common/models.py:1858 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1859 +#: common/models.py:1866 msgid "Host" msgstr "" -#: common/models.py:1860 +#: common/models.py:1867 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1867 +#: common/models.py:1874 msgid "Header" msgstr "" -#: common/models.py:1868 +#: common/models.py:1875 msgid "Header of this message" msgstr "" -#: common/models.py:1874 +#: common/models.py:1881 msgid "Body" msgstr "" -#: common/models.py:1875 +#: common/models.py:1882 msgid "Body of this message" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1889 +#: common/models.py:1896 msgid "Worked on" msgstr "" -#: common/models.py:1890 +#: common/models.py:1897 msgid "Was the work on this message finished?" msgstr "" +#: common/notifications.py:292 +#, python-brace-format +msgid "New {verbose_name}" +msgstr "" + +#: common/notifications.py:294 +#, python-brace-format +msgid "A new {verbose_name} has been created and ,assigned to you" +msgstr "" + #: common/views.py:87 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:191 +#: order/views.py:102 part/views.py:116 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:192 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:117 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -2545,19 +2572,19 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:511 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:16 part/forms.py:21 +#: company/forms.py:16 part/forms.py:18 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:17 part/forms.py:22 +#: company/forms.py:17 part/forms.py:19 msgid "Image URL" msgstr "" @@ -2571,7 +2598,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:405 +#: templates/js/translated/company.js:399 msgid "Website" msgstr "" @@ -2644,9 +2671,9 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: 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 +#: company/models.py:144 company/serializers.py:296 +#: company/templates/company/company_base.html:106 part/serializers.py:139 +#: part/serializers.py:170 stock/serializers.py:162 msgid "Currency" msgstr "" @@ -2667,10 +2694,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: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/company.js:383 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:617 +#: templates/js/translated/company.js:902 templates/js/translated/part.js:235 #: templates/js/translated/table_filters.js:411 msgid "Manufacturer" msgstr "" @@ -2681,11 +2708,11 @@ msgstr "" #: 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 -#: 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 +#: templates/js/translated/company.js:256 +#: templates/js/translated/company.js:483 +#: templates/js/translated/company.js:633 +#: templates/js/translated/company.js:920 templates/js/translated/order.js:1907 +#: templates/js/translated/part.js:246 templates/js/translated/part.js:1000 msgid "MPN" msgstr "" @@ -2714,9 +2741,9 @@ msgstr "" #: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2080 templates/js/translated/company.js:540 -#: templates/js/translated/company.js:763 templates/js/translated/part.js:776 -#: templates/js/translated/stock.js:1294 +#: stock/models.py:2084 templates/js/translated/company.js:531 +#: templates/js/translated/company.js:748 templates/js/translated/part.js:820 +#: templates/js/translated/stock.js:1304 msgid "Value" msgstr "" @@ -2724,10 +2751,10 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:368 part/models.py:878 part/models.py:2339 +#: company/models.py:368 part/models.py:878 part/models.py:2327 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:351 -#: templates/js/translated/company.js:769 templates/js/translated/part.js:782 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:826 msgid "Units" msgstr "" @@ -2740,13 +2767,14 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:487 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:303 +#: company/templates/company/supplier_part.html:87 order/models.py:308 #: 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 -#: 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/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:255 +#: templates/js/translated/company.js:387 +#: templates/js/translated/company.js:876 templates/js/translated/order.js:1643 +#: templates/js/translated/part.js:216 templates/js/translated/part.js:968 #: templates/js/translated/table_filters.js:415 msgid "Supplier" msgstr "" @@ -2756,9 +2784,9 @@ msgid "Select supplier" msgstr "" #: 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 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:254 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 -#: templates/js/translated/part.js:942 +#: templates/js/translated/part.js:986 msgid "SKU" msgstr "" @@ -2779,23 +2807,23 @@ msgid "Supplier part description" msgstr "" #: company/models.py:518 company/templates/company/supplier_part.html:125 -#: part/models.py:2573 part/templates/part/upload_bom.html:59 +#: part/models.py:2561 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:387 msgid "Note" msgstr "" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "base cost" msgstr "" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: 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 +#: templates/js/translated/company.js:952 templates/js/translated/stock.js:1922 msgid "Packaging" msgstr "" @@ -2803,7 +2831,7 @@ msgstr "" msgid "Part packaging" msgstr "" -#: company/models.py:526 part/models.py:1690 +#: company/models.py:526 part/models.py:1685 msgid "multiple" msgstr "" @@ -2825,7 +2853,7 @@ msgstr "" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:177 templates/js/translated/company.js:378 +#: templates/InvenTree/search.html:177 templates/js/translated/company.js:372 msgid "Company" msgstr "" @@ -2843,7 +2871,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:321 +#: templates/js/translated/company.js:315 msgid "Edit Company" msgstr "" @@ -2866,12 +2894,13 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:649 +#: company/templates/company/company_base.html:86 order/models.py:665 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:758 +#: stock/models.py:628 stock/serializers.py:745 #: 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 +#: templates/email/overdue_sales_order.html:16 +#: templates/js/translated/company.js:379 templates/js/translated/order.js:2458 +#: templates/js/translated/stock.js:2441 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "" @@ -2999,7 +3028,7 @@ msgid "Supplier List" msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:45 -#: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 +#: part/templates/part/prices.html:172 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -3012,12 +3041,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:680 +#: templates/js/translated/company.js:665 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:681 +#: templates/js/translated/company.js:666 msgid "Delete manufacturer part" msgstr "" @@ -3032,7 +3061,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:39 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 +#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" msgstr "" @@ -3092,18 +3121,18 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: 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 +#: templates/js/translated/company.js:892 templates/js/translated/order.js:884 +#: templates/js/translated/stock.js:1879 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:38 -#: templates/js/translated/company.js:980 +#: templates/js/translated/company.js:965 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:42 -#: templates/js/translated/company.js:981 +#: templates/js/translated/company.js:966 msgid "Delete supplier part" msgstr "" @@ -3123,7 +3152,7 @@ msgstr "" #: company/templates/company/supplier_part.html:148 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 -#: templates/js/translated/stock.js:380 +#: templates/js/translated/stock.js:379 msgid "New Stock Item" msgstr "" @@ -3144,7 +3173,7 @@ msgstr "" #: company/templates/company/supplier_part.html:191 #: company/templates/company/supplier_part.html:305 -#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046 +#: part/templates/part/prices.html:276 templates/js/translated/part.js:2142 msgid "Add Price Break" msgstr "" @@ -3153,12 +3182,12 @@ msgid "No price break information found" msgstr "" #: company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2152 msgid "Delete Price Break" msgstr "" #: company/templates/company/supplier_part.html:245 -#: templates/js/translated/part.js:2070 +#: templates/js/translated/part.js:2166 msgid "Edit Price Break" msgstr "" @@ -3180,9 +3209,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: 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:1687 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:722 +#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1431 +#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3209,7 +3238,7 @@ msgstr "" #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 -#: templates/js/translated/stock.js:2307 users/models.py:39 +#: templates/js/translated/stock.js:2317 users/models.py:39 msgid "Stock Items" msgstr "" @@ -3238,20 +3267,20 @@ msgstr "" msgid "New Company" msgstr "" -#: company/views.py:112 part/views.py:576 +#: company/views.py:112 part/views.py:501 msgid "Download Image" msgstr "" -#: company/views.py:139 part/views.py:606 +#: company/views.py:139 part/views.py:531 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:146 part/views.py:613 +#: company/views.py:146 part/views.py:538 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:155 part/views.py:622 +#: company/views.py:155 part/views.py:547 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3320,313 +3349,314 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:133 +#: order/models.py:134 msgid "Order description" msgstr "" -#: order/models.py:135 order/models.py:1236 +#: order/models.py:136 order/models.py:1252 msgid "Link to external page" msgstr "" -#: order/models.py:143 +#: order/models.py:144 msgid "Created By" msgstr "" -#: order/models.py:150 +#: order/models.py:151 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:155 +#: order/models.py:156 msgid "Order notes" msgstr "" -#: order/models.py:289 order/models.py:639 +#: order/models.py:294 order/models.py:655 msgid "Order reference" msgstr "" -#: order/models.py:294 order/models.py:654 +#: order/models.py:299 order/models.py:670 msgid "Purchase order status" msgstr "" -#: order/models.py:304 +#: order/models.py:309 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:307 order/templates/order/order_base.html:124 +#: order/models.py:312 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:307 +#: order/models.py:312 msgid "Supplier order reference code" msgstr "" -#: order/models.py:314 +#: order/models.py:319 msgid "received by" msgstr "" -#: order/models.py:319 +#: order/models.py:324 msgid "Issue Date" msgstr "" -#: order/models.py:320 +#: order/models.py:325 msgid "Date order was issued" msgstr "" -#: order/models.py:325 +#: order/models.py:330 msgid "Target Delivery Date" msgstr "" -#: order/models.py:326 +#: order/models.py:331 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:332 +#: order/models.py:337 msgid "Date order was completed" msgstr "" -#: order/models.py:368 +#: order/models.py:373 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:512 +#: order/models.py:517 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:650 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer Reference " msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer order reference code" msgstr "" -#: order/models.py:661 +#: order/models.py:677 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:664 order/models.py:1190 +#: order/models.py:680 order/models.py:1206 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:671 +#: order/models.py:687 msgid "shipped by" msgstr "" -#: order/models.py:726 +#: order/models.py:742 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:730 +#: order/models.py:746 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:733 +#: order/models.py:749 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:736 +#: order/models.py:752 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:910 +#: order/models.py:926 msgid "Item quantity" msgstr "" -#: order/models.py:916 +#: order/models.py:932 msgid "Line item reference" msgstr "" -#: order/models.py:918 +#: order/models.py:934 msgid "Line item notes" msgstr "" -#: order/models.py:923 +#: order/models.py:939 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:941 +#: order/models.py:957 msgid "Context" msgstr "" -#: order/models.py:942 +#: order/models.py:958 msgid "Additional context for this line" msgstr "" -#: order/models.py:950 +#: order/models.py:966 msgid "Unit price" msgstr "" -#: order/models.py:980 +#: order/models.py:996 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:988 +#: order/models.py:1004 msgid "deleted" msgstr "" -#: order/models.py:994 order/models.py:1074 order/models.py:1099 -#: order/models.py:1184 order/models.py:1320 +#: order/models.py:1010 order/models.py:1090 order/models.py:1115 +#: order/models.py:1200 order/models.py:1336 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:995 order/models.py:1074 +#: order/models.py:1011 order/models.py:1090 #: 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/email/overdue_purchase_order.html:15 #: 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 +#: templates/js/translated/part.js:943 templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:2422 msgid "Purchase Order" msgstr "" -#: order/models.py:1013 +#: order/models.py:1029 msgid "Supplier part" msgstr "" -#: order/models.py:1020 order/templates/order/order_base.html:169 +#: order/models.py:1036 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/part.js:1037 templates/js/translated/part.js:1064 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1021 +#: order/models.py:1037 msgid "Number of items received" msgstr "" -#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: order/models.py:1044 part/templates/part/prices.html:181 stock/models.py:722 #: stock/serializers.py:153 stock/templates/stock/item_base.html:191 -#: templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:1910 msgid "Purchase Price" msgstr "" -#: order/models.py:1029 +#: order/models.py:1045 msgid "Unit purchase price" msgstr "" -#: order/models.py:1037 +#: order/models.py:1053 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1109 part/templates/part/part_pricing.html:112 -#: part/templates/part/prices.html:119 part/templates/part/prices.html:288 +#: order/models.py:1125 part/templates/part/part_pricing.html:115 +#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 msgid "Sale Price" msgstr "" -#: order/models.py:1110 +#: order/models.py:1126 msgid "Unit sale price" msgstr "" -#: order/models.py:1115 +#: order/models.py:1131 msgid "Shipped quantity" msgstr "" -#: order/models.py:1191 +#: order/models.py:1207 msgid "Date of shipment" msgstr "" -#: order/models.py:1198 +#: order/models.py:1214 msgid "Checked By" msgstr "" -#: order/models.py:1199 +#: order/models.py:1215 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1207 +#: order/models.py:1223 msgid "Shipment number" msgstr "" -#: order/models.py:1214 +#: order/models.py:1230 msgid "Shipment notes" msgstr "" -#: order/models.py:1221 +#: order/models.py:1237 msgid "Tracking Number" msgstr "" -#: order/models.py:1222 +#: order/models.py:1238 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1229 +#: order/models.py:1245 msgid "Invoice Number" msgstr "" -#: order/models.py:1230 +#: order/models.py:1246 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1248 +#: order/models.py:1264 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1251 +#: order/models.py:1267 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1354 order/models.py:1356 +#: order/models.py:1370 order/models.py:1372 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1360 +#: order/models.py:1376 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1362 +#: order/models.py:1378 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1365 +#: order/models.py:1381 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1369 +#: order/models.py:1385 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1375 order/serializers.py:1045 +#: order/models.py:1391 order/serializers.py:1047 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1378 +#: order/models.py:1394 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1379 +#: order/models.py:1395 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1387 +#: order/models.py:1403 msgid "Line" msgstr "" -#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 +#: order/models.py:1411 order/serializers.py:1151 order/serializers.py:1275 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1396 +#: order/models.py:1412 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1424 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1409 +#: order/models.py:1425 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Enter stock allocation quantity" msgstr "" @@ -3662,7 +3692,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1117 +#: order/serializers.py:406 order/serializers.py:1119 msgid "Line Item" msgstr "" @@ -3710,42 +3740,60 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:866 +#: order/serializers.py:868 msgid "Sale price currency" msgstr "" -#: order/serializers.py:947 +#: order/serializers.py:949 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1006 order/serializers.py:1126 +#: order/serializers.py:1008 order/serializers.py:1128 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1028 +#: order/serializers.py:1030 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1139 +#: order/serializers.py:1141 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1161 order/serializers.py:1281 +#: order/serializers.py:1163 order/serializers.py:1283 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1164 order/serializers.py:1284 +#: order/serializers.py:1166 order/serializers.py:1286 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1216 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1224 +#: order/serializers.py:1226 msgid "The following serial numbers are already allocated" msgstr "" +#: order/tasks.py:26 +msgid "Overdue Purchase Order" +msgstr "" + +#: order/tasks.py:31 +#, python-brace-format +msgid "Purchase order {po} is now overdue" +msgstr "" + +#: order/tasks.py:88 +msgid "Overdue Sales Order" +msgstr "" + +#: order/tasks.py:93 +#, python-brace-format +msgid "Sales order {so} is now overdue" +msgstr "" + #: order/templates/order/order_base.html:33 msgid "Print purchase order report" msgstr "" @@ -3870,8 +3918,8 @@ msgstr "" #: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: 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:2731 templates/js/translated/stock.js:570 -#: templates/js/translated/stock.js:738 +#: templates/js/translated/order.js:2731 templates/js/translated/stock.js:569 +#: templates/js/translated/stock.js:737 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -3990,7 +4038,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1047 #: templates/js/translated/build.js:1880 msgid "Actions" msgstr "" @@ -4021,47 +4069,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:481 +#: part/api.py:482 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:501 +#: part/api.py:502 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:519 +#: part/api.py:520 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:551 +#: part/api.py:552 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:637 +#: part/api.py:638 msgid "Valid" msgstr "" -#: part/api.py:638 +#: part/api.py:639 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:644 +#: part/api.py:645 msgid "This option must be selected" msgstr "" -#: part/api.py:1010 +#: part/api.py:1011 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1014 +#: part/api.py:1015 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1029 +#: part/api.py:1030 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1060 part/api.py:1064 part/api.py:1079 part/api.py:1083 +#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 msgid "This field is required" msgstr "" @@ -4080,17 +4128,13 @@ msgid "Available Stock" msgstr "" #: 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 +#: templates/js/translated/part.js:561 templates/js/translated/part.js:581 +#: templates/js/translated/part.js:1273 templates/js/translated/part.js:1445 +#: templates/js/translated/part.js:1461 msgid "On Order" msgstr "" -#: part/forms.py:59 -msgid "Select part category" -msgstr "" - -#: part/forms.py:69 +#: part/forms.py:60 msgid "Input quantity for price calculation" msgstr "" @@ -4106,7 +4150,7 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:115 part/models.py:2415 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2403 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -4123,7 +4167,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:144 +#: templates/js/translated/part.js:1864 templates/js/translated/search.js:144 #: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "" @@ -4153,7 +4197,7 @@ msgstr "" msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:738 part/models.py:2469 +#: part/models.py:738 part/models.py:2457 msgid "Part name" msgstr "" @@ -4186,12 +4230,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:776 part/models.py:2171 part/models.py:2414 +#: part/models.py:776 part/models.py:2159 part/models.py:2402 #: part/templates/part/part_base.html:257 -#: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 #: templates/InvenTree/settings/settings.html:231 -#: templates/js/translated/part.js:1369 +#: templates/js/translated/part.js:1413 templates/js/translated/part.js:1639 msgid "Category" msgstr "" @@ -4200,8 +4243,8 @@ msgid "Part category" msgstr "" #: 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 +#: templates/js/translated/part.js:710 templates/js/translated/part.js:1366 +#: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" @@ -4214,7 +4257,7 @@ msgid "Part revision or version number" msgstr "" #: part/models.py:790 part/templates/part/part_base.html:273 -#: report/models.py:170 templates/js/translated/part.js:670 +#: report/models.py:170 templates/js/translated/part.js:714 msgid "Revision" msgstr "" @@ -4302,317 +4345,321 @@ msgstr "" msgid "Creation User" msgstr "" -#: part/models.py:1690 +#: part/models.py:1685 msgid "Sell multiple" msgstr "" -#: part/models.py:2218 +#: part/models.py:2206 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2235 +#: part/models.py:2223 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2255 templates/js/translated/part.js:1819 -#: templates/js/translated/stock.js:1274 +#: part/models.py:2243 templates/js/translated/part.js:1915 +#: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2256 +#: part/models.py:2244 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2261 +#: part/models.py:2249 msgid "Test Description" msgstr "" -#: part/models.py:2262 +#: part/models.py:2250 msgid "Enter description for this test" msgstr "" -#: part/models.py:2267 templates/js/translated/part.js:1828 +#: part/models.py:2255 templates/js/translated/part.js:1924 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2268 +#: part/models.py:2256 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2273 templates/js/translated/part.js:1836 +#: part/models.py:2261 templates/js/translated/part.js:1932 msgid "Requires Value" msgstr "" -#: part/models.py:2274 +#: part/models.py:2262 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2279 templates/js/translated/part.js:1843 +#: part/models.py:2267 templates/js/translated/part.js:1939 msgid "Requires Attachment" msgstr "" -#: part/models.py:2280 +#: part/models.py:2268 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2288 +#: part/models.py:2276 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2324 +#: part/models.py:2312 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2332 +#: part/models.py:2320 msgid "Parameter Name" msgstr "" -#: part/models.py:2339 +#: part/models.py:2327 msgid "Parameter Units" msgstr "" -#: part/models.py:2370 +#: part/models.py:2358 msgid "Parent Part" msgstr "" -#: part/models.py:2372 part/models.py:2420 part/models.py:2421 +#: part/models.py:2360 part/models.py:2408 part/models.py:2409 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Data" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Parameter Value" msgstr "" -#: part/models.py:2425 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2413 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2426 +#: part/models.py:2414 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2461 +#: part/models.py:2449 msgid "Part ID or part name" msgstr "" -#: part/models.py:2464 templates/js/translated/model_renderers.js:200 +#: part/models.py:2452 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2465 +#: part/models.py:2453 msgid "Unique part ID value" msgstr "" -#: part/models.py:2468 +#: part/models.py:2456 msgid "Part Name" msgstr "" -#: part/models.py:2472 +#: part/models.py:2460 msgid "Part IPN" msgstr "" -#: part/models.py:2473 +#: part/models.py:2461 msgid "Part IPN value" msgstr "" -#: part/models.py:2476 +#: part/models.py:2464 msgid "Level" msgstr "" -#: part/models.py:2477 +#: part/models.py:2465 msgid "BOM level" msgstr "" -#: part/models.py:2546 +#: part/models.py:2534 msgid "Select parent part" msgstr "" -#: part/models.py:2554 +#: part/models.py:2542 msgid "Sub part" msgstr "" -#: part/models.py:2555 +#: part/models.py:2543 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2561 +#: part/models.py:2549 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2563 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 +#: part/models.py:2551 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:871 templates/js/translated/bom.js:965 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2563 +#: part/models.py:2551 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2566 part/templates/part/upload_bom.html:55 +#: part/models.py:2554 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2567 +#: part/models.py:2555 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2570 +#: part/models.py:2558 msgid "BOM item reference" msgstr "" -#: part/models.py:2573 +#: part/models.py:2561 msgid "BOM item notes" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "Checksum" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "BOM line checksum" msgstr "" -#: part/models.py:2579 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:988 +#: part/models.py:2567 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:982 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2580 +#: part/models.py:2568 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2585 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:980 +#: part/models.py:2573 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:974 msgid "Allow Variants" msgstr "" -#: part/models.py:2586 +#: part/models.py:2574 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2664 stock/models.py:460 +#: part/models.py:2652 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2673 part/models.py:2675 +#: part/models.py:2661 part/models.py:2663 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2780 +#: part/models.py:2768 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2801 +#: part/models.py:2789 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2814 +#: part/models.py:2802 msgid "Parent BOM item" msgstr "" -#: part/models.py:2822 +#: part/models.py:2810 msgid "Substitute part" msgstr "" -#: part/models.py:2833 +#: part/models.py:2825 msgid "Part 1" msgstr "" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Part 2" msgstr "" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Select Related Part" msgstr "" -#: part/models.py:2868 -msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" +#: part/models.py:2847 +msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 +#: part/models.py:2851 +msgid "Duplicate relationship already exists" +msgstr "" + +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:794 +#: part/serializers.py:796 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:804 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:805 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:810 msgid "Include Inherited" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:811 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:816 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:817 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:820 +#: part/serializers.py:822 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:821 +#: part/serializers.py:823 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:861 +#: part/serializers.py:863 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:864 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:894 msgid "No part column specified" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:937 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:938 +#: part/serializers.py:940 msgid "No matching part found" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:943 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:950 +#: part/serializers.py:952 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:958 +#: part/serializers.py:960 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:979 +#: part/serializers.py:981 msgid "At least one BOM item is required" msgstr "" @@ -5088,10 +5135,10 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:143 -#: templates/js/translated/company.js:623 -#: templates/js/translated/company.js:882 +#: templates/js/translated/company.js:608 +#: templates/js/translated/company.js:867 #: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:658 +#: templates/js/translated/part.js:625 templates/js/translated/part.js:702 msgid "Inactive" msgstr "" @@ -5120,13 +5167,13 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1009 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1003 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/part.js:520 -#: templates/js/translated/part.js:540 templates/js/translated/part.js:1233 -#: templates/js/translated/part.js:1405 templates/js/translated/part.js:1421 +#: part/templates/part/part_base.html:238 templates/js/translated/part.js:564 +#: templates/js/translated/part.js:584 templates/js/translated/part.js:1277 +#: templates/js/translated/part.js:1449 templates/js/translated/part.js:1465 msgid "Building" msgstr "" @@ -5143,7 +5190,7 @@ msgstr "" msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:443 part/templates/part/prices.html:147 +#: part/templates/part/part_base.html:443 part/templates/part/prices.html:149 msgid "Calculate" msgstr "" @@ -5161,54 +5208,55 @@ msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:106 -#: part/templates/part/prices.html:123 +#: part/templates/part/part_pricing.html:103 +#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 +#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:104 -#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:111 -#: part/templates/part/prices.html:128 +#: part/templates/part/part_pricing.html:107 +#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 +#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 +#: part/templates/part/prices.html:130 msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:963 +#: templates/js/translated/bom.js:957 msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:246 +#: part/templates/part/prices.html:248 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:89 +#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:96 +#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:105 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/prices.html:107 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:128 -#: part/templates/part/prices.html:137 +#: part/templates/part/part_pricing.html:131 +#: part/templates/part/prices.html:139 msgid "No pricing information is available for this part." msgstr "" @@ -5232,43 +5280,6 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:9 -#, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" -"
Disable the \"Active\" part attribute and re-try.\n" -" " -msgstr "" - -#: part/templates/part/partial_delete.html:17 -#, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" -msgstr "" - -#: part/templates/part/partial_delete.html:22 -#, python-format -msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" -msgstr "" - -#: part/templates/part/partial_delete.html:32 -#, python-format -msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:43 -#, python-format -msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:54 -#, python-format -msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:67 -#, python-format -msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." -msgstr "" - #: part/templates/part/prices.html:19 msgid "Pricing ranges" msgstr "" @@ -5285,66 +5296,58 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:120 +#: part/templates/part/prices.html:122 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:123 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:143 +#: part/templates/part/prices.html:145 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:957 +#: part/templates/part/prices.html:160 templates/js/translated/bom.js:951 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:159 part/templates/part/prices.html:180 -#: part/templates/part/prices.html:204 part/templates/part/prices.html:234 -#: part/templates/part/prices.html:260 part/templates/part/prices.html:289 +#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 +#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 +#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:184 +#: part/templates/part/prices.html:186 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:193 +#: part/templates/part/prices.html:195 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:203 +#: part/templates/part/prices.html:205 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:218 +#: part/templates/part/prices.html:220 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:233 +#: part/templates/part/prices.html:235 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:259 +#: part/templates/part/prices.html:261 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:300 +#: part/templates/part/prices.html:302 msgid "No sale pice history available for this part." msgstr "" -#: part/templates/part/set_category.html:9 -msgid "Set category for the following parts" -msgstr "" - -#: part/templates/part/set_category.html:32 -msgid "Remove part" -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543 -#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:587 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:1469 msgid "No Stock" msgstr "" @@ -5407,56 +5410,39 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:74 -msgid "Set Part Category" -msgstr "" - -#: part/views.py:122 -#, python-brace-format -msgid "Set category for {n} parts" -msgstr "" - -#: part/views.py:193 +#: part/views.py:118 msgid "Match References" msgstr "" -#: part/views.py:494 +#: part/views.py:419 msgid "None" msgstr "" -#: part/views.py:556 +#: part/views.py:481 msgid "Part QR Code" msgstr "" -#: part/views.py:650 +#: part/views.py:575 msgid "Select Part Image" msgstr "" -#: part/views.py:676 +#: part/views.py:601 msgid "Updated part image" msgstr "" -#: part/views.py:679 +#: part/views.py:604 msgid "Part image not found" msgstr "" -#: part/views.py:768 -msgid "Confirm Part Deletion" -msgstr "" - -#: part/views.py:776 -msgid "Part was deleted" -msgstr "" - -#: part/views.py:785 +#: part/views.py:693 msgid "Part Pricing" msgstr "" -#: part/views.py:976 +#: part/views.py:884 msgid "Delete Part Category" msgstr "" -#: part/views.py:983 +#: part/views.py:891 msgid "Part category was deleted" msgstr "" @@ -5516,21 +5502,21 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:28 +#: plugin/builtin/integration/core_notifications.py:29 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 +#: plugin/builtin/integration/core_notifications.py:30 msgid "Integrated outgoing notificaton methods" msgstr "" -#: 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:34 #: plugin/builtin/integration/core_notifications.py:53 +msgid "Enable email notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:35 +#: plugin/builtin/integration/core_notifications.py:54 msgid "Allow sending of emails for event notifications" msgstr "" @@ -5646,15 +5632,19 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:166 +#: report/api.py:179 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:198 report/api.py:239 +#: report/api.py:215 report/api.py:256 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" +#: report/api.py:359 +msgid "Test report" +msgstr "" + #: report/models.py:152 msgid "Template name" msgstr "" @@ -5757,7 +5747,7 @@ msgstr "" #: 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:3229 -#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:434 msgid "Serial Number" msgstr "" @@ -5766,19 +5756,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2068 +#: stock/models.py:2072 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2074 +#: stock/models.py:2078 msgid "Result" 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:1669 templates/js/translated/stock.js:2340 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2350 msgid "Date" msgstr "" @@ -5796,20 +5786,20 @@ msgid "Installed Items" 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:2589 +#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724 +#: templates/js/translated/stock.js:2599 msgid "Serial" msgstr "" -#: stock/api.py:504 +#: stock/api.py:505 msgid "Quantity is required" msgstr "" -#: stock/api.py:511 +#: stock/api.py:512 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:536 +#: stock/api.py:537 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5917,7 +5907,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1826 msgid "Expiry Date" msgstr "" @@ -5971,79 +5961,79 @@ msgstr "" msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1325 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1324 +#: stock/models.py:1328 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1327 +#: stock/models.py:1331 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1334 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1333 +#: stock/models.py:1337 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1340 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1343 stock/serializers.py:908 +#: stock/models.py:1347 stock/serializers.py:895 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1347 +#: stock/models.py:1351 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1355 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1359 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1524 +#: stock/models.py:1528 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1986 +#: stock/models.py:1990 msgid "Entry notes" msgstr "" -#: stock/models.py:2044 +#: stock/models.py:2048 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2050 +#: stock/models.py:2054 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2069 +#: stock/models.py:2073 msgid "Test name" msgstr "" -#: stock/models.py:2075 +#: stock/models.py:2079 msgid "Test result" msgstr "" -#: stock/models.py:2081 +#: stock/models.py:2085 msgid "Test output value" msgstr "" -#: stock/models.py:2088 +#: stock/models.py:2092 msgid "Test result attachment" msgstr "" -#: stock/models.py:2094 +#: stock/models.py:2098 msgid "Test notes" msgstr "" @@ -6064,7 +6054,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:865 stock/serializers.py:1098 +#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 msgid "Destination stock location" msgstr "" @@ -6104,63 +6094,63 @@ msgstr "" msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:707 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:724 +#: stock/serializers.py:711 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:728 +#: stock/serializers.py:715 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:759 +#: stock/serializers.py:746 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:765 +#: stock/serializers.py:752 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:773 +#: stock/serializers.py:760 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:783 stock/serializers.py:1014 +#: stock/serializers.py:770 stock/serializers.py:1001 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:872 +#: stock/serializers.py:859 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:877 +#: stock/serializers.py:864 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:878 +#: stock/serializers.py:865 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:883 +#: stock/serializers.py:870 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:884 +#: stock/serializers.py:871 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:894 +#: stock/serializers.py:881 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:976 +#: stock/serializers.py:963 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1004 +#: stock/serializers.py:991 msgid "Stock transaction notes" msgstr "" @@ -6185,7 +6175,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:298 msgid "Delete Test Data" msgstr "" @@ -6197,11 +6187,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2733 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2743 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:292 templates/js/translated/stock.js:1455 +#: stock/templates/stock/item.html:290 +msgid "Delete all test results for this stock item" +msgstr "" + +#: stock/templates/stock/item.html:323 templates/js/translated/stock.js:1465 msgid "Add Test Result" msgstr "" @@ -6388,7 +6382,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/stock.js:1842 msgid "Last Updated" msgstr "" @@ -6529,7 +6523,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:182 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:144 msgid "Convert Stock Item" msgstr "" @@ -6550,31 +6544,19 @@ msgstr "" msgid "This action cannot be easily undone" msgstr "" -#: stock/views.py:113 +#: stock/views.py:111 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:131 -msgid "Delete All Test Data" -msgstr "" - -#: stock/views.py:149 -msgid "Confirm test data deletion" -msgstr "" - -#: stock/views.py:150 -msgid "Check the confirmation box" -msgstr "" - -#: stock/views.py:165 +#: stock/views.py:127 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:216 +#: stock/views.py:178 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:229 +#: stock/views.py:191 msgid "Delete Stock Item" msgstr "" @@ -7317,8 +7299,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:56 templates/js/translated/modals.js:595 -#: templates/js/translated/modals.js:689 templates/js/translated/modals.js:997 +#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 +#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 #: templates/js/translated/order.js:928 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7390,6 +7372,10 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:630 +msgid "Confirm" +msgstr "Potvrdit" + #: templates/account/email_confirm.html:27 #, python-format msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." @@ -7562,7 +7548,7 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:112 msgid "Delete Attachments" msgstr "" @@ -7596,15 +7582,15 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1425 +#: templates/js/translated/bom.js:1419 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: 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/bom.js:884 templates/js/translated/build.js:1787 +#: templates/js/translated/build.js:2650 templates/js/translated/part.js:571 +#: templates/js/translated/part.js:574 #: templates/js/translated/table_filters.js:178 msgid "Available" msgstr "" @@ -7622,6 +7608,13 @@ msgstr "" msgid "Minimum Quantity" msgstr "" +#: templates/email/new_order_assigned.html:9 +#: templates/email/overdue_build_order.html:9 +#: templates/email/overdue_purchase_order.html:9 +#: templates/email/overdue_sales_order.html:9 +msgid "Click on the following link to view this order" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -7638,91 +7631,91 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:235 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1073 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1074 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:242 +#: templates/js/translated/api.js:202 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:243 +#: templates/js/translated/api.js:203 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1083 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1084 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:252 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1088 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:253 templates/js/translated/modals.js:1083 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1089 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1093 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1088 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1094 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:262 +#: templates/js/translated/api.js:222 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:263 +#: templates/js/translated/api.js:223 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:267 templates/js/translated/modals.js:1092 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1098 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:268 templates/js/translated/modals.js:1093 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1099 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:271 +#: templates/js/translated/api.js:231 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:272 +#: templates/js/translated/api.js:232 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:96 +#: templates/js/translated/attachment.js:98 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:156 +#: templates/js/translated/attachment.js:152 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:180 +#: templates/js/translated/attachment.js:176 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:246 +#: templates/js/translated/attachment.js:242 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:262 +#: templates/js/translated/attachment.js:264 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:269 +#: templates/js/translated/attachment.js:271 msgid "Delete attachment" msgstr "" @@ -7755,7 +7748,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "Invalid server response" msgstr "" @@ -7783,7 +7776,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999 +#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:998 msgid "Remove stock item" msgstr "" @@ -7918,89 +7911,89 @@ msgstr "" msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:682 +#: templates/js/translated/bom.js:684 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:697 +#: templates/js/translated/bom.js:699 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:824 +#: templates/js/translated/bom.js:818 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:834 +#: templates/js/translated/bom.js:828 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:838 templates/js/translated/build.js:1769 +#: templates/js/translated/bom.js:832 templates/js/translated/build.js:1769 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/bom.js:900 templates/js/translated/build.js:1814 #: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:910 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:904 templates/js/translated/build.js:1818 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:912 templates/js/translated/build.js:1820 -#: templates/js/translated/part.js:690 +#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1820 +#: templates/js/translated/part.js:734 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:914 templates/js/translated/build.js:1822 +#: templates/js/translated/bom.js:908 templates/js/translated/build.js:1822 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:928 +#: templates/js/translated/bom.js:922 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:943 +#: templates/js/translated/bom.js:937 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:950 +#: templates/js/translated/bom.js:944 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:999 templates/js/translated/bom.js:1090 +#: templates/js/translated/bom.js:993 templates/js/translated/bom.js:1084 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1061 +#: templates/js/translated/bom.js:1055 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1063 +#: templates/js/translated/bom.js:1057 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1065 +#: templates/js/translated/bom.js:1059 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1067 templates/js/translated/bom.js:1228 +#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1222 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1069 +#: templates/js/translated/bom.js:1063 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1164 templates/js/translated/build.js:1615 +#: templates/js/translated/bom.js:1158 templates/js/translated/build.js:1615 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1408 templates/js/translated/build.js:1753 +#: templates/js/translated/bom.js:1402 templates/js/translated/build.js:1753 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1430 +#: templates/js/translated/bom.js:1424 msgid "Inherited from parent BOM" msgstr "" @@ -8040,13 +8033,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91 -#: templates/js/translated/stock.js:181 +#: templates/js/translated/build.js:259 templates/js/translated/stock.js:90 +#: templates/js/translated/stock.js:180 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93 -#: templates/js/translated/stock.js:183 +#: templates/js/translated/build.js:261 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:182 msgid "Latest serial number" msgstr "" @@ -8259,9 +8252,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: 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 +#: templates/js/translated/build.js:2448 templates/js/translated/part.js:1358 +#: templates/js/translated/part.js:1825 templates/js/translated/stock.js:1629 +#: templates/js/translated/stock.js:2287 msgid "Select" msgstr "" @@ -8273,7 +8266,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2519 +#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2529 msgid "No user information" msgstr "" @@ -8285,107 +8278,107 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:169 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:168 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:157 templates/js/translated/order.js:506 +#: templates/js/translated/company.js:156 templates/js/translated/order.js:506 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:185 +#: templates/js/translated/company.js:184 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:200 +#: templates/js/translated/company.js:199 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:249 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:263 +#: templates/js/translated/company.js:264 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:342 +#: templates/js/translated/company.js:336 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:413 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:428 +#: templates/js/translated/company.js:422 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:443 +#: templates/js/translated/company.js:437 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:478 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:492 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:526 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:548 +#: templates/js/translated/company.js:539 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:595 +#: templates/js/translated/company.js:580 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:615 -#: templates/js/translated/company.js:874 templates/js/translated/part.js:565 -#: templates/js/translated/part.js:650 +#: templates/js/translated/company.js:600 +#: templates/js/translated/company.js:859 templates/js/translated/part.js:609 +#: templates/js/translated/part.js:694 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:619 -#: templates/js/translated/company.js:878 templates/js/translated/part.js:569 -#: templates/js/translated/part.js:654 +#: templates/js/translated/company.js:604 +#: templates/js/translated/company.js:863 templates/js/translated/part.js:613 +#: templates/js/translated/part.js:698 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:747 templates/js/translated/part.js:757 +#: templates/js/translated/company.js:732 templates/js/translated/part.js:801 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:799 +#: templates/js/translated/company.js:769 templates/js/translated/part.js:843 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:785 templates/js/translated/part.js:800 +#: templates/js/translated/company.js:770 templates/js/translated/part.js:844 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:804 templates/js/translated/part.js:817 +#: templates/js/translated/company.js:789 templates/js/translated/part.js:861 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:815 templates/js/translated/part.js:829 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:873 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:854 +#: templates/js/translated/company.js:839 msgid "No supplier parts found" msgstr "" @@ -8448,36 +8441,36 @@ msgstr "" msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:756 +#: templates/js/translated/forms.js:757 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1248 templates/modals.html:19 +#: templates/js/translated/forms.js:1249 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1681 +#: templates/js/translated/forms.js:1682 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1896 templates/search.html:29 +#: templates/js/translated/forms.js:1897 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2149 +#: templates/js/translated/forms.js:2150 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2627 +#: templates/js/translated/forms.js:2628 msgid "Select Columns" msgstr "" @@ -8498,7 +8491,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1023 +#: templates/js/translated/stock.js:1022 msgid "Select Stock Items" msgstr "" @@ -8552,12 +8545,12 @@ msgid "Select Label Template" msgstr "" #: templates/js/translated/modals.js:82 templates/js/translated/modals.js:142 -#: templates/js/translated/modals.js:621 +#: templates/js/translated/modals.js:627 msgid "Cancel" msgstr "" #: 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/js/translated/modals.js:694 templates/js/translated/modals.js:1002 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" @@ -8566,47 +8559,47 @@ msgstr "" msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:403 +#: templates/js/translated/modals.js:421 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:562 +#: templates/js/translated/modals.js:568 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:620 +#: templates/js/translated/modals.js:626 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:677 +#: templates/js/translated/modals.js:683 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:960 +#: templates/js/translated/modals.js:966 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1072 +#: templates/js/translated/modals.js:1078 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1073 +#: templates/js/translated/modals.js:1079 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1096 +#: templates/js/translated/modals.js:1102 msgid "Error requesting form data" msgstr "" @@ -8656,11 +8649,11 @@ msgstr "" msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:259 +#: templates/js/translated/notification.js:260 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:300 templates/notifications.html:10 +#: templates/js/translated/notification.js:302 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" @@ -8804,7 +8797,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2080 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2090 msgid "Stock Status" msgstr "" @@ -8828,7 +8821,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1602 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1602 templates/js/translated/part.js:914 msgid "No purchase orders found" msgstr "" @@ -8863,7 +8856,7 @@ msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 #: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 -#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 +#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2397 msgid "Unit Price" msgstr "" @@ -8873,11 +8866,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:1993 templates/js/translated/order.js:3525 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:1023 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1069 msgid "Receive line item" msgstr "" @@ -8998,7 +8991,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1535 +#: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" @@ -9138,165 +9131,209 @@ msgstr "" msgid "Create Part Variant" msgstr "" +#: templates/js/translated/part.js:405 +msgid "Active Part" +msgstr "" + +#: templates/js/translated/part.js:406 +msgid "Part cannot be deleted as it is currently active" +msgstr "" + +#: templates/js/translated/part.js:420 +msgid "Deleting this part cannot be reversed" +msgstr "" + +#: templates/js/translated/part.js:422 +msgid "Any stock items for this part will be deleted" +msgstr "" + #: templates/js/translated/part.js:423 +msgid "This part will be removed from any Bills of Material" +msgstr "" + +#: templates/js/translated/part.js:424 +msgid "All manufacturer and supplier information for this part will be deleted" +msgstr "" + +#: templates/js/translated/part.js:431 +msgid "Delete Part" +msgstr "" + +#: templates/js/translated/part.js:467 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:425 +#: templates/js/translated/part.js:469 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:474 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:476 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:493 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:503 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:506 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:487 +#: templates/js/translated/part.js:531 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:513 templates/js/translated/part.js:1397 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1441 #: templates/js/translated/table_filters.js:452 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:523 templates/js/translated/part.js:1409 +#: templates/js/translated/part.js:567 templates/js/translated/part.js:1453 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:557 templates/js/translated/part.js:642 +#: templates/js/translated/part.js:601 templates/js/translated/part.js:686 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:561 templates/js/translated/part.js:646 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:690 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:617 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:577 +#: templates/js/translated/part.js:621 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:705 +#: templates/js/translated/part.js:749 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1095 +#: templates/js/translated/part.js:1139 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1119 +#: templates/js/translated/part.js:1163 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1184 templates/js/translated/part.js:1480 +#: templates/js/translated/part.js:1228 templates/js/translated/part.js:1524 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1223 +#: templates/js/translated/part.js:1267 msgid "Not available" msgstr "" -#: templates/js/translated/part.js:1374 +#: templates/js/translated/part.js:1418 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664 -#: templates/js/translated/stock.js:2238 +#: templates/js/translated/part.js:1548 templates/js/translated/part.js:1760 +#: templates/js/translated/stock.js:2248 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1520 +#: templates/js/translated/part.js:1564 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2257 +#: templates/js/translated/part.js:1630 +msgid "Set the part category for the selected parts" +msgstr "" + +#: templates/js/translated/part.js:1635 +msgid "Set Part Category" +msgstr "" + +#: templates/js/translated/part.js:1640 +msgid "Select Part Category" +msgstr "" + +#: templates/js/translated/part.js:1653 +msgid "Category is required" +msgstr "" + +#: templates/js/translated/part.js:1779 templates/js/translated/stock.js:2267 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1747 +#: templates/js/translated/part.js:1843 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2301 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2311 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:1901 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1233 +#: templates/js/translated/part.js:1952 templates/js/translated/stock.js:1243 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1234 -#: templates/js/translated/stock.js:1493 +#: templates/js/translated/part.js:1953 templates/js/translated/stock.js:1244 +#: templates/js/translated/stock.js:1503 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1863 +#: templates/js/translated/part.js:1959 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1885 +#: templates/js/translated/part.js:1981 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:1995 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1924 +#: templates/js/translated/part.js:2020 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1981 +#: templates/js/translated/part.js:2077 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1982 +#: templates/js/translated/part.js:2078 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:2096 +#: templates/js/translated/part.js:2192 msgid "Current Stock" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2225 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2155 +#: templates/js/translated/part.js:2251 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2225 +#: templates/js/translated/part.js:2321 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:2244 +#: templates/js/translated/part.js:2340 msgid "Single Price Difference" msgstr "" @@ -9378,360 +9415,360 @@ msgstr "" msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:72 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:101 +#: templates/js/translated/stock.js:100 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:109 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:139 +#: templates/js/translated/stock.js:138 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:153 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:194 +#: templates/js/translated/stock.js:193 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:233 +#: templates/js/translated/stock.js:232 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:239 +#: templates/js/translated/stock.js:238 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:303 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:324 +#: templates/js/translated/stock.js:323 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:344 +#: templates/js/translated/stock.js:343 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:394 +#: templates/js/translated/stock.js:393 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:407 +#: templates/js/translated/stock.js:406 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:431 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:453 +#: templates/js/translated/stock.js:452 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:472 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:481 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:605 +#: templates/js/translated/stock.js:604 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:606 +#: templates/js/translated/stock.js:605 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:683 +#: templates/js/translated/stock.js:682 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:684 +#: templates/js/translated/stock.js:683 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:686 +#: templates/js/translated/stock.js:685 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:687 +#: templates/js/translated/stock.js:686 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:772 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:774 +#: templates/js/translated/stock.js:773 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:869 +#: templates/js/translated/stock.js:868 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:869 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:876 +#: templates/js/translated/stock.js:875 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:876 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:881 +#: templates/js/translated/stock.js:880 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:882 +#: templates/js/translated/stock.js:881 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:886 +#: templates/js/translated/stock.js:885 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:887 users/models.py:215 +#: templates/js/translated/stock.js:886 users/models.py:215 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1024 +#: templates/js/translated/stock.js:1023 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1047 +#: templates/js/translated/stock.js:1046 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1172 +#: templates/js/translated/stock.js:1182 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1174 +#: templates/js/translated/stock.js:1184 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1179 +#: templates/js/translated/stock.js:1189 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1226 +#: templates/js/translated/stock.js:1236 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1229 +#: templates/js/translated/stock.js:1239 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1255 +#: templates/js/translated/stock.js:1265 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1321 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1476 +#: templates/js/translated/stock.js:1486 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1498 +#: templates/js/translated/stock.js:1508 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1527 +#: templates/js/translated/stock.js:1537 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1531 +#: templates/js/translated/stock.js:1541 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1539 +#: templates/js/translated/stock.js:1549 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1545 +#: templates/js/translated/stock.js:1555 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1712 +#: templates/js/translated/stock.js:1722 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1727 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1720 +#: templates/js/translated/stock.js:1730 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1723 +#: templates/js/translated/stock.js:1733 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1725 +#: templates/js/translated/stock.js:1735 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1727 +#: templates/js/translated/stock.js:1737 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1730 +#: templates/js/translated/stock.js:1740 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1734 +#: templates/js/translated/stock.js:1744 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1746 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1743 +#: templates/js/translated/stock.js:1753 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1755 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:1757 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1751 +#: templates/js/translated/stock.js:1761 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1802 +#: templates/js/translated/stock.js:1812 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1894 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1932 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2095 +#: templates/js/translated/stock.js:2105 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2109 +#: templates/js/translated/stock.js:2119 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2120 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2375 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2381 +#: templates/js/translated/stock.js:2391 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2403 +#: templates/js/translated/stock.js:2413 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2422 +#: templates/js/translated/stock.js:2432 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2441 +#: templates/js/translated/stock.js:2451 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2459 +#: templates/js/translated/stock.js:2469 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2482 +#: templates/js/translated/stock.js:2492 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2490 +#: templates/js/translated/stock.js:2500 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2566 +#: templates/js/translated/stock.js:2576 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2617 templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2663 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2666 +#: templates/js/translated/stock.js:2676 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2697 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2688 +#: templates/js/translated/stock.js:2698 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2690 +#: templates/js/translated/stock.js:2700 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/stock.js:2701 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2702 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2693 +#: templates/js/translated/stock.js:2703 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2716 msgid "Select part to install" msgstr "" diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po index 0b34bff57e..5b919f08d1 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-06-05 14:26+0000\n" -"PO-Revision-Date: 2022-06-05 14:34\n" +"POT-Creation-Date: 2022-06-06 22:59+0000\n" +"PO-Revision-Date: 2022-06-07 14:34\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:46 +#: InvenTree/api.py:49 msgid "API endpoint not found" msgstr "API-Endpunkt nicht gefunden" @@ -29,275 +29,273 @@ msgstr "Fehlerdetails finden Sie im Admin-Panel" msgid "Enter date" msgstr "Datum eingeben" -#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:630 -msgid "Confirm" -msgstr "Bestätigen" - -#: InvenTree/forms.py:134 +#: InvenTree/forms.py:117 msgid "Confirm delete" msgstr "Löschung bestätigen" -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:118 msgid "Confirm item deletion" msgstr "Löschung von Position bestätigen" -#: InvenTree/forms.py:167 +#: InvenTree/forms.py:150 msgid "Enter password" msgstr "Passwort eingeben" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:151 msgid "Enter new password" msgstr "Neues Passwort eingeben" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:158 msgid "Confirm password" msgstr "Passwort wiederholen" -#: InvenTree/forms.py:176 +#: InvenTree/forms.py:159 msgid "Confirm new password" msgstr "Neues Passwort bestätigen" -#: InvenTree/forms.py:213 -msgid "Select Category" -msgstr "Kategorie auswählen" - -#: InvenTree/forms.py:234 +#: InvenTree/forms.py:184 msgid "Email (again)" msgstr "E-Mail (nochmal)" -#: InvenTree/forms.py:238 +#: InvenTree/forms.py:188 msgid "Email address confirmation" msgstr "Bestätigung der E-Mail Adresse" -#: InvenTree/forms.py:259 +#: InvenTree/forms.py:209 msgid "You must type the same email each time." msgstr "E-Mail Adressen müssen übereinstimmen." -#: InvenTree/helpers.py:402 +#: InvenTree/helpers.py:404 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "Doppelte Seriennummer: {sn}" -#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 +#: InvenTree/helpers.py:411 order/models.py:370 order/models.py:522 msgid "Invalid quantity provided" msgstr "Keine gültige Menge" -#: InvenTree/helpers.py:412 +#: InvenTree/helpers.py:414 msgid "Empty serial number string" msgstr "Keine Seriennummer angegeben" -#: InvenTree/helpers.py:444 +#: InvenTree/helpers.py:446 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Ungültiger Gruppenbereich: {g}" -#: InvenTree/helpers.py:447 +#: InvenTree/helpers.py:449 #, python-brace-format msgid "Invalid group: {g}" msgstr "Ungültige Gruppe: {g}" -#: InvenTree/helpers.py:475 +#: InvenTree/helpers.py:477 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "Ungültige Gruppensequenz: {g}" -#: InvenTree/helpers.py:483 +#: InvenTree/helpers.py:485 #, python-brace-format msgid "Invalid/no group {group}" msgstr "Ungültige/Keine Gruppe {group}" -#: InvenTree/helpers.py:489 +#: InvenTree/helpers.py:491 msgid "No serial numbers found" msgstr "Keine Seriennummern gefunden" -#: InvenTree/helpers.py:493 +#: InvenTree/helpers.py:495 #, 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:174 +#: InvenTree/models.py:178 msgid "Missing file" msgstr "Fehlende Datei" -#: InvenTree/models.py:175 +#: InvenTree/models.py:179 msgid "Missing external link" msgstr "Fehlender externer Link" -#: InvenTree/models.py:187 stock/models.py:2087 -#: templates/js/translated/attachment.js:101 -#: templates/js/translated/attachment.js:198 +#: InvenTree/models.py:191 stock/models.py:2091 +#: templates/js/translated/attachment.js:103 +#: templates/js/translated/attachment.js:194 msgid "Attachment" msgstr "Anhang" -#: InvenTree/models.py:188 +#: InvenTree/models.py:192 msgid "Select file to attach" msgstr "Datei zum Anhängen auswählen" -#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 -#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: InvenTree/models.py:198 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:136 order/models.py:1251 #: 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 -#: templates/js/translated/part.js:1441 +#: templates/js/translated/company.js:640 +#: templates/js/translated/company.js:931 templates/js/translated/order.js:2676 +#: templates/js/translated/part.js:1485 msgid "Link" msgstr "Link" -#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: InvenTree/models.py:199 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:198 templates/js/translated/attachment.js:102 -#: templates/js/translated/attachment.js:242 +#: InvenTree/models.py:202 templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:238 msgid "Comment" msgstr "Kommentar" -#: InvenTree/models.py:198 +#: InvenTree/models.py:202 msgid "File comment" msgstr "Datei-Kommentar" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1506 +#: common/models.py:1507 common/models.py:1735 common/models.py:1736 +#: common/models.py:1998 common/models.py:1999 part/models.py:2141 +#: part/models.py:2161 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:2523 msgid "User" msgstr "Benutzer" -#: InvenTree/models.py:208 +#: InvenTree/models.py:212 msgid "upload date" msgstr "Hochladedatum" -#: InvenTree/models.py:230 +#: InvenTree/models.py:234 msgid "Filename must not be empty" msgstr "Dateiname darf nicht leer sein" -#: InvenTree/models.py:253 +#: InvenTree/models.py:257 msgid "Invalid attachment directory" msgstr "Ungültiges Verzeichnis für Anhang" -#: InvenTree/models.py:263 +#: InvenTree/models.py:267 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Dateiname enthält ungültiges Zeichen '{c}'" -#: InvenTree/models.py:266 +#: InvenTree/models.py:270 msgid "Filename missing extension" msgstr "Dateiendung fehlt" -#: InvenTree/models.py:273 +#: InvenTree/models.py:277 msgid "Attachment with this filename already exists" msgstr "Anhang mit diesem Dateinamen bereits vorhanden" -#: InvenTree/models.py:280 +#: InvenTree/models.py:284 msgid "Error renaming file" msgstr "Fehler beim Umbenennen" -#: InvenTree/models.py:314 +#: InvenTree/models.py:318 msgid "Invalid choice" msgstr "Ungültige Auswahl" -#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 #: company/models.py:354 label/models.py:101 part/models.py:739 -#: part/models.py:2331 plugin/models.py:93 report/models.py:151 +#: part/models.py:2319 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 #: templates/InvenTree/settings/plugin.html:132 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:346 -#: 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:2283 +#: templates/js/translated/company.js:530 +#: templates/js/translated/company.js:742 templates/js/translated/part.js:659 +#: templates/js/translated/part.js:811 templates/js/translated/part.js:1832 +#: templates/js/translated/stock.js:2293 msgid "Name" msgstr "Name" -#: InvenTree/models.py:340 build/models.py:197 +#: InvenTree/models.py:344 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: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:164 +#: order/models.py:134 part/models.py:762 part/templates/part/category.html:74 +#: part/templates/part/part_base.html:167 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 -#: 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/bom.js:553 templates/js/translated/bom.js:845 +#: templates/js/translated/build.js:2476 templates/js/translated/company.js:395 +#: templates/js/translated/company.js:651 +#: templates/js/translated/company.js:942 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:1676 -#: templates/js/translated/stock.js:2295 templates/js/translated/stock.js:2350 +#: templates/js/translated/part.js:718 templates/js/translated/part.js:1126 +#: templates/js/translated/part.js:1399 templates/js/translated/part.js:1851 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:1686 +#: templates/js/translated/stock.js:2305 templates/js/translated/stock.js:2360 msgid "Description" msgstr "Beschreibung" -#: InvenTree/models.py:341 +#: InvenTree/models.py:345 msgid "Description (optional)" msgstr "Beschreibung (optional)" -#: InvenTree/models.py:349 +#: InvenTree/models.py:353 msgid "parent" msgstr "Eltern" -#: InvenTree/serializers.py:52 part/models.py:2652 +#: InvenTree/models.py:466 +msgid "Server Error" +msgstr "" + +#: InvenTree/models.py:467 +msgid "An error has been logged by the server." +msgstr "" + +#: InvenTree/serializers.py:52 part/models.py:2640 msgid "Must be a valid number" msgstr "Muss eine gültige Nummer sein" -#: InvenTree/serializers.py:271 +#: InvenTree/serializers.py:263 msgid "Filename" msgstr "Dateiname" -#: InvenTree/serializers.py:306 +#: InvenTree/serializers.py:298 msgid "Invalid value" msgstr "Ungültiger Wert" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:320 msgid "Data File" msgstr "Datendatei" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:321 msgid "Select data file for upload" msgstr "Neue Datei zum Hochladen auswählen" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:342 msgid "Unsupported file type" msgstr "Nicht unterstütztes Dateiformat" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:348 msgid "File is too large" msgstr "Datei ist zu groß" -#: InvenTree/serializers.py:377 +#: InvenTree/serializers.py:369 msgid "No columns found in file" msgstr "Keine Spalten in der Datei gefunden" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:372 msgid "No data rows found in file" msgstr "Keine Datensätze in der Datei gefunden" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:495 msgid "No data rows provided" msgstr "Keine Zeilen ausgewählt" -#: InvenTree/serializers.py:506 +#: InvenTree/serializers.py:498 msgid "No data columns supplied" msgstr "Keine Spalten angegeben" -#: InvenTree/serializers.py:583 +#: InvenTree/serializers.py:575 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Erforderliche Spalte '{name}' fehlt" -#: InvenTree/serializers.py:592 +#: InvenTree/serializers.py:584 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Doppelte Spalte: '{col}'" @@ -440,7 +438,7 @@ msgstr "Verloren" msgid "Returned" msgstr "Zurückgegeben" -#: InvenTree/status_codes.py:141 order/models.py:1114 +#: InvenTree/status_codes.py:141 order/models.py:1130 #: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "Versendet" @@ -525,7 +523,7 @@ msgstr "Vom übergeordneten Element geteilt" msgid "Split child item" msgstr "Unterobjekt geteilt" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2020 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2030 msgid "Merged stock items" msgstr "Lagerartikel zusammengeführt" @@ -597,27 +595,27 @@ msgstr "Überschuss darf 100% nicht überschreiten" msgid "Invalid value for overage" msgstr "Ungültiger Wert für Ausschuss" -#: InvenTree/views.py:522 +#: InvenTree/views.py:521 msgid "Delete Item" msgstr "Element löschen" -#: InvenTree/views.py:571 +#: InvenTree/views.py:570 msgid "Check box to confirm item deletion" msgstr "Häkchen setzen um Löschung von Objekt zu bestätigen" -#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:585 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Benutzerinformationen bearbeiten" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:597 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Passwort eingeben" -#: InvenTree/views.py:618 +#: InvenTree/views.py:617 msgid "Password fields must match" msgstr "Passwörter stimmen nicht überein" -#: InvenTree/views.py:842 templates/navbar.html:152 +#: InvenTree/views.py:807 templates/navbar.html:152 msgid "System Information" msgstr "Systeminformationen" @@ -628,6 +626,7 @@ msgstr "Ungültige Wahl für übergeordneten Bauauftrag" #: 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/email/overdue_build_order.html:15 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "Bauauftrag" @@ -646,12 +645,12 @@ msgstr "Bauaufträge" msgid "Build Order Reference" msgstr "Bauauftragsreferenz" -#: build/models.py:189 order/models.py:288 order/models.py:638 -#: order/models.py:916 part/models.py:2570 +#: build/models.py:189 order/models.py:293 order/models.py:654 +#: order/models.py:932 part/models.py:2558 #: 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/bom.js:690 templates/js/translated/bom.js:852 #: 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:3959 @@ -673,13 +672,12 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: 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:2460 part/models.py:2545 part/models.py:2821 -#: part/serializers.py:793 part/templates/part/part_app_base.html:8 +#: order/models.py:1028 order/models.py:1119 part/models.py:336 +#: part/models.py:2087 part/models.py:2102 part/models.py:2121 +#: part/models.py:2139 part/models.py:2238 part/models.py:2358 +#: part/models.py:2448 part/models.py:2533 part/models.py:2809 +#: part/serializers.py:795 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 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 @@ -687,22 +685,23 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 +#: templates/email/overdue_build_order.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:805 +#: templates/js/translated/bom.js:689 templates/js/translated/bom.js:799 #: 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/company.js:253 +#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:592 +#: templates/js/translated/company.js:851 templates/js/translated/order.js:100 #: templates/js/translated/order.js:883 templates/js/translated/order.js:1315 #: 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:1633 templates/js/translated/stock.js:2376 -#: templates/js/translated/stock.js:2571 templates/js/translated/stock.js:2705 +#: templates/js/translated/part.js:1111 templates/js/translated/part.js:1181 +#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:695 templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2386 +#: templates/js/translated/stock.js:2581 templates/js/translated/stock.js:2715 msgid "Part" msgstr "Teil" @@ -768,12 +767,12 @@ msgstr "Losnummer" msgid "Batch code for this build output" msgstr "Losnummer für dieses Endprodukt" -#: build/models.py:282 order/models.py:137 part/models.py:932 +#: build/models.py:282 order/models.py:138 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:286 order/models.py:660 +#: build/models.py:286 order/models.py:676 msgid "Target completion date" msgstr "geplantes Fertigstellungsdatum" @@ -781,7 +780,7 @@ msgstr "geplantes Fertigstellungsdatum" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Zieldatum für Bauauftrag-Fertigstellung." -#: build/models.py:290 order/models.py:331 +#: build/models.py:290 order/models.py:336 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "Fertigstellungsdatum" @@ -799,7 +798,7 @@ msgid "User who issued this build order" msgstr "Nutzer der diesen Bauauftrag erstellt hat" #: build/models.py:313 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:151 +#: build/templates/build/detail.html:115 order/models.py:152 #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 @@ -822,20 +821,20 @@ msgstr "Externer Link" #: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 #: company/models.py:519 company/templates/company/sidebar.html:25 -#: order/models.py:155 order/models.py:918 order/models.py:1213 +#: order/models.py:156 order/models.py:934 order/models.py:1229 #: order/templates/order/po_sidebar.html:11 #: 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:713 stock/models.py:1985 stock/models.py:2093 +#: stock/models.py:713 stock/models.py:1989 stock/models.py:2097 #: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:486 -#: stock/serializers.py:772 stock/serializers.py:871 stock/serializers.py:1003 +#: stock/serializers.py:759 stock/serializers.py:858 stock/serializers.py:990 #: 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/barcode.js:100 templates/js/translated/bom.js:1038 +#: templates/js/translated/company.js:947 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 -#: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 +#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1926 msgid "Notes" msgstr "Notizen" @@ -855,44 +854,44 @@ msgstr "Endprodukt bereits hergstellt" msgid "Build output does not match Build Order" msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein" -#: build/models.py:1108 +#: build/models.py:1111 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:1117 +#: build/models.py:1120 #, 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:1127 +#: build/models.py:1130 msgid "Stock item is over-allocated" msgstr "BestandObjekt ist zu oft zugewiesen" -#: build/models.py:1133 order/models.py:1372 +#: build/models.py:1136 order/models.py:1388 msgid "Allocation quantity must be greater than zero" msgstr "Reserviermenge muss größer null sein" -#: build/models.py:1139 +#: build/models.py:1142 msgid "Quantity must be 1 for serialized stock" msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein" -#: build/models.py:1196 +#: build/models.py:1199 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:1265 stock/templates/stock/item_base.html:177 +#: build/models.py:1268 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:1266 +#: build/models.py:1269 msgid "Build to allocate parts" msgstr "Bauauftrag starten um Teile zuzuweisen" -#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 -#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:703 -#: stock/serializers.py:829 stock/templates/stock/item_base.html:10 +#: build/models.py:1285 build/serializers.py:603 order/serializers.py:996 +#: order/serializers.py:1017 stock/serializers.py:382 stock/serializers.py:690 +#: stock/serializers.py:816 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 @@ -900,22 +899,22 @@ msgstr "Bauauftrag starten um Teile zuzuweisen" #: 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:2449 +#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696 +#: templates/js/translated/stock.js:2459 msgid "Stock Item" msgstr "Lagerartikel" -#: build/models.py:1283 +#: build/models.py:1286 msgid "Source stock item" msgstr "Quell-Lagerartikel" -#: build/models.py:1295 build/serializers.py:183 +#: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1536 +#: build/templates/build/detail.html:34 common/models.py:1543 #: 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:68 -#: part/forms.py:83 part/forms.py:98 part/models.py:2561 +#: order/models.py:925 order/models.py:1428 order/serializers.py:1136 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 +#: part/forms.py:74 part/forms.py:89 part/models.py:2549 #: 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 @@ -926,8 +925,8 @@ msgstr "Quell-Lagerartikel" #: report/templates/report/inventree_test_report_base.html:139 #: 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 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:691 +#: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 #: templates/js/translated/build.js:574 templates/js/translated/build.js:765 #: templates/js/translated/build.js:1175 templates/js/translated/build.js:1673 #: templates/js/translated/build.js:2086 @@ -937,23 +936,23 @@ msgstr "Quell-Lagerartikel" #: 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: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 -#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727 -#: templates/js/translated/stock.js:2498 templates/js/translated/stock.js:2583 +#: templates/js/translated/part.js:1011 templates/js/translated/part.js:2065 +#: templates/js/translated/part.js:2296 templates/js/translated/part.js:2330 +#: templates/js/translated/part.js:2408 templates/js/translated/stock.js:402 +#: templates/js/translated/stock.js:556 templates/js/translated/stock.js:726 +#: templates/js/translated/stock.js:2508 templates/js/translated/stock.js:2593 msgid "Quantity" msgstr "Anzahl" -#: build/models.py:1296 +#: build/models.py:1299 msgid "Stock quantity to allocate to build" msgstr "Anzahl an Lagerartikel dem Bauauftrag zuweisen" -#: build/models.py:1304 +#: build/models.py:1307 msgid "Install into" msgstr "Installiere in" -#: build/models.py:1305 +#: build/models.py:1308 msgid "Destination stock item" msgstr "Ziel-Lagerartikel" @@ -982,9 +981,9 @@ msgstr "Dieses Endprodukt ist nicht vollständig zugewiesen" msgid "Enter quantity for build output" msgstr "Menge der Endprodukte angeben" -#: 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:1239 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:368 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:514 +#: part/serializers.py:958 stock/models.py:470 stock/models.py:1239 #: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" @@ -997,9 +996,9 @@ msgstr "Ganzzahl für verfolgbare Teile erforderlich" 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:222 order/serializers.py:448 order/serializers.py:1138 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 #: stock/serializers.py:297 templates/js/translated/order.js:1186 -#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:237 templates/js/translated/stock.js:403 msgid "Serial Numbers" msgstr "Seriennummer" @@ -1015,7 +1014,7 @@ msgstr "Seriennummern automatisch zuweisen" msgid "Automatically allocate required items with matching serial numbers" msgstr "Benötigte Lagerartikel automatisch mit passenden Seriennummern zuweisen" -#: build/serializers.py:268 stock/api.py:552 +#: build/serializers.py:268 stock/api.py:553 msgid "The following serial numbers already exist" msgstr "Folgende Seriennummern existieren bereits" @@ -1025,16 +1024,16 @@ msgstr "Eine Liste von Endprodukten muss angegeben werden" #: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 #: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:481 -#: stock/serializers.py:864 stock/serializers.py:1097 +#: stock/serializers.py:851 stock/serializers.py:1084 #: 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 #: 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:1787 templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532 +#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904 +#: templates/js/translated/stock.js:1797 templates/js/translated/stock.js:2400 msgid "Location" msgstr "Lagerort" @@ -1043,12 +1042,12 @@ msgid "Location for completed build outputs" msgstr "Lagerort für fertige Endprodukte" #: build/serializers.py:363 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:654 +#: build/templates/build/detail.html:62 order/models.py:670 #: 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 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1772 +#: templates/js/translated/stock.js:2477 templates/js/translated/stock.js:2609 msgid "Status" msgstr "Status" @@ -1108,8 +1107,8 @@ msgstr "Bauauftrag hat unvollständige Aufbauten" msgid "No build outputs have been created for this build order" msgstr "Es wurden keine Endprodukte für diesen Bauauftrag erstellt" -#: build/serializers.py:535 build/serializers.py:580 part/models.py:2679 -#: part/models.py:2813 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2667 +#: part/models.py:2801 msgid "BOM Item" msgstr "Stücklisten-Position" @@ -1125,11 +1124,11 @@ msgstr "Endprodukt muss auf den gleichen Bauauftrag verweisen" 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:609 stock/serializers.py:716 +#: build/serializers.py:609 stock/serializers.py:703 msgid "Item must be in stock" msgstr "Teil muss auf Lager sein" -#: build/serializers.py:667 order/serializers.py:1052 +#: build/serializers.py:667 order/serializers.py:1054 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Verfügbare Menge ({q}) überschritten" @@ -1146,7 +1145,7 @@ msgstr "Endprodukt kann bei Zuweisung nicht-verfolgter Teile nicht angegeben wer msgid "This stock item has already been allocated to this build output" msgstr "Dieser Lagerbestand wurde bereits diesem Endprodukt zugewiesen" -#: build/serializers.py:708 order/serializers.py:1298 +#: build/serializers.py:708 order/serializers.py:1300 msgid "Allocation items must be provided" msgstr "Zuweisungen müssen angegeben werden" @@ -1178,10 +1177,19 @@ msgstr "Ersatzbestand" msgid "Allow allocation of substitute parts" msgstr "Zuordnung von Ersatzteilen erlauben" -#: build/tasks.py:96 +#: build/tasks.py:100 msgid "Stock required for build order" msgstr "Bestand für Bauauftrag erforderlich" +#: build/tasks.py:118 +msgid "Overdue Build Order" +msgstr "" + +#: build/tasks.py:123 +#, python-brace-format +msgid "Build order {bo} is now overdue" +msgstr "" + #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 #: order/templates/order/sales_order_base.html:38 @@ -1244,13 +1252,13 @@ 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:922 +#: build/templates/build/detail.html:131 order/models.py:938 #: 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: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 +#: templates/js/translated/order.js:3517 templates/js/translated/part.js:1015 msgid "Target Date" msgstr "Zieldatum" @@ -1277,13 +1285,14 @@ msgid "Completed" msgstr "Fertig" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1100 -#: order/models.py:1185 order/models.py:1320 +#: build/templates/build/detail.html:94 order/models.py:1116 +#: order/models.py:1201 order/models.py:1336 #: 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/email/overdue_sales_order.html:15 #: templates/js/translated/order.js:2436 msgid "Sales Order" msgstr "Auftrag" @@ -1319,7 +1328,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:1034 +#: build/templates/build/detail.html:49 order/models.py:1050 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "Ziel-Lager" @@ -1336,8 +1345,8 @@ msgstr "Zugewiesene Teile" #: stock/templates/stock/item_base.html:170 #: templates/js/translated/build.js:1179 #: templates/js/translated/model_renderers.js:112 -#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1776 -#: templates/js/translated/stock.js:2606 +#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:2616 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1716,7 +1725,7 @@ msgstr "Kategorie-Parametervorlage kopieren" msgid "Copy category parameter templates when creating a part" msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird" -#: common/models.py:820 part/models.py:2372 report/models.py:157 +#: common/models.py:820 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" @@ -1726,7 +1735,7 @@ msgstr "Vorlage" msgid "Parts are templates by default" msgstr "Teile sind standardmäßig Vorlagen" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" @@ -1880,576 +1889,584 @@ msgid "Default page size for PDF reports" msgstr "Standardseitenformat für PDF-Bericht" #: common/models.py:968 -msgid "Test Reports" -msgstr "Test-Berichte" +msgid "Enable Test Reports" +msgstr "" #: common/models.py:969 msgid "Enable generation of test reports" msgstr "Erstellung von Test-Berichten aktivieren" #: common/models.py:975 +msgid "Attach Test Reports" +msgstr "" + +#: common/models.py:976 +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" +msgstr "" + +#: common/models.py:982 msgid "Batch Code Template" msgstr "Losnummer Vorlage" -#: common/models.py:976 +#: common/models.py:983 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:981 +#: common/models.py:988 msgid "Stock Expiry" msgstr "Bestands-Ablauf" -#: common/models.py:982 +#: common/models.py:989 msgid "Enable stock expiry functionality" msgstr "Ablaufen von Bestand ermöglichen" -#: common/models.py:988 +#: common/models.py:995 msgid "Sell Expired Stock" msgstr "Abgelaufenen Bestand verkaufen" -#: common/models.py:989 +#: common/models.py:996 msgid "Allow sale of expired stock" msgstr "Verkauf von abgelaufenem Bestand erlaubt" -#: common/models.py:995 +#: common/models.py:1002 msgid "Stock Stale Time" msgstr "Bestands-Stehzeit" -#: common/models.py:996 +#: common/models.py:1003 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:998 +#: common/models.py:1005 msgid "days" msgstr "Tage" -#: common/models.py:1003 +#: common/models.py:1010 msgid "Build Expired Stock" msgstr "Abgelaufenen Bestand verbauen" -#: common/models.py:1004 +#: common/models.py:1011 msgid "Allow building with expired stock" msgstr "Verbauen von abgelaufenen Bestand erlaubt" -#: common/models.py:1010 +#: common/models.py:1017 msgid "Stock Ownership Control" msgstr "Bestands-Eigentümerkontrolle" -#: common/models.py:1011 +#: common/models.py:1018 msgid "Enable ownership control over stock locations and items" msgstr "Eigentümerkontrolle für Lagerorte und Teile aktivieren" -#: common/models.py:1017 +#: common/models.py:1024 msgid "Build Order Reference Prefix" msgstr "Bauauftrag-Referenz Präfix" -#: common/models.py:1018 +#: common/models.py:1025 msgid "Prefix value for build order reference" msgstr "Präfix für Bauauftrag-Referenz" -#: common/models.py:1023 +#: common/models.py:1030 msgid "Build Order Reference Regex" msgstr "Bauauftrag-Referenz RegEx" -#: common/models.py:1024 +#: common/models.py:1031 msgid "Regular expression pattern for matching build order reference" msgstr "RegEx Muster für die Zuordnung von Bauauftrag-Referenzen" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Sales Order Reference Prefix" msgstr "Auftrags-Referenz Präfix" -#: common/models.py:1029 +#: common/models.py:1036 msgid "Prefix value for sales order reference" msgstr "Präfix für Auftrags-Referenz" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Sales Order Default Shipment" msgstr "Auftrag Standardsendung" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Enable creation of default shipment with sales orders" msgstr "Erstelle eine Standardsendung für Aufträge" -#: common/models.py:1041 +#: common/models.py:1048 msgid "Purchase Order Reference Prefix" msgstr "Bestellungs-Referenz Präfix" -#: common/models.py:1042 +#: common/models.py:1049 msgid "Prefix value for purchase order reference" msgstr "Präfix für Bestellungs-Referenz" -#: common/models.py:1048 +#: common/models.py:1055 msgid "Enable password forgot" msgstr "Passwort vergessen aktivieren" -#: common/models.py:1049 +#: common/models.py:1056 msgid "Enable password forgot function on the login pages" msgstr "Passwort-vergessen-Funktion auf den Anmeldeseiten aktivieren" -#: common/models.py:1055 +#: common/models.py:1062 msgid "Enable registration" msgstr "Anmeldung erlauben" -#: common/models.py:1056 +#: common/models.py:1063 msgid "Enable self-registration for users on the login pages" msgstr "Selbstregistrierung für Benutzer auf den Anmeldeseiten aktivieren" -#: common/models.py:1062 +#: common/models.py:1069 msgid "Enable SSO" msgstr "SSO aktivieren" -#: common/models.py:1063 +#: common/models.py:1070 msgid "Enable SSO on the login pages" msgstr "SSO auf den Anmeldeseiten aktivieren" -#: common/models.py:1069 +#: common/models.py:1076 msgid "Email required" msgstr "Email-Adresse erforderlich" -#: common/models.py:1070 +#: common/models.py:1077 msgid "Require user to supply mail on signup" msgstr "Benutzer müssen bei der Registrierung eine E-Mail angeben" -#: common/models.py:1076 +#: common/models.py:1083 msgid "Auto-fill SSO users" msgstr "SSO-Benutzer automatisch ausfüllen" -#: common/models.py:1077 +#: common/models.py:1084 msgid "Automatically fill out user-details from SSO account-data" msgstr "Benutzer-Details automatisch aus SSO-Konto ausfüllen" -#: common/models.py:1083 +#: common/models.py:1090 msgid "Mail twice" msgstr "E-Mail zweimal" -#: common/models.py:1084 +#: common/models.py:1091 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:1090 +#: common/models.py:1097 msgid "Password twice" msgstr "Passwort zweimal" -#: common/models.py:1091 +#: common/models.py:1098 msgid "On signup ask users twice for their password" msgstr "Bei der Registrierung den Benutzer zweimal nach dem Passwort fragen" -#: common/models.py:1097 +#: common/models.py:1104 msgid "Group on signup" msgstr "Gruppe bei Registrierung" -#: common/models.py:1098 +#: common/models.py:1105 msgid "Group to which new users are assigned on registration" msgstr "Gruppe der neue Benutzer bei der Registrierung zugewiesen werden" -#: common/models.py:1104 +#: common/models.py:1111 msgid "Enforce MFA" msgstr "MFA erzwingen" -#: common/models.py:1105 +#: common/models.py:1112 msgid "Users must use multifactor security." msgstr "Benutzer müssen Multifaktor-Authentifizierung verwenden." -#: common/models.py:1111 +#: common/models.py:1118 msgid "Check plugins on startup" msgstr "Plugins beim Start prüfen" -#: common/models.py:1112 +#: common/models.py:1119 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:1120 +#: common/models.py:1127 msgid "Enable URL integration" msgstr "URL-Integration aktivieren" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Enable plugins to add URL routes" msgstr "Plugins zum Hinzufügen von URLs aktivieren" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Enable navigation integration" msgstr "Navigations-Integration aktivieren" -#: common/models.py:1129 +#: common/models.py:1136 msgid "Enable plugins to integrate into navigation" msgstr "Plugins zur Integration in die Navigation aktivieren" -#: common/models.py:1136 +#: common/models.py:1143 msgid "Enable app integration" msgstr "App-Integration aktivieren" -#: common/models.py:1137 +#: common/models.py:1144 msgid "Enable plugins to add apps" msgstr "Plugins zum Hinzufügen von Apps aktivieren" -#: common/models.py:1144 +#: common/models.py:1151 msgid "Enable schedule integration" msgstr "Terminplan-Integration aktivieren" -#: common/models.py:1145 +#: common/models.py:1152 msgid "Enable plugins to run scheduled tasks" msgstr "Geplante Aufgaben aktivieren" -#: common/models.py:1152 +#: common/models.py:1159 msgid "Enable event integration" msgstr "Ereignis-Integration aktivieren" -#: common/models.py:1153 +#: common/models.py:1160 msgid "Enable plugins to respond to internal events" msgstr "Plugins ermöglichen auf interne Ereignisse zu reagieren" -#: common/models.py:1170 common/models.py:1492 +#: common/models.py:1177 common/models.py:1499 msgid "Settings key (must be unique - case insensitive" msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)" -#: common/models.py:1192 +#: common/models.py:1199 msgid "Show subscribed parts" msgstr "Abonnierte Teile anzeigen" -#: common/models.py:1193 +#: common/models.py:1200 msgid "Show subscribed parts on the homepage" msgstr "Zeige abonnierte Teile auf der Startseite" -#: common/models.py:1199 +#: common/models.py:1206 msgid "Show subscribed categories" msgstr "Abonnierte Kategorien anzeigen" -#: common/models.py:1200 +#: common/models.py:1207 msgid "Show subscribed part categories on the homepage" msgstr "Zeige abonnierte Teilkategorien auf der Startseite" -#: common/models.py:1206 +#: common/models.py:1213 msgid "Show latest parts" msgstr "Neueste Teile anzeigen" -#: common/models.py:1207 +#: common/models.py:1214 msgid "Show latest parts on the homepage" msgstr "Zeige neueste Teile auf der Startseite" -#: common/models.py:1213 +#: common/models.py:1220 msgid "Recent Part Count" msgstr "Aktuelle Teile-Stände" -#: common/models.py:1214 +#: common/models.py:1221 msgid "Number of recent parts to display on index page" msgstr "Anzahl der neusten Teile auf der Startseite" -#: common/models.py:1220 +#: common/models.py:1227 msgid "Show unvalidated BOMs" msgstr "Nicht validierte Stücklisten anzeigen" -#: common/models.py:1221 +#: common/models.py:1228 msgid "Show BOMs that await validation on the homepage" msgstr "Zeige Stücklisten, die noch nicht validiert sind, auf der Startseite" -#: common/models.py:1227 +#: common/models.py:1234 msgid "Show recent stock changes" msgstr "Neueste Bestandänderungen anzeigen" -#: common/models.py:1228 +#: common/models.py:1235 msgid "Show recently changed stock items on the homepage" msgstr "Zeige zuletzt geänderte Lagerbestände auf der Startseite" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Recent Stock Count" msgstr "aktueller Bestand" -#: common/models.py:1235 +#: common/models.py:1242 msgid "Number of recent stock items to display on index page" msgstr "Anzahl des geänderten Bestands auf der Startseite" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Show low stock" msgstr "Niedrigen Bestand anzeigen" -#: common/models.py:1242 +#: common/models.py:1249 msgid "Show low stock items on the homepage" msgstr "Zeige geringen Bestand auf der Startseite" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Show depleted stock" msgstr "Lerren Bestand anzeigen" -#: common/models.py:1249 +#: common/models.py:1256 msgid "Show depleted stock items on the homepage" msgstr "Zeige aufgebrauchte Lagerartikel auf der Startseite" -#: common/models.py:1255 +#: common/models.py:1262 msgid "Show needed stock" msgstr "Benötigten Bestand anzeigen" -#: common/models.py:1256 +#: common/models.py:1263 msgid "Show stock items needed for builds on the homepage" msgstr "Zeige Bestand für Bauaufträge auf der Startseite" -#: common/models.py:1262 +#: common/models.py:1269 msgid "Show expired stock" msgstr "Abgelaufenen Bestand anzeigen" -#: common/models.py:1263 +#: common/models.py:1270 msgid "Show expired stock items on the homepage" msgstr "Zeige abgelaufene Lagerbestände auf der Startseite" -#: common/models.py:1269 +#: common/models.py:1276 msgid "Show stale stock" msgstr "Alten Bestand anzeigen" -#: common/models.py:1270 +#: common/models.py:1277 msgid "Show stale stock items on the homepage" msgstr "Zeige überfällige Lagerartikel auf der Startseite" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Show pending builds" msgstr "Ausstehende Bauaufträge anzeigen" -#: common/models.py:1277 +#: common/models.py:1284 msgid "Show pending builds on the homepage" msgstr "Zeige ausstehende Bauaufträge auf der Startseite" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Show overdue builds" msgstr "Zeige überfällige Bauaufträge" -#: common/models.py:1284 +#: common/models.py:1291 msgid "Show overdue builds on the homepage" msgstr "Zeige überfällige Bauaufträge auf der Startseite" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Show outstanding POs" msgstr "Ausstehende POs anzeigen" -#: common/models.py:1291 +#: common/models.py:1298 msgid "Show outstanding POs on the homepage" msgstr "Zeige ausstehende POs auf der Startseite" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Show overdue POs" msgstr "Überfällige POs anzeigen" -#: common/models.py:1298 +#: common/models.py:1305 msgid "Show overdue POs on the homepage" msgstr "Zeige überfällige POs auf der Startseite" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Show outstanding SOs" msgstr "Ausstehende SOs anzeigen" -#: common/models.py:1305 +#: common/models.py:1312 msgid "Show outstanding SOs on the homepage" msgstr "Zeige ausstehende SOs auf der Startseite" -#: common/models.py:1311 +#: common/models.py:1318 msgid "Show overdue SOs" msgstr "Überfällige SOs anzeigen" -#: common/models.py:1312 +#: common/models.py:1319 msgid "Show overdue SOs on the homepage" msgstr "Zeige überfällige SOs auf der Startseite" -#: common/models.py:1317 +#: common/models.py:1324 msgid "Enable label printing" msgstr "Labeldruck aktivieren" -#: common/models.py:1318 +#: common/models.py:1325 msgid "Enable label printing from the web interface" msgstr "Labeldruck über die Website aktivieren" -#: common/models.py:1324 +#: common/models.py:1331 msgid "Inline label display" msgstr "Label inline anzeigen" -#: common/models.py:1325 +#: common/models.py:1332 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:1331 +#: common/models.py:1338 msgid "Inline report display" msgstr "Berichte inline anzeigen" -#: common/models.py:1332 +#: common/models.py:1339 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:1338 +#: common/models.py:1345 msgid "Search Parts" msgstr "Teile suchen" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Display parts in search preview window" msgstr "Teile in der Suchvorschau anzeigen" -#: common/models.py:1345 +#: common/models.py:1352 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1359 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1366 msgid "Hide Inactive Parts" msgstr "Inaktive Teile ausblenden" -#: common/models.py:1360 +#: common/models.py:1367 msgid "Excluded inactive parts from search preview window" msgstr "Inaktive Teile in der Suchvorschau ausblenden" -#: common/models.py:1366 +#: common/models.py:1373 msgid "Search Categories" msgstr "Kategorien durchsuchen" -#: common/models.py:1367 +#: common/models.py:1374 msgid "Display part categories in search preview window" msgstr "Teilekategorien in der Suchvorschau anzeigen" -#: common/models.py:1373 +#: common/models.py:1380 msgid "Search Stock" msgstr "Bestand durchsuchen" -#: common/models.py:1374 +#: common/models.py:1381 msgid "Display stock items in search preview window" msgstr "Lagerartikel in Suchvorschau anzeigen" -#: common/models.py:1380 +#: common/models.py:1387 msgid "Hide Unavailable Stock Items" msgstr "Nicht verfügbare Artikel ausblenden" -#: common/models.py:1381 +#: common/models.py:1388 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:1387 +#: common/models.py:1394 msgid "Search Locations" msgstr "Lagerorte durchsuchen" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Display stock locations in search preview window" msgstr "Lagerorte in Suchvorschau anzeigen" -#: common/models.py:1394 +#: common/models.py:1401 msgid "Search Companies" msgstr "Firmen durchsuchen" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Display companies in search preview window" msgstr "Firmen in der Suchvorschau anzeigen" -#: common/models.py:1401 +#: common/models.py:1408 msgid "Search Purchase Orders" msgstr "Bestellungen durchsuchen" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Display purchase orders in search preview window" msgstr "Bestellungen in der Suchvorschau anzeigen" -#: common/models.py:1408 +#: common/models.py:1415 msgid "Exclude Inactive Purchase Orders" msgstr "Inaktive Bestellungen ausblenden" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inaktive Bestellungen in der Suchvorschau ausblenden" -#: common/models.py:1415 +#: common/models.py:1422 msgid "Search Sales Orders" msgstr "Aufträge durchsuchen" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Display sales orders in search preview window" msgstr "Aufträge in der Suchvorschau anzeigen" -#: common/models.py:1422 +#: common/models.py:1429 msgid "Exclude Inactive Sales Orders" msgstr "Inaktive Aufträge ausblenden" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Exclude inactive sales orders from search preview window" msgstr "Inaktive Aufträge in der Suchvorschau ausblenden" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Search Preview Results" msgstr "Anzahl Suchergebnisse" -#: common/models.py:1430 +#: common/models.py:1437 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:1436 +#: common/models.py:1443 msgid "Show Quantity in Forms" msgstr "zeige Bestand in Eingabemasken" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Display available part quantity in some forms" msgstr "Zeige den verfügbaren Bestand in einigen Eingabemasken" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Escape Key Closes Forms" msgstr "Esc-Taste schließt Formulare" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Use the escape key to close modal forms" msgstr "Benutze die Esc-Taste, um Formulare zu schließen" -#: common/models.py:1450 +#: common/models.py:1457 msgid "Fixed Navbar" msgstr "Fixierter Navigationsleiste" -#: common/models.py:1451 +#: common/models.py:1458 msgid "The navbar position is fixed to the top of the screen" msgstr "Position der Navigationsleiste am oberen Bildschirmrand fixieren" -#: common/models.py:1457 +#: common/models.py:1464 msgid "Date Format" msgstr "Datumsformat" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Preferred format for displaying dates" msgstr "Bevorzugtes Format für die Anzeige von Daten" -#: common/models.py:1472 part/templates/part/detail.html:39 +#: common/models.py:1479 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "Teilzeitplanung" -#: common/models.py:1473 +#: common/models.py:1480 msgid "Display part scheduling information" msgstr "Zeige Zeitplanung für Teile" -#: common/models.py:1537 company/forms.py:37 +#: common/models.py:1544 company/forms.py:37 msgid "Price break quantity" msgstr "Preisstaffelungs Anzahl" -#: 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 +#: common/models.py:1551 company/serializers.py:290 +#: company/templates/company/supplier_part.html:263 order/models.py:965 +#: templates/js/translated/part.js:1042 templates/js/translated/part.js:2070 msgid "Price" msgstr "Preis" -#: common/models.py:1545 +#: common/models.py:1552 msgid "Unit price at specified quantity" msgstr "Stückpreis für die angegebene Anzahl" -#: common/models.py:1705 common/models.py:1883 +#: common/models.py:1712 common/models.py:1890 msgid "Endpoint" msgstr "Endpunkt" -#: common/models.py:1706 +#: common/models.py:1713 msgid "Endpoint at which this webhook is received" msgstr "Endpunkt, an dem dieser Webhook empfangen wird" -#: common/models.py:1715 +#: common/models.py:1722 msgid "Name for this webhook" msgstr "Name für diesen Webhook" -#: common/models.py:1720 part/models.py:911 plugin/models.py:99 +#: common/models.py:1727 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 @@ -2457,79 +2474,89 @@ msgstr "Name für diesen Webhook" msgid "Active" msgstr "Aktiv" -#: common/models.py:1721 +#: common/models.py:1728 msgid "Is this webhook active" msgstr "Ist dieser Webhook aktiv" -#: common/models.py:1735 +#: common/models.py:1742 msgid "Token" msgstr "Token" -#: common/models.py:1736 +#: common/models.py:1743 msgid "Token for access" msgstr "Token für Zugang" -#: common/models.py:1743 +#: common/models.py:1750 msgid "Secret" msgstr "Geheimnis" -#: common/models.py:1744 +#: common/models.py:1751 msgid "Shared secret for HMAC" msgstr "Shared Secret für HMAC" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Message ID" msgstr "Nachrichten-ID" -#: common/models.py:1851 +#: common/models.py:1858 msgid "Unique identifier for this message" msgstr "Eindeutige Kennung für diese Nachricht" -#: common/models.py:1859 +#: common/models.py:1866 msgid "Host" msgstr "Host" -#: common/models.py:1860 +#: common/models.py:1867 msgid "Host from which this message was received" msgstr "Host von dem diese Nachricht empfangen wurde" -#: common/models.py:1867 +#: common/models.py:1874 msgid "Header" msgstr "Kopfzeile" -#: common/models.py:1868 +#: common/models.py:1875 msgid "Header of this message" msgstr "Header dieser Nachricht" -#: common/models.py:1874 +#: common/models.py:1881 msgid "Body" msgstr "Body" -#: common/models.py:1875 +#: common/models.py:1882 msgid "Body of this message" msgstr "Body dieser Nachricht" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Endpoint on which this message was received" msgstr "Endpunkt, über den diese Nachricht empfangen wurde" -#: common/models.py:1889 +#: common/models.py:1896 msgid "Worked on" msgstr "Bearbeitet" -#: common/models.py:1890 +#: common/models.py:1897 msgid "Was the work on this message finished?" msgstr "Wurde die Arbeit an dieser Nachricht abgeschlossen?" +#: common/notifications.py:292 +#, python-brace-format +msgid "New {verbose_name}" +msgstr "" + +#: common/notifications.py:294 +#, python-brace-format +msgid "A new {verbose_name} has been created and ,assigned to you" +msgstr "" + #: common/views.py:87 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:191 +#: order/views.py:102 part/views.py:116 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Datei hochgeladen" #: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:192 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:117 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "Übereinstimmende Felder" @@ -2545,19 +2572,19 @@ msgstr "Felder zuteilen fehlgeschlagen" msgid "Parts imported" msgstr "Teile importiert" -#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:511 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:16 part/forms.py:21 +#: company/forms.py:16 part/forms.py:18 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: company/forms.py:17 part/forms.py:22 +#: company/forms.py:17 part/forms.py:19 msgid "Image URL" msgstr "Bild-URL" @@ -2571,7 +2598,7 @@ msgstr "Firmenbeschreibung" #: company/models.py:104 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:405 +#: templates/js/translated/company.js:399 msgid "Website" msgstr "Website" @@ -2644,9 +2671,9 @@ msgstr "ist Hersteller" msgid "Does this company manufacture parts?" msgstr "Produziert diese Firma Teile?" -#: 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 +#: company/models.py:144 company/serializers.py:296 +#: company/templates/company/company_base.html:106 part/serializers.py:139 +#: part/serializers.py:170 stock/serializers.py:162 msgid "Currency" msgstr "Währung" @@ -2667,10 +2694,10 @@ msgstr "Teil auswählen" #: 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: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/company.js:383 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:617 +#: templates/js/translated/company.js:902 templates/js/translated/part.js:235 #: templates/js/translated/table_filters.js:411 msgid "Manufacturer" msgstr "Hersteller" @@ -2681,11 +2708,11 @@ msgstr "Hersteller auswählen" #: 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 -#: 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 +#: templates/js/translated/company.js:256 +#: templates/js/translated/company.js:483 +#: templates/js/translated/company.js:633 +#: templates/js/translated/company.js:920 templates/js/translated/order.js:1907 +#: templates/js/translated/part.js:246 templates/js/translated/part.js:1000 msgid "MPN" msgstr "MPN" @@ -2714,9 +2741,9 @@ msgstr "Parametername" #: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2080 templates/js/translated/company.js:540 -#: templates/js/translated/company.js:763 templates/js/translated/part.js:776 -#: templates/js/translated/stock.js:1294 +#: stock/models.py:2084 templates/js/translated/company.js:531 +#: templates/js/translated/company.js:748 templates/js/translated/part.js:820 +#: templates/js/translated/stock.js:1304 msgid "Value" msgstr "Wert" @@ -2724,10 +2751,10 @@ msgstr "Wert" msgid "Parameter value" msgstr "Parameterwert" -#: company/models.py:368 part/models.py:878 part/models.py:2339 +#: company/models.py:368 part/models.py:878 part/models.py:2327 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:351 -#: templates/js/translated/company.js:769 templates/js/translated/part.js:782 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:826 msgid "Units" msgstr "Einheiten" @@ -2740,13 +2767,14 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" #: company/models.py:487 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:303 +#: company/templates/company/supplier_part.html:87 order/models.py:308 #: 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 -#: 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/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:255 +#: templates/js/translated/company.js:387 +#: templates/js/translated/company.js:876 templates/js/translated/order.js:1643 +#: templates/js/translated/part.js:216 templates/js/translated/part.js:968 #: templates/js/translated/table_filters.js:415 msgid "Supplier" msgstr "Zulieferer" @@ -2756,9 +2784,9 @@ msgid "Select supplier" msgstr "Zulieferer auswählen" #: 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 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:254 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 -#: templates/js/translated/part.js:942 +#: templates/js/translated/part.js:986 msgid "SKU" msgstr "SKU (Lagerbestandseinheit)" @@ -2779,23 +2807,23 @@ msgid "Supplier part description" msgstr "Zuliefererbeschreibung des Teils" #: company/models.py:518 company/templates/company/supplier_part.html:125 -#: part/models.py:2573 part/templates/part/upload_bom.html:59 +#: part/models.py:2561 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:387 msgid "Note" msgstr "Notiz" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "base cost" msgstr "Basiskosten" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "Minimum charge (e.g. stocking fee)" msgstr "Mindestpreis" #: 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 +#: templates/js/translated/company.js:952 templates/js/translated/stock.js:1922 msgid "Packaging" msgstr "Verpackungen" @@ -2803,7 +2831,7 @@ msgstr "Verpackungen" msgid "Part packaging" msgstr "Teile-Verpackungen" -#: company/models.py:526 part/models.py:1690 +#: company/models.py:526 part/models.py:1685 msgid "multiple" msgstr "Vielfache" @@ -2825,7 +2853,7 @@ msgstr "Währungscode" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:177 templates/js/translated/company.js:378 +#: templates/InvenTree/search.html:177 templates/js/translated/company.js:372 msgid "Company" msgstr "Firma" @@ -2843,7 +2871,7 @@ msgid "Edit company information" msgstr "Firmeninformation bearbeiten" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:321 +#: templates/js/translated/company.js:315 msgid "Edit Company" msgstr "Firma bearbeiten" @@ -2866,12 +2894,13 @@ msgstr "Neues Bild hochladen" msgid "Download image from URL" msgstr "Bild von URL herunterladen" -#: company/templates/company/company_base.html:86 order/models.py:649 +#: company/templates/company/company_base.html:86 order/models.py:665 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:758 +#: stock/models.py:628 stock/serializers.py:745 #: 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 +#: templates/email/overdue_sales_order.html:16 +#: templates/js/translated/company.js:379 templates/js/translated/order.js:2458 +#: templates/js/translated/stock.js:2441 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "Kunde" @@ -2999,7 +3028,7 @@ msgid "Supplier List" msgstr "Zulieferer-Liste" #: company/templates/company/manufacturer_part.html:15 company/views.py:45 -#: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 +#: part/templates/part/prices.html:172 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" msgstr "Hersteller" @@ -3012,12 +3041,12 @@ msgid "Order part" msgstr "Teil bestellen" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:680 +#: templates/js/translated/company.js:665 msgid "Edit manufacturer part" msgstr "Herstellerteil bearbeiten" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:681 +#: templates/js/translated/company.js:666 msgid "Delete manufacturer part" msgstr "Herstellerteil löschen" @@ -3032,7 +3061,7 @@ msgstr "Keine Herstellerdaten verfügbar" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:39 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 +#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" msgstr "Zulieferer" @@ -3092,18 +3121,18 @@ msgstr "Zugewiesene Lagerartikel" #: company/templates/company/supplier_part.html:7 #: 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 +#: templates/js/translated/company.js:892 templates/js/translated/order.js:884 +#: templates/js/translated/stock.js:1879 msgid "Supplier Part" msgstr "Zuliefererteil" #: company/templates/company/supplier_part.html:38 -#: templates/js/translated/company.js:980 +#: templates/js/translated/company.js:965 msgid "Edit supplier part" msgstr "Zuliefererteil bearbeiten" #: company/templates/company/supplier_part.html:42 -#: templates/js/translated/company.js:981 +#: templates/js/translated/company.js:966 msgid "Delete supplier part" msgstr "Zuliefererteil entfernen" @@ -3123,7 +3152,7 @@ msgstr "Neuen Lagerartikel hinzufügen" #: company/templates/company/supplier_part.html:148 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 -#: templates/js/translated/stock.js:380 +#: templates/js/translated/stock.js:379 msgid "New Stock Item" msgstr "Neuer Lagerartikel" @@ -3144,7 +3173,7 @@ msgstr "Preisinformationen ansehen" #: company/templates/company/supplier_part.html:191 #: company/templates/company/supplier_part.html:305 -#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046 +#: part/templates/part/prices.html:276 templates/js/translated/part.js:2142 msgid "Add Price Break" msgstr "Preisstaffel hinzufügen" @@ -3153,12 +3182,12 @@ msgid "No price break information found" msgstr "Keine Informationen zur Preisstaffel gefunden" #: company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2152 msgid "Delete Price Break" msgstr "Preisstaffel löschen" #: company/templates/company/supplier_part.html:245 -#: templates/js/translated/part.js:2070 +#: templates/js/translated/part.js:2166 msgid "Edit Price Break" msgstr "Preisstaffel bearbeiten" @@ -3180,9 +3209,9 @@ msgstr "Zuletzt aktualisiert" #: stock/templates/stock/stock_app_base.html:10 #: 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:1687 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:722 +#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1431 +#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 msgid "Stock" msgstr "Bestand" @@ -3209,7 +3238,7 @@ msgstr "Bepreisung" #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 -#: templates/js/translated/stock.js:2307 users/models.py:39 +#: templates/js/translated/stock.js:2317 users/models.py:39 msgid "Stock Items" msgstr "Lagerartikel" @@ -3238,20 +3267,20 @@ msgstr "Firmen" msgid "New Company" msgstr "Neue Firma" -#: company/views.py:112 part/views.py:576 +#: company/views.py:112 part/views.py:501 msgid "Download Image" msgstr "Bild herunterladen" -#: company/views.py:139 part/views.py:606 +#: company/views.py:139 part/views.py:531 msgid "Image size exceeds maximum allowable size for download" msgstr "Bildgröße überschreitet maximal-erlaubte Größe für Downloads" -#: company/views.py:146 part/views.py:613 +#: company/views.py:146 part/views.py:538 #, python-brace-format msgid "Invalid response: {code}" msgstr "Ungültige Antwort {code}" -#: company/views.py:155 part/views.py:622 +#: company/views.py:155 part/views.py:547 msgid "Supplied URL is not a valid image file" msgstr "Angegebene URL ist kein gültiges Bild" @@ -3320,313 +3349,314 @@ msgstr "Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "Teile-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: order/models.py:133 +#: order/models.py:134 msgid "Order description" msgstr "Bestellungs-Beschreibung" -#: order/models.py:135 order/models.py:1236 +#: order/models.py:136 order/models.py:1252 msgid "Link to external page" msgstr "Link auf externe Seite" -#: order/models.py:143 +#: order/models.py:144 msgid "Created By" msgstr "Erstellt von" -#: order/models.py:150 +#: order/models.py:151 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:155 +#: order/models.py:156 msgid "Order notes" msgstr "Bestell-Notizen" -#: order/models.py:289 order/models.py:639 +#: order/models.py:294 order/models.py:655 msgid "Order reference" msgstr "Bestell-Referenz" -#: order/models.py:294 order/models.py:654 +#: order/models.py:299 order/models.py:670 msgid "Purchase order status" msgstr "Bestellungs-Status" -#: order/models.py:304 +#: order/models.py:309 msgid "Company from which the items are being ordered" msgstr "Firma bei der die Teile bestellt werden" -#: order/models.py:307 order/templates/order/order_base.html:124 +#: order/models.py:312 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "Zulieferer-Referenz" -#: order/models.py:307 +#: order/models.py:312 msgid "Supplier order reference code" msgstr "Zulieferer Bestellreferenz" -#: order/models.py:314 +#: order/models.py:319 msgid "received by" msgstr "Empfangen von" -#: order/models.py:319 +#: order/models.py:324 msgid "Issue Date" msgstr "Aufgabedatum" -#: order/models.py:320 +#: order/models.py:325 msgid "Date order was issued" msgstr "Datum an dem die Bestellung aufgegeben wurde" -#: order/models.py:325 +#: order/models.py:330 msgid "Target Delivery Date" msgstr "Ziel-Versanddatum" -#: order/models.py:326 +#: order/models.py:331 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Geplantes Lieferdatum für Auftrag." -#: order/models.py:332 +#: order/models.py:337 msgid "Date order was completed" msgstr "Datum an dem der Auftrag fertigstellt wurde" -#: order/models.py:368 +#: order/models.py:373 msgid "Part supplier must match PO supplier" msgstr "Teile-Zulieferer muss dem Zulieferer der Bestellung entsprechen" -#: order/models.py:512 +#: order/models.py:517 msgid "Quantity must be a positive number" msgstr "Anzahl muss eine positive Zahl sein" -#: order/models.py:650 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "Firma an die die Teile verkauft werden" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer Reference " msgstr "Kundenreferenz" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer order reference code" msgstr "Bestellreferenz" -#: order/models.py:661 +#: order/models.py:677 msgid "Target date for order completion. Order will be overdue after this date." msgstr "Zieldatum für Auftrags-Fertigstellung." -#: order/models.py:664 order/models.py:1190 +#: order/models.py:680 order/models.py:1206 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "Versanddatum" -#: order/models.py:671 +#: order/models.py:687 msgid "shipped by" msgstr "Versand von" -#: order/models.py:726 +#: order/models.py:742 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:730 +#: order/models.py:746 msgid "Only a pending order can be marked as complete" msgstr "Nur ein ausstehender Auftrag kann als abgeschlossen markiert werden" -#: order/models.py:733 +#: order/models.py:749 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:736 +#: order/models.py:752 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:910 +#: order/models.py:926 msgid "Item quantity" msgstr "Anzahl" -#: order/models.py:916 +#: order/models.py:932 msgid "Line item reference" msgstr "Position - Referenz" -#: order/models.py:918 +#: order/models.py:934 msgid "Line item notes" msgstr "Position - Notizen" -#: order/models.py:923 +#: order/models.py:939 msgid "Target shipping date for this line item" msgstr "Lieferdatum für diese Position" -#: order/models.py:941 +#: order/models.py:957 msgid "Context" msgstr "Kontext" -#: order/models.py:942 +#: order/models.py:958 msgid "Additional context for this line" msgstr "Zusätzlicher Kontext für diese Zeile" -#: order/models.py:950 +#: order/models.py:966 msgid "Unit price" msgstr "Stückpreis" -#: order/models.py:980 +#: order/models.py:996 msgid "Supplier part must match supplier" msgstr "Lieferantenteil muss mit Lieferant übereinstimmen" -#: order/models.py:988 +#: order/models.py:1004 msgid "deleted" msgstr "gelöscht" -#: order/models.py:994 order/models.py:1074 order/models.py:1099 -#: order/models.py:1184 order/models.py:1320 +#: order/models.py:1010 order/models.py:1090 order/models.py:1115 +#: order/models.py:1200 order/models.py:1336 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "Bestellung" -#: order/models.py:995 order/models.py:1074 +#: order/models.py:1011 order/models.py:1090 #: 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/email/overdue_purchase_order.html:15 #: 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 +#: templates/js/translated/part.js:943 templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:2422 msgid "Purchase Order" msgstr "Bestellung" -#: order/models.py:1013 +#: order/models.py:1029 msgid "Supplier part" msgstr "Zuliefererteil" -#: order/models.py:1020 order/templates/order/order_base.html:169 +#: order/models.py:1036 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/part.js:1037 templates/js/translated/part.js:1064 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "Empfangen" -#: order/models.py:1021 +#: order/models.py:1037 msgid "Number of items received" msgstr "Empfangene Objekt-Anzahl" -#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: order/models.py:1044 part/templates/part/prices.html:181 stock/models.py:722 #: stock/serializers.py:153 stock/templates/stock/item_base.html:191 -#: templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:1910 msgid "Purchase Price" msgstr "Preis" -#: order/models.py:1029 +#: order/models.py:1045 msgid "Unit purchase price" msgstr "Preis pro Einheit" -#: order/models.py:1037 +#: order/models.py:1053 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:1109 part/templates/part/part_pricing.html:112 -#: part/templates/part/prices.html:119 part/templates/part/prices.html:288 +#: order/models.py:1125 part/templates/part/part_pricing.html:115 +#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 msgid "Sale Price" msgstr "Verkaufspreis" -#: order/models.py:1110 +#: order/models.py:1126 msgid "Unit sale price" msgstr "Stückverkaufspreis" -#: order/models.py:1115 +#: order/models.py:1131 msgid "Shipped quantity" msgstr "Versendete Menge" -#: order/models.py:1191 +#: order/models.py:1207 msgid "Date of shipment" msgstr "Versanddatum" -#: order/models.py:1198 +#: order/models.py:1214 msgid "Checked By" msgstr "Kontrolliert von" -#: order/models.py:1199 +#: order/models.py:1215 msgid "User who checked this shipment" msgstr "Benutzer, der diese Sendung kontrolliert hat" -#: order/models.py:1207 +#: order/models.py:1223 msgid "Shipment number" msgstr "Sendungsnummer" -#: order/models.py:1214 +#: order/models.py:1230 msgid "Shipment notes" msgstr "Versandhinweise" -#: order/models.py:1221 +#: order/models.py:1237 msgid "Tracking Number" msgstr "Sendungsverfolgungsnummer" -#: order/models.py:1222 +#: order/models.py:1238 msgid "Shipment tracking information" msgstr "Informationen zur Sendungsverfolgung" -#: order/models.py:1229 +#: order/models.py:1245 msgid "Invoice Number" msgstr "Rechnungsnummer" -#: order/models.py:1230 +#: order/models.py:1246 msgid "Reference number for associated invoice" msgstr "Referenznummer für zugehörige Rechnung" -#: order/models.py:1248 +#: order/models.py:1264 msgid "Shipment has already been sent" msgstr "Sendung wurde bereits versandt" -#: order/models.py:1251 +#: order/models.py:1267 msgid "Shipment has no allocated stock items" msgstr "Sendung hat keine zugewiesene Lagerartikel" -#: order/models.py:1354 order/models.py:1356 +#: order/models.py:1370 order/models.py:1372 msgid "Stock item has not been assigned" msgstr "Lagerartikel wurde nicht zugewiesen" -#: order/models.py:1360 +#: order/models.py:1376 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:1362 +#: order/models.py:1378 msgid "Cannot allocate stock to a line without a part" msgstr "Kann Lagerartikel keiner Zeile ohne Teil hinzufügen" -#: order/models.py:1365 +#: order/models.py:1381 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Die zugeordnete Anzahl darf nicht die verfügbare Anzahl überschreiten" -#: order/models.py:1369 +#: order/models.py:1385 msgid "StockItem is over-allocated" msgstr "Zu viele Lagerartikel zugewiesen" -#: order/models.py:1375 order/serializers.py:1045 +#: order/models.py:1391 order/serializers.py:1047 msgid "Quantity must be 1 for serialized stock item" msgstr "Anzahl für serialisierte Lagerartikel muss 1 sein" -#: order/models.py:1378 +#: order/models.py:1394 msgid "Sales order does not match shipment" msgstr "Auftrag gehört nicht zu Sendung" -#: order/models.py:1379 +#: order/models.py:1395 msgid "Shipment does not match sales order" msgstr "Sendung gehört nicht zu Auftrag" -#: order/models.py:1387 +#: order/models.py:1403 msgid "Line" msgstr "Position" -#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 +#: order/models.py:1411 order/serializers.py:1151 order/serializers.py:1275 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "Sendung" -#: order/models.py:1396 +#: order/models.py:1412 msgid "Sales order shipment reference" msgstr "Sendungsnummer-Referenz" -#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1424 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "Position" -#: order/models.py:1409 +#: order/models.py:1425 msgid "Select stock item to allocate" msgstr "Lagerartikel für Zuordnung auswählen" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Enter stock allocation quantity" msgstr "Anzahl für Bestandszuordnung eingeben" @@ -3662,7 +3692,7 @@ msgstr "Lieferant muss mit der Bestellung übereinstimmen" msgid "Purchase order must match supplier" msgstr "Die Bestellung muss mit dem Lieferant übereinstimmen" -#: order/serializers.py:406 order/serializers.py:1117 +#: order/serializers.py:406 order/serializers.py:1119 msgid "Line Item" msgstr "Position" @@ -3710,42 +3740,60 @@ msgstr "Ziel-Lagerort muss angegeben werden" msgid "Supplied barcode values must be unique" msgstr "Barcode muss eindeutig sein" -#: order/serializers.py:866 +#: order/serializers.py:868 msgid "Sale price currency" msgstr "Verkaufspreis-Währung" -#: order/serializers.py:947 +#: order/serializers.py:949 msgid "No shipment details provided" msgstr "Keine Sendungsdetails angegeben" -#: order/serializers.py:1006 order/serializers.py:1126 +#: order/serializers.py:1008 order/serializers.py:1128 msgid "Line item is not associated with this order" msgstr "Position ist nicht diesem Auftrag zugeordnet" -#: order/serializers.py:1028 +#: order/serializers.py:1030 msgid "Quantity must be positive" msgstr "Anzahl muss positiv sein" -#: order/serializers.py:1139 +#: order/serializers.py:1141 msgid "Enter serial numbers to allocate" msgstr "Seriennummern zum Zuweisen eingeben" -#: order/serializers.py:1161 order/serializers.py:1281 +#: order/serializers.py:1163 order/serializers.py:1283 msgid "Shipment has already been shipped" msgstr "Sendung wurde bereits versandt" -#: order/serializers.py:1164 order/serializers.py:1284 +#: order/serializers.py:1166 order/serializers.py:1286 msgid "Shipment is not associated with this order" msgstr "Sendung ist nicht diesem Auftrag zugeordnet" -#: order/serializers.py:1214 +#: order/serializers.py:1216 msgid "No match found for the following serial numbers" msgstr "Folgende Serienummern konnten nicht gefunden werden" -#: order/serializers.py:1224 +#: order/serializers.py:1226 msgid "The following serial numbers are already allocated" msgstr "Folgende Seriennummern sind bereits zugewiesen" +#: order/tasks.py:26 +msgid "Overdue Purchase Order" +msgstr "" + +#: order/tasks.py:31 +#, python-brace-format +msgid "Purchase order {po} is now overdue" +msgstr "" + +#: order/tasks.py:88 +msgid "Overdue Sales Order" +msgstr "" + +#: order/tasks.py:93 +#, python-brace-format +msgid "Sales order {so} is now overdue" +msgstr "" + #: order/templates/order/order_base.html:33 msgid "Print purchase order report" msgstr "Bestellbericht drucken" @@ -3870,8 +3918,8 @@ msgstr "Zulieferer-Teil auswählen" #: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: 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:2731 templates/js/translated/stock.js:570 -#: templates/js/translated/stock.js:738 +#: templates/js/translated/order.js:2731 templates/js/translated/stock.js:569 +#: templates/js/translated/stock.js:737 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Zeile entfernen" @@ -3990,7 +4038,7 @@ msgid "Pending Shipments" msgstr "Ausstehende Sendungen" #: order/templates/order/sales_order_detail.html:70 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1047 #: templates/js/translated/build.js:1880 msgid "Actions" msgstr "Aktionen" @@ -4021,47 +4069,47 @@ msgstr "Stückpreis für {part} auf {price} aktualisiert" 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:481 +#: part/api.py:482 msgid "Incoming Purchase Order" msgstr "Eingehende Bestellung" -#: part/api.py:501 +#: part/api.py:502 msgid "Outgoing Sales Order" msgstr "Ausgehender Auftrag" -#: part/api.py:519 +#: part/api.py:520 msgid "Stock produced by Build Order" msgstr "Lagerartikel produziert von Bauauftrag" -#: part/api.py:551 +#: part/api.py:552 msgid "Stock required for Build Order" msgstr "Lagerartikel für Bauauftrag benötigt" -#: part/api.py:637 +#: part/api.py:638 msgid "Valid" msgstr "Gültig" -#: part/api.py:638 +#: part/api.py:639 msgid "Validate entire Bill of Materials" msgstr "Gesamte Stückliste validieren" -#: part/api.py:644 +#: part/api.py:645 msgid "This option must be selected" msgstr "Diese Option muss ausgewählt werden" -#: part/api.py:1010 +#: part/api.py:1011 msgid "Must be greater than zero" msgstr "Muss größer als 0 sein" -#: part/api.py:1014 +#: part/api.py:1015 msgid "Must be a valid quantity" msgstr "Muss eine gültige Nummer sein" -#: part/api.py:1029 +#: part/api.py:1030 msgid "Specify location for initial part stock" msgstr "Standort für anfänglichen Bestand angeben" -#: part/api.py:1060 part/api.py:1064 part/api.py:1079 part/api.py:1083 +#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 msgid "This field is required" msgstr "Dieses Feld ist erforderlich" @@ -4080,17 +4128,13 @@ msgid "Available Stock" msgstr "Verfügbarer Bestand" #: 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 +#: templates/js/translated/part.js:561 templates/js/translated/part.js:581 +#: templates/js/translated/part.js:1273 templates/js/translated/part.js:1445 +#: templates/js/translated/part.js:1461 msgid "On Order" msgstr "Bestellt" -#: part/forms.py:59 -msgid "Select part category" -msgstr "Teil-Kategorie wählen" - -#: part/forms.py:69 +#: part/forms.py:60 msgid "Input quantity for price calculation" msgstr "Menge für die Preisberechnung" @@ -4106,7 +4150,7 @@ msgstr "Standard Stichwörter" msgid "Default keywords for parts in this category" msgstr "Standard-Stichworte für Teile dieser Kategorie" -#: part/models.py:115 part/models.py:2415 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2403 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Teil-Kategorie" @@ -4123,7 +4167,7 @@ msgstr "Teil-Kategorien" #: 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/js/translated/part.js:1864 templates/js/translated/search.js:144 #: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "Teile" @@ -4153,7 +4197,7 @@ msgstr "Die neuste Seriennummer ist" msgid "Duplicate IPN not allowed in part settings" msgstr "Doppelte IPN in den Teil-Einstellungen nicht erlaubt" -#: part/models.py:738 part/models.py:2469 +#: part/models.py:738 part/models.py:2457 msgid "Part name" msgstr "Name des Teils" @@ -4186,12 +4230,11 @@ msgstr "Schlüsselwörter" msgid "Part keywords to improve visibility in search results" msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" -#: part/models.py:776 part/models.py:2171 part/models.py:2414 +#: part/models.py:776 part/models.py:2159 part/models.py:2402 #: part/templates/part/part_base.html:257 -#: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 #: templates/InvenTree/settings/settings.html:231 -#: templates/js/translated/part.js:1369 +#: templates/js/translated/part.js:1413 templates/js/translated/part.js:1639 msgid "Category" msgstr "Kategorie" @@ -4200,8 +4243,8 @@ msgid "Part category" msgstr "Teile-Kategorie" #: 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 +#: templates/js/translated/part.js:710 templates/js/translated/part.js:1366 +#: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "IPN (Interne Produktnummer)" @@ -4214,7 +4257,7 @@ msgid "Part revision or version number" msgstr "Revisions- oder Versionsnummer" #: part/models.py:790 part/templates/part/part_base.html:273 -#: report/models.py:170 templates/js/translated/part.js:670 +#: report/models.py:170 templates/js/translated/part.js:714 msgid "Revision" msgstr "Version" @@ -4302,317 +4345,321 @@ msgstr "BOM Kontrolldatum" msgid "Creation User" msgstr "Erstellungs-Nutzer" -#: part/models.py:1690 +#: part/models.py:1685 msgid "Sell multiple" msgstr "Mehrere verkaufen" -#: part/models.py:2218 +#: part/models.py:2206 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:2235 +#: part/models.py:2223 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:2255 templates/js/translated/part.js:1819 -#: templates/js/translated/stock.js:1274 +#: part/models.py:2243 templates/js/translated/part.js:1915 +#: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "Test-Name" -#: part/models.py:2256 +#: part/models.py:2244 msgid "Enter a name for the test" msgstr "Namen für diesen Test eingeben" -#: part/models.py:2261 +#: part/models.py:2249 msgid "Test Description" msgstr "Test-Beschreibung" -#: part/models.py:2262 +#: part/models.py:2250 msgid "Enter description for this test" msgstr "Beschreibung für diesen Test eingeben" -#: part/models.py:2267 templates/js/translated/part.js:1828 +#: part/models.py:2255 templates/js/translated/part.js:1924 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "Benötigt" -#: part/models.py:2268 +#: part/models.py:2256 msgid "Is this test required to pass?" msgstr "Muss dieser Test erfolgreich sein?" -#: part/models.py:2273 templates/js/translated/part.js:1836 +#: part/models.py:2261 templates/js/translated/part.js:1932 msgid "Requires Value" msgstr "Erfordert Wert" -#: part/models.py:2274 +#: part/models.py:2262 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:2279 templates/js/translated/part.js:1843 +#: part/models.py:2267 templates/js/translated/part.js:1939 msgid "Requires Attachment" msgstr "Anhang muss eingegeben werden" -#: part/models.py:2280 +#: part/models.py:2268 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:2288 +#: part/models.py:2276 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "Ungültiges Zeichen im Vorlagename ({c})" -#: part/models.py:2324 +#: part/models.py:2312 msgid "Parameter template name must be unique" msgstr "Vorlagen-Name des Parameters muss eindeutig sein" -#: part/models.py:2332 +#: part/models.py:2320 msgid "Parameter Name" msgstr "Name des Parameters" -#: part/models.py:2339 +#: part/models.py:2327 msgid "Parameter Units" msgstr "Einheit des Parameters" -#: part/models.py:2370 +#: part/models.py:2358 msgid "Parent Part" msgstr "Ausgangsteil" -#: part/models.py:2372 part/models.py:2420 part/models.py:2421 +#: part/models.py:2360 part/models.py:2408 part/models.py:2409 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "Parameter Vorlage" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Data" msgstr "Wert" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Parameter Value" msgstr "Parameter Wert" -#: part/models.py:2425 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2413 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "Standard-Wert" -#: part/models.py:2426 +#: part/models.py:2414 msgid "Default Parameter Value" msgstr "Standard Parameter Wert" -#: part/models.py:2461 +#: part/models.py:2449 msgid "Part ID or part name" msgstr "Teilnummer oder Teilname" -#: part/models.py:2464 templates/js/translated/model_renderers.js:200 +#: part/models.py:2452 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "Teil-ID" -#: part/models.py:2465 +#: part/models.py:2453 msgid "Unique part ID value" msgstr "Eindeutige Teil-ID" -#: part/models.py:2468 +#: part/models.py:2456 msgid "Part Name" msgstr "Name des Teils" -#: part/models.py:2472 +#: part/models.py:2460 msgid "Part IPN" msgstr "Teil-ID" -#: part/models.py:2473 +#: part/models.py:2461 msgid "Part IPN value" msgstr "IPN-Wert des Teils" -#: part/models.py:2476 +#: part/models.py:2464 msgid "Level" msgstr "Stufe" -#: part/models.py:2477 +#: part/models.py:2465 msgid "BOM level" msgstr "Stücklistenebene" -#: part/models.py:2546 +#: part/models.py:2534 msgid "Select parent part" msgstr "Ausgangsteil auswählen" -#: part/models.py:2554 +#: part/models.py:2542 msgid "Sub part" msgstr "Untergeordnetes Teil" -#: part/models.py:2555 +#: part/models.py:2543 msgid "Select part to be used in BOM" msgstr "Teil für die Nutzung in der Stückliste auswählen" -#: part/models.py:2561 +#: part/models.py:2549 msgid "BOM quantity for this BOM item" msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil" -#: part/models.py:2563 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 +#: part/models.py:2551 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:871 templates/js/translated/bom.js:965 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "Optional" -#: part/models.py:2563 +#: part/models.py:2551 msgid "This BOM item is optional" msgstr "Diese Stücklisten-Position ist optional" -#: part/models.py:2566 part/templates/part/upload_bom.html:55 +#: part/models.py:2554 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Überschuss" -#: part/models.py:2567 +#: part/models.py:2555 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Geschätzter Ausschuss (absolut oder prozentual)" -#: part/models.py:2570 +#: part/models.py:2558 msgid "BOM item reference" msgstr "Referenz der Postion auf der Stückliste" -#: part/models.py:2573 +#: part/models.py:2561 msgid "BOM item notes" msgstr "Notizen zur Stücklisten-Position" -#: part/models.py:2575 +#: part/models.py:2563 msgid "Checksum" msgstr "Prüfsumme" -#: part/models.py:2575 +#: part/models.py:2563 msgid "BOM line checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:2579 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:988 +#: part/models.py:2567 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:982 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "Geerbt" -#: part/models.py:2580 +#: part/models.py:2568 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:2585 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:980 +#: part/models.py:2573 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:974 msgid "Allow Variants" msgstr "Varianten zulassen" -#: part/models.py:2586 +#: part/models.py:2574 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:2664 stock/models.py:460 +#: part/models.py:2652 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "Menge muss eine Ganzzahl sein" -#: part/models.py:2673 part/models.py:2675 +#: part/models.py:2661 part/models.py:2663 msgid "Sub part must be specified" msgstr "Zuliefererteil muss festgelegt sein" -#: part/models.py:2780 +#: part/models.py:2768 msgid "BOM Item Substitute" msgstr "Stücklisten Ersatzteile" -#: part/models.py:2801 +#: part/models.py:2789 msgid "Substitute part cannot be the same as the master part" msgstr "Ersatzteil kann nicht identisch mit dem Hauptteil sein" -#: part/models.py:2814 +#: part/models.py:2802 msgid "Parent BOM item" msgstr "Übergeordnete Stücklisten Position" -#: part/models.py:2822 +#: part/models.py:2810 msgid "Substitute part" msgstr "Ersatzteil" -#: part/models.py:2833 +#: part/models.py:2825 msgid "Part 1" msgstr "Teil 1" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Part 2" msgstr "Teil 2" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Select Related Part" msgstr "verknüpftes Teil auswählen" -#: part/models.py:2868 -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/models.py:2847 +msgid "Part relationship cannot be created between a part and itself" +msgstr "" -#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 +#: part/models.py:2851 +msgid "Duplicate relationship already exists" +msgstr "" + +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "Kaufwährung dieses Lagerartikels" -#: part/serializers.py:794 +#: part/serializers.py:796 msgid "Select part to copy BOM from" msgstr "Bauteil auswählen, von dem Stückliste kopiert wird" -#: part/serializers.py:802 +#: part/serializers.py:804 msgid "Remove Existing Data" msgstr "Bestehende Daten entfernen" -#: part/serializers.py:803 +#: part/serializers.py:805 msgid "Remove existing BOM items before copying" msgstr "Bestehende Stücklisten-Positionen vor dem Kopieren entfernen" -#: part/serializers.py:808 +#: part/serializers.py:810 msgid "Include Inherited" msgstr "Vererbtes einschließen" -#: part/serializers.py:809 +#: part/serializers.py:811 msgid "Include BOM items which are inherited from templated parts" msgstr "Stücklisten-Positionen einbeziehen, die von Vorlage-Teilen geerbt werden" -#: part/serializers.py:814 +#: part/serializers.py:816 msgid "Skip Invalid Rows" msgstr "Ungültige Zeilen überspringen" -#: part/serializers.py:815 +#: part/serializers.py:817 msgid "Enable this option to skip invalid rows" msgstr "Aktiviere diese Option, um ungültige Zeilen zu überspringen" -#: part/serializers.py:820 +#: part/serializers.py:822 msgid "Copy Substitute Parts" msgstr "Ersatzteile kopieren" -#: part/serializers.py:821 +#: part/serializers.py:823 msgid "Copy substitute parts when duplicate BOM items" msgstr "Ersatzteile beim Duplizieren von Stücklisten-Positionen kopieren" -#: part/serializers.py:861 +#: part/serializers.py:863 msgid "Clear Existing BOM" msgstr "Bestehende Stückliste löschen" -#: part/serializers.py:862 +#: part/serializers.py:864 msgid "Delete existing BOM items before uploading" msgstr "Bestehende Stücklisten-Positionen vor dem Importieren entfernen" -#: part/serializers.py:892 +#: part/serializers.py:894 msgid "No part column specified" msgstr "Keine Bauteilspalte angegeben" -#: part/serializers.py:935 +#: part/serializers.py:937 msgid "Multiple matching parts found" msgstr "Mehrere übereinstimmende Teile gefunden" -#: part/serializers.py:938 +#: part/serializers.py:940 msgid "No matching part found" msgstr "Keine passenden Teile gefunden" -#: part/serializers.py:941 +#: part/serializers.py:943 msgid "Part is not designated as a component" msgstr "Teil ist nicht als Komponente angelegt" -#: part/serializers.py:950 +#: part/serializers.py:952 msgid "Quantity not provided" msgstr "Menge nicht angegeben" -#: part/serializers.py:958 +#: part/serializers.py:960 msgid "Invalid quantity" msgstr "Ungültige Menge" -#: part/serializers.py:979 +#: part/serializers.py:981 msgid "At least one BOM item is required" msgstr "Mindestens eine Stückliste-Position ist erforderlich" @@ -5088,10 +5135,10 @@ msgid "Part is virtual (not a physical part)" msgstr "Teil ist virtuell (kein physisches Teil)" #: part/templates/part/part_base.html:143 -#: templates/js/translated/company.js:623 -#: templates/js/translated/company.js:882 +#: templates/js/translated/company.js:608 +#: templates/js/translated/company.js:867 #: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:658 +#: templates/js/translated/part.js:625 templates/js/translated/part.js:702 msgid "Inactive" msgstr "Inaktiv" @@ -5120,13 +5167,13 @@ msgstr "Zu Bauaufträgen zugeordnet" msgid "Allocated to Sales Orders" msgstr "Zur Bestellung zugeordnet" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1009 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1003 msgid "Can Build" msgstr "Herstellbar" -#: part/templates/part/part_base.html:238 templates/js/translated/part.js:520 -#: templates/js/translated/part.js:540 templates/js/translated/part.js:1233 -#: templates/js/translated/part.js:1405 templates/js/translated/part.js:1421 +#: part/templates/part/part_base.html:238 templates/js/translated/part.js:564 +#: templates/js/translated/part.js:584 templates/js/translated/part.js:1277 +#: templates/js/translated/part.js:1449 templates/js/translated/part.js:1465 msgid "Building" msgstr "Im Bau" @@ -5143,7 +5190,7 @@ msgstr "letzte Seriennummer" msgid "Search for serial number" msgstr "Nach Seriennummer suchen" -#: part/templates/part/part_base.html:443 part/templates/part/prices.html:147 +#: part/templates/part/part_base.html:443 part/templates/part/prices.html:149 msgid "Calculate" msgstr "Berechnen" @@ -5161,54 +5208,55 @@ msgstr "Zulieferer-Preise" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:106 -#: part/templates/part/prices.html:123 +#: part/templates/part/part_pricing.html:103 +#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 +#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Unit Cost" msgstr "Stückpreis" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:104 -#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:111 -#: part/templates/part/prices.html:128 +#: part/templates/part/part_pricing.html:107 +#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 +#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 +#: part/templates/part/prices.html:130 msgid "Total Cost" msgstr "Gesamtkosten" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:963 +#: templates/js/translated/bom.js:957 msgid "No supplier pricing available" msgstr "Keine Zulieferer-Preise verfügbar" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:246 +#: part/templates/part/prices.html:248 msgid "BOM Pricing" msgstr "Stücklistenpreise" -#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 msgid "Unit Purchase Price" msgstr "Kaufpreis pro Einheit" -#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 msgid "Total Purchase Price" msgstr "Gesamter Kaufpreis" -#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:89 +#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 msgid "Note: BOM pricing is incomplete for this part" msgstr "Anmerkung: Stücklistenbepreisung für dieses Teil ist unvollständig" -#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:96 +#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 msgid "No BOM pricing available" msgstr "Keine Stücklisten-Preise verfügbar" -#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:105 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/prices.html:107 msgid "Internal Price" msgstr "Interner Preis" -#: part/templates/part/part_pricing.html:128 -#: part/templates/part/prices.html:137 +#: part/templates/part/part_pricing.html:131 +#: part/templates/part/prices.html:139 msgid "No pricing information is available for this part." msgstr "Keine Preise für dieses Teil verfügbar" @@ -5232,45 +5280,6 @@ msgstr "Testvorlagen" msgid "Select from existing images" msgstr "Aus vorhandenen Bildern auswählen" -#: part/templates/part/partial_delete.html:9 -#, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" -"
Disable the \"Active\" part attribute and re-try.\n" -" " -msgstr "Teil '%(full_name)s' kann nicht gelöscht werden, da er noch als aktivmarkiert ist.\n" -"
Deaktivieren Sie das Attribut \"Aktiv\" und versuchen Sie es erneut.\n" -" " - -#: part/templates/part/partial_delete.html:17 -#, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" -msgstr "Sind Sie sicher, dass Sie das Teil '%(full_name)s' löschen wollen?" - -#: part/templates/part/partial_delete.html:22 -#, python-format -msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" -msgstr "Dieser Teil wird in Stücklisten für %(count)s andere Teile verwendet. Wenn Sie dieses Teil löschen, werden die Stücklisten für die folgenden Teile aktualisiert" - -#: part/templates/part/partial_delete.html:32 -#, python-format -msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" -msgstr "Es sind %(count)s Lagerartikel für diesen Teil definiert. Wenn Sie diesen Teil löschen, werden auch die folgenden Lagerartikel gelöscht:" - -#: part/templates/part/partial_delete.html:43 -#, python-format -msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" -msgstr "Es sind %(count)s Hersteller für diesen Teil definiert. Wenn Sie diesen Teil löschen, werden auch die folgenden Herstellerteile gelöscht:" - -#: part/templates/part/partial_delete.html:54 -#, python-format -msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" -msgstr "Es sind %(count)s Zulieferer für diesen Teil definiert. Wenn Sie diesen Teil löschen, werden auch die folgenden Zuliefererteile gelöscht:" - -#: part/templates/part/partial_delete.html:67 -#, python-format -msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." -msgstr "Es gibt %(count)s einzigartige Teile, die für '%(full_name)s' verfolgt werden. Das Löschen dieses Teils wird diese Tracking-Informationen dauerhaft entfernen." - #: part/templates/part/prices.html:19 msgid "Pricing ranges" msgstr "Preisspannen" @@ -5287,66 +5296,58 @@ msgstr "Einkaufpreis anzeigen" msgid "Show BOM cost" msgstr "Stücklisten-Kosten" -#: part/templates/part/prices.html:120 +#: part/templates/part/prices.html:122 msgid "Show sale cost" msgstr "Verkaufskosten anzeigen" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:123 msgid "Show sale price" msgstr "Verkaufspreis anzeigen" -#: part/templates/part/prices.html:143 +#: part/templates/part/prices.html:145 msgid "Calculation parameters" msgstr "Berechnungsparameter" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:957 +#: part/templates/part/prices.html:160 templates/js/translated/bom.js:951 msgid "Supplier Cost" msgstr "Zuliefererkosten" -#: part/templates/part/prices.html:159 part/templates/part/prices.html:180 -#: part/templates/part/prices.html:204 part/templates/part/prices.html:234 -#: part/templates/part/prices.html:260 part/templates/part/prices.html:289 +#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 +#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 +#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 msgid "Jump to overview" msgstr "Zur Übersicht gehen" -#: part/templates/part/prices.html:184 +#: part/templates/part/prices.html:186 msgid "Stock Pricing" msgstr "Bestandspreise" -#: part/templates/part/prices.html:193 +#: part/templates/part/prices.html:195 msgid "No stock pricing history is available for this part." msgstr "Für dieses Teil sind keine Bestandspreise verfügbar." -#: part/templates/part/prices.html:203 +#: part/templates/part/prices.html:205 msgid "Internal Cost" msgstr "Interne Kosten" -#: part/templates/part/prices.html:218 +#: part/templates/part/prices.html:220 msgid "Add Internal Price Break" msgstr "Interne Preisspanne hinzufügen" -#: part/templates/part/prices.html:233 +#: part/templates/part/prices.html:235 msgid "BOM Cost" msgstr "Stücklistenkosten" -#: part/templates/part/prices.html:259 +#: part/templates/part/prices.html:261 msgid "Sale Cost" msgstr "Verkaufskosten" -#: part/templates/part/prices.html:300 +#: part/templates/part/prices.html:302 msgid "No sale pice history available for this part." msgstr "Keine Verkaufsgeschichte für diesen Teil verfügbar." -#: part/templates/part/set_category.html:9 -msgid "Set category for the following parts" -msgstr "Kategorie für Teile setzen" - -#: part/templates/part/set_category.html:32 -msgid "Remove part" -msgstr "Teil entfernen" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543 -#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:587 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:1469 msgid "No Stock" msgstr "Kein Bestand" @@ -5409,56 +5410,39 @@ msgstr "Unbekannte Datenbank" msgid "{title} v{version}" msgstr "{title} v{version}" -#: part/views.py:74 -msgid "Set Part Category" -msgstr "Teil-Kategorie auswählen" - -#: part/views.py:122 -#, python-brace-format -msgid "Set category for {n} parts" -msgstr "Kategorie für {n} Teile setzen" - -#: part/views.py:193 +#: part/views.py:118 msgid "Match References" msgstr "Referenzen zuteilen" -#: part/views.py:494 +#: part/views.py:419 msgid "None" msgstr "Kein(e)" -#: part/views.py:556 +#: part/views.py:481 msgid "Part QR Code" msgstr "Teil-QR-Code" -#: part/views.py:650 +#: part/views.py:575 msgid "Select Part Image" msgstr "Teilbild auswählen" -#: part/views.py:676 +#: part/views.py:601 msgid "Updated part image" msgstr "Teilbild aktualisiert" -#: part/views.py:679 +#: part/views.py:604 msgid "Part image not found" msgstr "Teilbild nicht gefunden" -#: part/views.py:768 -msgid "Confirm Part Deletion" -msgstr "Löschen des Teils bestätigen" - -#: part/views.py:776 -msgid "Part was deleted" -msgstr "Teil wurde gelöscht" - -#: part/views.py:785 +#: part/views.py:693 msgid "Part Pricing" msgstr "Teilbepreisung" -#: part/views.py:976 +#: part/views.py:884 msgid "Delete Part Category" msgstr "Teil-Kategorie löschen" -#: part/views.py:983 +#: part/views.py:891 msgid "Part category was deleted" msgstr "Teil-Kategorie wurde gelöscht" @@ -5518,21 +5502,21 @@ msgstr "Barcode Lagerartikel zugeordnet" msgid "Label printing failed" msgstr "Labeldruck fehlgeschlagen" -#: plugin/builtin/integration/core_notifications.py:28 +#: plugin/builtin/integration/core_notifications.py:29 msgid "InvenTree contributors" msgstr "InvenTree Mitwirkende" -#: plugin/builtin/integration/core_notifications.py:29 +#: plugin/builtin/integration/core_notifications.py:30 msgid "Integrated outgoing notificaton methods" msgstr "Integrierte ausgehende Benachrichtigungsmethoden" -#: plugin/builtin/integration/core_notifications.py:33 -#: plugin/builtin/integration/core_notifications.py:52 +#: plugin/builtin/integration/core_notifications.py:34 +#: plugin/builtin/integration/core_notifications.py:53 msgid "Enable email notifications" msgstr "E-Mail-Benachrichtigungen aktivieren" -#: plugin/builtin/integration/core_notifications.py:34 -#: plugin/builtin/integration/core_notifications.py:53 +#: plugin/builtin/integration/core_notifications.py:35 +#: plugin/builtin/integration/core_notifications.py:54 msgid "Allow sending of emails for event notifications" msgstr "Das Senden von Benachrichtigungen als E-Mails erlauben" @@ -5648,15 +5632,19 @@ msgstr "Installation nicht bestätigt" msgid "Either packagename of URL must be provided" msgstr "Entweder Paketname oder URL muss angegeben werden" -#: report/api.py:166 +#: report/api.py:179 msgid "No valid objects provided to template" msgstr "Keine korrekten Objekte für Vorlage gegeben" -#: report/api.py:198 report/api.py:239 +#: report/api.py:215 report/api.py:256 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "Vorlagendatei '{template}' fehlt oder existiert nicht" +#: report/api.py:359 +msgid "Test report" +msgstr "" + #: report/models.py:152 msgid "Template name" msgstr "Vorlagen Name" @@ -5759,7 +5747,7 @@ msgstr "Lagerartikel Test-Bericht" #: 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:3229 -#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:434 msgid "Serial Number" msgstr "Seriennummer" @@ -5768,19 +5756,19 @@ msgid "Test Results" msgstr "Testergebnisse" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2068 +#: stock/models.py:2072 msgid "Test" msgstr "Test" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2074 +#: stock/models.py:2078 msgid "Result" msgstr "Ergebnis" #: 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:1669 templates/js/translated/stock.js:2340 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2350 msgid "Date" msgstr "Datum" @@ -5798,20 +5786,20 @@ msgid "Installed Items" msgstr "Verbaute Objekte" #: 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:2589 +#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724 +#: templates/js/translated/stock.js:2599 msgid "Serial" msgstr "Seriennummer" -#: stock/api.py:504 +#: stock/api.py:505 msgid "Quantity is required" msgstr "Menge ist erforderlich" -#: stock/api.py:511 +#: stock/api.py:512 msgid "Valid part must be supplied" msgstr "Gültiges Teil muss angegeben werden" -#: stock/api.py:536 +#: stock/api.py:537 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Seriennummern können für nicht verfolgbare Teile nicht angegeben werden" @@ -5919,7 +5907,7 @@ msgid "Destination Sales Order" msgstr "Ziel-Auftrag" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1826 msgid "Expiry Date" msgstr "Ablaufdatum" @@ -5973,79 +5961,79 @@ msgstr "Anzahl stimmt nicht mit den Seriennummern überein" msgid "Serial numbers already exist: {exists}" msgstr "Seriennummern {exists} existieren bereits" -#: stock/models.py:1321 +#: stock/models.py:1325 msgid "Stock item has been assigned to a sales order" msgstr "Artikel wurde einem Kundenauftrag zugewiesen" -#: stock/models.py:1324 +#: stock/models.py:1328 msgid "Stock item is installed in another item" msgstr "Lagerartikel ist in anderem Element verbaut" -#: stock/models.py:1327 +#: stock/models.py:1331 msgid "Stock item contains other items" msgstr "Lagerartikel enthält andere Artikel" -#: stock/models.py:1330 +#: stock/models.py:1334 msgid "Stock item has been assigned to a customer" msgstr "Artikel wurde einem Kunden zugewiesen" -#: stock/models.py:1333 +#: stock/models.py:1337 msgid "Stock item is currently in production" msgstr "Lagerartikel wird aktuell produziert" -#: stock/models.py:1336 +#: stock/models.py:1340 msgid "Serialized stock cannot be merged" msgstr "Nachverfolgbare Lagerartikel können nicht zusammengeführt werden" -#: stock/models.py:1343 stock/serializers.py:908 +#: stock/models.py:1347 stock/serializers.py:895 msgid "Duplicate stock items" msgstr "Artikel duplizeren" -#: stock/models.py:1347 +#: stock/models.py:1351 msgid "Stock items must refer to the same part" msgstr "Lagerartikel müssen auf dasselbe Teil verweisen" -#: stock/models.py:1351 +#: stock/models.py:1355 msgid "Stock items must refer to the same supplier part" msgstr "Lagerartikel müssen auf dasselbe Lieferantenteil verweisen" -#: stock/models.py:1355 +#: stock/models.py:1359 msgid "Stock status codes must match" msgstr "Status-Codes müssen zusammenpassen" -#: stock/models.py:1524 +#: stock/models.py:1528 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:1986 +#: stock/models.py:1990 msgid "Entry notes" msgstr "Eintrags-Notizen" -#: stock/models.py:2044 +#: stock/models.py:2048 msgid "Value must be provided for this test" msgstr "Wert muss für diesen Test angegeben werden" -#: stock/models.py:2050 +#: stock/models.py:2054 msgid "Attachment must be uploaded for this test" msgstr "Anhang muss für diesen Test hochgeladen werden" -#: stock/models.py:2069 +#: stock/models.py:2073 msgid "Test name" msgstr "Name des Tests" -#: stock/models.py:2075 +#: stock/models.py:2079 msgid "Test result" msgstr "Testergebnis" -#: stock/models.py:2081 +#: stock/models.py:2085 msgid "Test output value" msgstr "Test Ausgabe Wert" -#: stock/models.py:2088 +#: stock/models.py:2092 msgid "Test result attachment" msgstr "Test Ergebnis Anhang" -#: stock/models.py:2094 +#: stock/models.py:2098 msgid "Test notes" msgstr "Test Notizen" @@ -6066,7 +6054,7 @@ msgstr "Anzahl darf nicht die verfügbare Menge überschreiten ({q})" msgid "Enter serial numbers for new items" msgstr "Seriennummern für neue Teile eingeben" -#: stock/serializers.py:309 stock/serializers.py:865 stock/serializers.py:1098 +#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 msgid "Destination stock location" msgstr "Ziel-Bestand" @@ -6106,63 +6094,63 @@ msgstr " Transaktionsnotizen hinzufügen (optional)" msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:707 msgid "Part must be salable" msgstr "Teil muss verkaufbar sein" -#: stock/serializers.py:724 +#: stock/serializers.py:711 msgid "Item is allocated to a sales order" msgstr "Artikel ist einem Kundenauftrag zugeordnet" -#: stock/serializers.py:728 +#: stock/serializers.py:715 msgid "Item is allocated to a build order" msgstr "Artikel ist einem Fertigungsauftrag zugeordnet" -#: stock/serializers.py:759 +#: stock/serializers.py:746 msgid "Customer to assign stock items" msgstr "Kunde zum Zuweisen von Lagerartikel" -#: stock/serializers.py:765 +#: stock/serializers.py:752 msgid "Selected company is not a customer" msgstr "Ausgewählte Firma ist kein Kunde" -#: stock/serializers.py:773 +#: stock/serializers.py:760 msgid "Stock assignment notes" msgstr "Notizen zur Lagerzuordnung" -#: stock/serializers.py:783 stock/serializers.py:1014 +#: stock/serializers.py:770 stock/serializers.py:1001 msgid "A list of stock items must be provided" msgstr "Eine Liste der Lagerbestände muss angegeben werden" -#: stock/serializers.py:872 +#: stock/serializers.py:859 msgid "Stock merging notes" msgstr "Notizen zur Lagerartikelzusammenführung" -#: stock/serializers.py:877 +#: stock/serializers.py:864 msgid "Allow mismatched suppliers" msgstr "Unterschiedliche Lieferanten erlauben" -#: stock/serializers.py:878 +#: stock/serializers.py:865 msgid "Allow stock items with different supplier parts to be merged" msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Lieferanten erlauben" -#: stock/serializers.py:883 +#: stock/serializers.py:870 msgid "Allow mismatched status" msgstr "Unterschiedliche Status erlauben" -#: stock/serializers.py:884 +#: stock/serializers.py:871 msgid "Allow stock items with different status codes to be merged" msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Status-Codes erlauben" -#: stock/serializers.py:894 +#: stock/serializers.py:881 msgid "At least two stock items must be provided" msgstr "Mindestens zwei Lagerartikel müssen angegeben werden" -#: stock/serializers.py:976 +#: stock/serializers.py:963 msgid "StockItem primary key value" msgstr "Primärschlüssel Lagerelement" -#: stock/serializers.py:1004 +#: stock/serializers.py:991 msgid "Stock transaction notes" msgstr "Bestandsbewegungsnotizen" @@ -6187,7 +6175,7 @@ msgstr "Testdaten" msgid "Test Report" msgstr "Test-Bericht" -#: stock/templates/stock/item.html:94 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:298 msgid "Delete Test Data" msgstr "Testdaten löschen" @@ -6199,11 +6187,15 @@ msgstr "Testdaten hinzufügen" msgid "Installed Stock Items" msgstr "Installierte Lagerartikel" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2733 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2743 msgid "Install Stock Item" msgstr "Lagerartikel installieren" -#: stock/templates/stock/item.html:292 templates/js/translated/stock.js:1455 +#: stock/templates/stock/item.html:290 +msgid "Delete all test results for this stock item" +msgstr "" + +#: stock/templates/stock/item.html:323 templates/js/translated/stock.js:1465 msgid "Add Test Result" msgstr "Testergebnis hinzufügen" @@ -6390,7 +6382,7 @@ msgid "Stale" msgstr "überfällig" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/stock.js:1842 msgid "Last Updated" msgstr "Zuletzt aktualisiert" @@ -6531,7 +6523,7 @@ msgstr "Zuweisungen" msgid "Child Items" msgstr "Untergeordnete Objekte" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:182 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:144 msgid "Convert Stock Item" msgstr "Lagerartikel umwandeln" @@ -6552,31 +6544,19 @@ msgstr "Warnung" msgid "This action cannot be easily undone" msgstr "Diese Aktion kann nicht einfach rückgängig gemacht werden" -#: stock/views.py:113 +#: stock/views.py:111 msgid "Stock Location QR code" msgstr "QR-Code für diesen Lagerort" -#: stock/views.py:131 -msgid "Delete All Test Data" -msgstr "alle Testdaten löschen" - -#: stock/views.py:149 -msgid "Confirm test data deletion" -msgstr "Löschen Testdaten bestätigen" - -#: stock/views.py:150 -msgid "Check the confirmation box" -msgstr "Bestätigungsbox bestätigen" - -#: stock/views.py:165 +#: stock/views.py:127 msgid "Stock Item QR Code" msgstr "Lagerartikel-QR-Code" -#: stock/views.py:216 +#: stock/views.py:178 msgid "Delete Stock Location" msgstr "Bestand-Lagerort löschen" -#: stock/views.py:229 +#: stock/views.py:191 msgid "Delete Stock Item" msgstr "Lagerartikel löschen" @@ -7319,8 +7299,8 @@ msgstr "InvenTree-Versionsinformationen" #: 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:56 templates/js/translated/modals.js:595 -#: templates/js/translated/modals.js:689 templates/js/translated/modals.js:997 +#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 +#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 #: templates/js/translated/order.js:928 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7392,6 +7372,10 @@ msgstr "E-Mail-Adresse bestätigen" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Bitte bestätigen Sie, dass %(email)s eine E-Mail-Adresse für den Benutzer %(user_display)s ist." +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:630 +msgid "Confirm" +msgstr "Bestätigen" + #: templates/account/email_confirm.html:27 #, python-format msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." @@ -7564,7 +7548,7 @@ msgstr "Anhang hinzufügen" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:112 msgid "Delete Attachments" msgstr "" @@ -7598,15 +7582,15 @@ msgid "The following parts are low on required stock" msgstr "Bei den folgenden Teilen gibt es wenige Lagerartikel" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1425 +#: templates/js/translated/bom.js:1419 msgid "Required Quantity" msgstr "Benötigte Menge" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: 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/bom.js:884 templates/js/translated/build.js:1787 +#: templates/js/translated/build.js:2650 templates/js/translated/part.js:571 +#: templates/js/translated/part.js:574 #: templates/js/translated/table_filters.js:178 msgid "Available" msgstr "Verfügbar" @@ -7624,6 +7608,13 @@ msgstr "Klicken Sie auf den folgenden Link, um diesen Teil anzuzeigen" msgid "Minimum Quantity" msgstr "Mindestmenge" +#: templates/email/new_order_assigned.html:9 +#: templates/email/overdue_build_order.html:9 +#: templates/email/overdue_purchase_order.html:9 +#: templates/email/overdue_sales_order.html:9 +msgid "Click on the following link to view this order" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "URL für Bild-Donwload angeben" @@ -7640,91 +7631,91 @@ msgstr "Der angegebene Server muss erreichbar sein" msgid "Remote image must not exceed maximum allowable file size" msgstr "Das Bild darf nicht größer als die maximal-erlaubte Größe sein" -#: templates/js/translated/api.js:235 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1073 msgid "No Response" msgstr "Keine Antwort" -#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1074 msgid "No response from the InvenTree server" msgstr "keine Antwort vom InvenTree Server" -#: templates/js/translated/api.js:242 +#: templates/js/translated/api.js:202 msgid "Error 400: Bad request" msgstr "Fehler 400: Fehlerhafte Anfrage" -#: templates/js/translated/api.js:243 +#: templates/js/translated/api.js:203 msgid "API request returned error code 400" msgstr "Fehler-Code 400 zurückgegeben" -#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1083 msgid "Error 401: Not Authenticated" msgstr "Fehler 401: Nicht Angemeldet" -#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1084 msgid "Authentication credentials not supplied" msgstr "Authentication Kredentials nicht angegeben" -#: templates/js/translated/api.js:252 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1088 msgid "Error 403: Permission Denied" msgstr "Fehler 403: keine Berechtigung" -#: templates/js/translated/api.js:253 templates/js/translated/modals.js:1083 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1089 msgid "You do not have the required permissions to access this function" msgstr "Fehlende Berechtigung für diese Aktion" -#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1093 msgid "Error 404: Resource Not Found" msgstr "Fehler 404: Ressource nicht gefunden" -#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1088 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1094 msgid "The requested resource could not be located on the server" msgstr "Die angefragte Ressource kann auf diesem Server nicht gefunden werden" -#: templates/js/translated/api.js:262 +#: templates/js/translated/api.js:222 msgid "Error 405: Method Not Allowed" msgstr "Fehler 405: Methode nicht erlaubt" -#: templates/js/translated/api.js:263 +#: templates/js/translated/api.js:223 msgid "HTTP method not allowed at URL" msgstr "HTTP-Methode für diese URL nicht erlaubt" -#: templates/js/translated/api.js:267 templates/js/translated/modals.js:1092 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1098 msgid "Error 408: Timeout" msgstr "Fehler 408: Zeitüberschreitung" -#: templates/js/translated/api.js:268 templates/js/translated/modals.js:1093 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1099 msgid "Connection timeout while requesting data from server" msgstr "Verbindungszeitüberschreitung bei der Datenanforderung" -#: templates/js/translated/api.js:271 +#: templates/js/translated/api.js:231 msgid "Unhandled Error Code" msgstr "Unbehandelter Fehler-Code" -#: templates/js/translated/api.js:272 +#: templates/js/translated/api.js:232 msgid "Error code" msgstr "Fehler-Code" -#: templates/js/translated/attachment.js:96 +#: templates/js/translated/attachment.js:98 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:156 +#: templates/js/translated/attachment.js:152 msgid "No attachments found" msgstr "Keine Anhänge gefunden" -#: templates/js/translated/attachment.js:180 +#: templates/js/translated/attachment.js:176 msgid "Edit Attachment" msgstr "Anhang bearbeiten" -#: templates/js/translated/attachment.js:246 +#: templates/js/translated/attachment.js:242 msgid "Upload Date" msgstr "Hochladedatum" -#: templates/js/translated/attachment.js:262 +#: templates/js/translated/attachment.js:264 msgid "Edit attachment" msgstr "Anhang bearbeiten" -#: templates/js/translated/attachment.js:269 +#: templates/js/translated/attachment.js:271 msgid "Delete attachment" msgstr "Anhang löschen" @@ -7757,7 +7748,7 @@ msgid "Unknown response from server" msgstr "Unbekannte Antwort von Server erhalten" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "Invalid server response" msgstr "Ungültige Antwort von Server" @@ -7785,7 +7776,7 @@ msgstr "Dadurch wird die Verknüpfung zwischen diesem Lagerartikel und dem Barco msgid "Unlink" msgstr "Entfernen" -#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999 +#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:998 msgid "Remove stock item" msgstr "Lagerartikel entfernen" @@ -7920,89 +7911,89 @@ msgstr "Ersatzteil hinzufügen" msgid "Edit BOM Item Substitutes" msgstr "Stücklisten Ersatzteile bearbeiten" -#: templates/js/translated/bom.js:682 +#: templates/js/translated/bom.js:684 msgid "All selected BOM items will be deleted" msgstr "Alle ausgewählte Stücklistenpositionen werden gelöscht" -#: templates/js/translated/bom.js:697 +#: templates/js/translated/bom.js:699 msgid "Delete selected BOM items?" msgstr "Ausgewählte Stücklistenpositionen löschen?" -#: templates/js/translated/bom.js:824 +#: templates/js/translated/bom.js:818 msgid "Load BOM for subassembly" msgstr "Stückliste für Bauteile laden" -#: templates/js/translated/bom.js:834 +#: templates/js/translated/bom.js:828 msgid "Substitutes Available" msgstr "Ersatzteile verfügbar" -#: templates/js/translated/bom.js:838 templates/js/translated/build.js:1769 +#: templates/js/translated/bom.js:832 templates/js/translated/build.js:1769 msgid "Variant stock allowed" msgstr "Varianten erlaubt" -#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/bom.js:900 templates/js/translated/build.js:1814 #: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "Kein Lagerbestand verfügbar" -#: templates/js/translated/bom.js:910 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:904 templates/js/translated/build.js:1818 msgid "Includes variant and substitute stock" msgstr "Beinhaltet Variante und Ersatzbestand" -#: templates/js/translated/bom.js:912 templates/js/translated/build.js:1820 -#: templates/js/translated/part.js:690 +#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1820 +#: templates/js/translated/part.js:734 msgid "Includes variant stock" msgstr "Beinhaltet Variantenbestand" -#: templates/js/translated/bom.js:914 templates/js/translated/build.js:1822 +#: templates/js/translated/bom.js:908 templates/js/translated/build.js:1822 msgid "Includes substitute stock" msgstr "Enthält Ersatzbestand" -#: templates/js/translated/bom.js:928 +#: templates/js/translated/bom.js:922 msgid "Substitutes" msgstr "Ersatzteile" -#: templates/js/translated/bom.js:943 +#: templates/js/translated/bom.js:937 msgid "Purchase Price Range" msgstr "Kaufpreisspanne" -#: templates/js/translated/bom.js:950 +#: templates/js/translated/bom.js:944 msgid "Purchase Price Average" msgstr "Durchschnittlicher Kaufpreis" -#: templates/js/translated/bom.js:999 templates/js/translated/bom.js:1090 +#: templates/js/translated/bom.js:993 templates/js/translated/bom.js:1084 msgid "View BOM" msgstr "Stückliste anzeigen" -#: templates/js/translated/bom.js:1061 +#: templates/js/translated/bom.js:1055 msgid "Validate BOM Item" msgstr "Stücklisten-Position kontrollieren" -#: templates/js/translated/bom.js:1063 +#: templates/js/translated/bom.js:1057 msgid "This line has been validated" msgstr "Diese Position wurde kontrolliert" -#: templates/js/translated/bom.js:1065 +#: templates/js/translated/bom.js:1059 msgid "Edit substitute parts" msgstr "Ersatzteile bearbeiten" -#: templates/js/translated/bom.js:1067 templates/js/translated/bom.js:1228 +#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1222 msgid "Edit BOM Item" msgstr "Stücklisten-Position bearbeiten" -#: templates/js/translated/bom.js:1069 +#: templates/js/translated/bom.js:1063 msgid "Delete BOM Item" msgstr "Stücklisten-Position löschen" -#: templates/js/translated/bom.js:1164 templates/js/translated/build.js:1615 +#: templates/js/translated/bom.js:1158 templates/js/translated/build.js:1615 msgid "No BOM items found" msgstr "Keine Stücklisten-Position(en) gefunden" -#: templates/js/translated/bom.js:1408 templates/js/translated/build.js:1753 +#: templates/js/translated/bom.js:1402 templates/js/translated/build.js:1753 msgid "Required Part" msgstr "benötigtes Teil" -#: templates/js/translated/bom.js:1430 +#: templates/js/translated/bom.js:1424 msgid "Inherited from parent BOM" msgstr "Geerbt von übergeordneter Stückliste" @@ -8042,13 +8033,13 @@ msgstr "Bauauftrag ist unvollständig" msgid "Complete Build Order" msgstr "Bauauftrag fertigstellen" -#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91 -#: templates/js/translated/stock.js:181 +#: templates/js/translated/build.js:259 templates/js/translated/stock.js:90 +#: templates/js/translated/stock.js:180 msgid "Next available serial number" msgstr "Nächste verfügbare Seriennummer" -#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93 -#: templates/js/translated/stock.js:183 +#: templates/js/translated/build.js:261 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:182 msgid "Latest serial number" msgstr "Letzte Seriennummer" @@ -8261,9 +8252,9 @@ msgstr "Lagerartikel zuordnen" msgid "No builds matching query" msgstr "Keine Bauaufträge passen zur Anfrage" -#: 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 +#: templates/js/translated/build.js:2448 templates/js/translated/part.js:1358 +#: templates/js/translated/part.js:1825 templates/js/translated/stock.js:1629 +#: templates/js/translated/stock.js:2287 msgid "Select" msgstr "Auswählen" @@ -8275,7 +8266,7 @@ msgstr "Bauauftrag ist überfällig" msgid "Progress" msgstr "Fortschritt" -#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2519 +#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2529 msgid "No user information" msgstr "Keine Benutzerinformation" @@ -8287,107 +8278,107 @@ msgstr "Keine Information" msgid "No parts allocated for" msgstr "Keine Teile zugeordnet zu" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "Hersteller hinzufügen" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:169 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:168 msgid "Add Manufacturer Part" msgstr "Herstellerteil hinzufügen" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "Herstellerteil ändern" -#: templates/js/translated/company.js:157 templates/js/translated/order.js:506 +#: templates/js/translated/company.js:156 templates/js/translated/order.js:506 msgid "Add Supplier" msgstr "Zulieferer hinzufügen" -#: templates/js/translated/company.js:185 +#: templates/js/translated/company.js:184 msgid "Add Supplier Part" msgstr "Zuliefererteil hinzufügen" -#: templates/js/translated/company.js:200 +#: templates/js/translated/company.js:199 msgid "Edit Supplier Part" msgstr "Zuliefererteil bearbeiten" -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:249 msgid "All selected supplier parts will be deleted" msgstr "Alle ausgewählten Zulieferteile werden gelöscht" -#: templates/js/translated/company.js:263 +#: templates/js/translated/company.js:264 msgid "Delete Supplier Parts" msgstr "Zuliefererteil entfernen" -#: templates/js/translated/company.js:342 +#: templates/js/translated/company.js:336 msgid "Add new Company" msgstr "Neue Firma hinzufügen" -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:413 msgid "Parts Supplied" msgstr "Teile geliefert" -#: templates/js/translated/company.js:428 +#: templates/js/translated/company.js:422 msgid "Parts Manufactured" msgstr "Hersteller-Teile" -#: templates/js/translated/company.js:443 +#: templates/js/translated/company.js:437 msgid "No company information found" msgstr "Keine Firmeninformation gefunden" -#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:478 msgid "All selected manufacturer parts will be deleted" msgstr "Alle ausgewählten Herstellerrteile werden gelöscht" -#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:492 msgid "Delete Manufacturer Parts" msgstr "Herstellerteile löschen" -#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:526 msgid "All selected parameters will be deleted" msgstr "Alle ausgewählten Parameter werden gelöscht" -#: templates/js/translated/company.js:548 +#: templates/js/translated/company.js:539 msgid "Delete Parameters" msgstr "Parameter löschen" -#: templates/js/translated/company.js:595 +#: templates/js/translated/company.js:580 msgid "No manufacturer parts found" msgstr "Keine Herstellerteile gefunden" -#: templates/js/translated/company.js:615 -#: templates/js/translated/company.js:874 templates/js/translated/part.js:565 -#: templates/js/translated/part.js:650 +#: templates/js/translated/company.js:600 +#: templates/js/translated/company.js:859 templates/js/translated/part.js:609 +#: templates/js/translated/part.js:694 msgid "Template part" msgstr "Vorlagenteil" -#: templates/js/translated/company.js:619 -#: templates/js/translated/company.js:878 templates/js/translated/part.js:569 -#: templates/js/translated/part.js:654 +#: templates/js/translated/company.js:604 +#: templates/js/translated/company.js:863 templates/js/translated/part.js:613 +#: templates/js/translated/part.js:698 msgid "Assembled part" msgstr "Baugruppe" -#: templates/js/translated/company.js:747 templates/js/translated/part.js:757 +#: templates/js/translated/company.js:732 templates/js/translated/part.js:801 msgid "No parameters found" msgstr "Keine Parameter gefunden" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:799 +#: templates/js/translated/company.js:769 templates/js/translated/part.js:843 msgid "Edit parameter" msgstr "Parameter bearbeiten" -#: templates/js/translated/company.js:785 templates/js/translated/part.js:800 +#: templates/js/translated/company.js:770 templates/js/translated/part.js:844 msgid "Delete parameter" msgstr "Parameter löschen" -#: templates/js/translated/company.js:804 templates/js/translated/part.js:817 +#: templates/js/translated/company.js:789 templates/js/translated/part.js:861 msgid "Edit Parameter" msgstr "Parameter bearbeiten" -#: templates/js/translated/company.js:815 templates/js/translated/part.js:829 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:873 msgid "Delete Parameter" msgstr "Parameter löschen" -#: templates/js/translated/company.js:854 +#: templates/js/translated/company.js:839 msgid "No supplier parts found" msgstr "Keine Zuliefererteile gefunden" @@ -8450,36 +8441,36 @@ msgstr "Anzeigevorgang nicht erlaubt" msgid "Keep this form open" msgstr "Dieses Formular offen lassen" -#: templates/js/translated/forms.js:756 +#: templates/js/translated/forms.js:757 msgid "Enter a valid number" msgstr "Gib eine gültige Nummer ein" -#: templates/js/translated/forms.js:1248 templates/modals.html:19 +#: templates/js/translated/forms.js:1249 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Fehler in Formular" -#: templates/js/translated/forms.js:1681 +#: templates/js/translated/forms.js:1682 msgid "No results found" msgstr "Keine Ergebnisse gefunden" -#: templates/js/translated/forms.js:1896 templates/search.html:29 +#: templates/js/translated/forms.js:1897 templates/search.html:29 msgid "Searching" msgstr "Suche" -#: templates/js/translated/forms.js:2149 +#: templates/js/translated/forms.js:2150 msgid "Clear input" msgstr "Eingabe leeren" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "File Column" msgstr "Dateispalte" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "Field Name" msgstr "Feldname" -#: templates/js/translated/forms.js:2627 +#: templates/js/translated/forms.js:2628 msgid "Select Columns" msgstr "Spalten auswählen" @@ -8500,7 +8491,7 @@ msgid "Labels sent to printer" msgstr "Label an den Drucker gesendet" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1023 +#: templates/js/translated/stock.js:1022 msgid "Select Stock Items" msgstr "Lagerartikel auswählen" @@ -8554,12 +8545,12 @@ msgid "Select Label Template" msgstr "Label-Vorlage auswählen" #: templates/js/translated/modals.js:82 templates/js/translated/modals.js:142 -#: templates/js/translated/modals.js:621 +#: templates/js/translated/modals.js:627 msgid "Cancel" msgstr "Abbrechen" #: 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/js/translated/modals.js:694 templates/js/translated/modals.js:1002 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "Abschicken" @@ -8568,47 +8559,47 @@ msgstr "Abschicken" msgid "Form Title" msgstr "Formulartitel" -#: templates/js/translated/modals.js:403 +#: templates/js/translated/modals.js:421 msgid "Waiting for server..." msgstr "Warte auf Server..." -#: templates/js/translated/modals.js:562 +#: templates/js/translated/modals.js:568 msgid "Show Error Information" msgstr "Fehler-Informationen anzeigen" -#: templates/js/translated/modals.js:620 +#: templates/js/translated/modals.js:626 msgid "Accept" msgstr "Akzeptieren" -#: templates/js/translated/modals.js:677 +#: templates/js/translated/modals.js:683 msgid "Loading Data" msgstr "Lade Daten" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Invalid response from server" msgstr "ungültige Antwort vom Server" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Form data missing from server response" msgstr "Formulardaten fehlen bei Serverantwort" -#: templates/js/translated/modals.js:960 +#: templates/js/translated/modals.js:966 msgid "Error posting form data" msgstr "Formulardaten fehlerhaft" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "JSON response missing form data" msgstr "JSON Antwort enthält keine Formulardaten" -#: templates/js/translated/modals.js:1072 +#: templates/js/translated/modals.js:1078 msgid "Error 400: Bad Request" msgstr "Fehler 400: Ungültige Anfrage" -#: templates/js/translated/modals.js:1073 +#: templates/js/translated/modals.js:1079 msgid "Server returned error code 400" msgstr "Fehler 400 von Server erhalten" -#: templates/js/translated/modals.js:1096 +#: templates/js/translated/modals.js:1102 msgid "Error requesting form data" msgstr "Fehler bei Formulardaten-Anfrage" @@ -8658,11 +8649,11 @@ msgstr "Als ungelesen markieren" msgid "Mark as read" msgstr "Als gelesen markieren" -#: templates/js/translated/notification.js:259 +#: templates/js/translated/notification.js:260 msgid "No unread notifications" msgstr "Keine ungelesenen Benachrichtigungen" -#: templates/js/translated/notification.js:300 templates/notifications.html:10 +#: templates/js/translated/notification.js:302 templates/notifications.html:10 msgid "Notifications will load here" msgstr "Benachrichtigungen erscheinen hier" @@ -8806,7 +8797,7 @@ msgstr "Seriennummern hinzufügen" msgid "Quantity to receive" msgstr "Zu erhaltende Menge" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2080 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2090 msgid "Stock Status" msgstr "Status" @@ -8830,7 +8821,7 @@ msgstr "Empfang der Teile bestätigen" msgid "Receive Purchase Order Items" msgstr "Bestellpositionen erhalten" -#: templates/js/translated/order.js:1602 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1602 templates/js/translated/part.js:914 msgid "No purchase orders found" msgstr "Keine Bestellungen gefunden" @@ -8865,7 +8856,7 @@ 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:3978 -#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 +#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2397 msgid "Unit Price" msgstr "Stück-Preis" @@ -8875,11 +8866,11 @@ msgid "Total Price" msgstr "Gesamtpreis" #: templates/js/translated/order.js:1993 templates/js/translated/order.js:3525 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:1023 msgid "This line item is overdue" msgstr "Diese Position ist überfällig" -#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1069 msgid "Receive line item" msgstr "Position empfangen" @@ -9000,7 +8991,7 @@ msgid "Delete Stock Allocation" msgstr "Bestands-Zuordnung löschen" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1535 +#: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "an Kunde versand" @@ -9140,165 +9131,209 @@ msgstr "Teil bearbeitet" msgid "Create Part Variant" msgstr "Teil-Variante anlegen" +#: templates/js/translated/part.js:405 +msgid "Active Part" +msgstr "" + +#: templates/js/translated/part.js:406 +msgid "Part cannot be deleted as it is currently active" +msgstr "" + +#: templates/js/translated/part.js:420 +msgid "Deleting this part cannot be reversed" +msgstr "" + +#: templates/js/translated/part.js:422 +msgid "Any stock items for this part will be deleted" +msgstr "" + #: templates/js/translated/part.js:423 +msgid "This part will be removed from any Bills of Material" +msgstr "" + +#: templates/js/translated/part.js:424 +msgid "All manufacturer and supplier information for this part will be deleted" +msgstr "" + +#: templates/js/translated/part.js:431 +msgid "Delete Part" +msgstr "" + +#: templates/js/translated/part.js:467 msgid "You are subscribed to notifications for this item" msgstr "Sie haben Benachrichtigungen für dieses Teil abonniert" -#: templates/js/translated/part.js:425 +#: templates/js/translated/part.js:469 msgid "You have subscribed to notifications for this item" msgstr "Sie haben Benachrichtigungen für dieses Teil abonniert" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:474 msgid "Subscribe to notifications for this item" msgstr "Benachrichtigungen für dieses Teil abonnieren" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:476 msgid "You have unsubscribed to notifications for this item" msgstr "Sie haben Benachrichtigungen für dieses Teil abgemeldet" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:493 msgid "Validating the BOM will mark each line item as valid" msgstr "Die Stückliste zu validieren markiert jede Zeile als gültig" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:503 msgid "Validate Bill of Materials" msgstr "Stückliste prüfen" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:506 msgid "Validated Bill of Materials" msgstr "überprüfte Stückliste" -#: templates/js/translated/part.js:487 +#: templates/js/translated/part.js:531 msgid "Copy Bill of Materials" msgstr "Stückliste kopieren" -#: templates/js/translated/part.js:513 templates/js/translated/part.js:1397 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1441 #: templates/js/translated/table_filters.js:452 msgid "Low stock" msgstr "Bestand niedrig" -#: templates/js/translated/part.js:523 templates/js/translated/part.js:1409 +#: templates/js/translated/part.js:567 templates/js/translated/part.js:1453 msgid "No stock available" msgstr "Kein Lagerbestand verfügbar" -#: templates/js/translated/part.js:557 templates/js/translated/part.js:642 +#: templates/js/translated/part.js:601 templates/js/translated/part.js:686 msgid "Trackable part" msgstr "Nachverfolgbares Teil" -#: templates/js/translated/part.js:561 templates/js/translated/part.js:646 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:690 msgid "Virtual part" msgstr "virtuelles Teil" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:617 msgid "Subscribed part" msgstr "Abonnierter Teil" -#: templates/js/translated/part.js:577 +#: templates/js/translated/part.js:621 msgid "Salable part" msgstr "Verkäufliches Teil" -#: templates/js/translated/part.js:705 +#: templates/js/translated/part.js:749 msgid "No variants found" msgstr "Keine Varianten gefunden" -#: templates/js/translated/part.js:1095 +#: templates/js/translated/part.js:1139 msgid "Delete part relationship" msgstr "Teile-Beziehung löschen" -#: templates/js/translated/part.js:1119 +#: templates/js/translated/part.js:1163 msgid "Delete Part Relationship" msgstr "Teile-Beziehung löschen" -#: templates/js/translated/part.js:1184 templates/js/translated/part.js:1480 +#: templates/js/translated/part.js:1228 templates/js/translated/part.js:1524 msgid "No parts found" msgstr "Keine Teile gefunden" -#: templates/js/translated/part.js:1223 +#: templates/js/translated/part.js:1267 msgid "Not available" msgstr "Nicht verfügbar" -#: templates/js/translated/part.js:1374 +#: templates/js/translated/part.js:1418 msgid "No category" msgstr "Keine Kategorie" -#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664 -#: templates/js/translated/stock.js:2238 +#: templates/js/translated/part.js:1548 templates/js/translated/part.js:1760 +#: templates/js/translated/stock.js:2248 msgid "Display as list" msgstr "Listenansicht" -#: templates/js/translated/part.js:1520 +#: templates/js/translated/part.js:1564 msgid "Display as grid" msgstr "Rasteransicht" -#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2257 +#: templates/js/translated/part.js:1630 +msgid "Set the part category for the selected parts" +msgstr "" + +#: templates/js/translated/part.js:1635 +msgid "Set Part Category" +msgstr "Teil-Kategorie auswählen" + +#: templates/js/translated/part.js:1640 +msgid "Select Part Category" +msgstr "" + +#: templates/js/translated/part.js:1653 +msgid "Category is required" +msgstr "" + +#: templates/js/translated/part.js:1779 templates/js/translated/stock.js:2267 msgid "Display as tree" msgstr "Baumansicht" -#: templates/js/translated/part.js:1747 +#: templates/js/translated/part.js:1843 msgid "Subscribed category" msgstr "Abonnierte Kategorie" -#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2301 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2311 msgid "Path" msgstr "Pfad" -#: templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:1901 msgid "No test templates matching query" msgstr "Keine zur Anfrage passenden Testvorlagen" -#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1233 +#: templates/js/translated/part.js:1952 templates/js/translated/stock.js:1243 msgid "Edit test result" msgstr "Testergebnis bearbeiten" -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1234 -#: templates/js/translated/stock.js:1493 +#: templates/js/translated/part.js:1953 templates/js/translated/stock.js:1244 +#: templates/js/translated/stock.js:1503 msgid "Delete test result" msgstr "Testergebnis löschen" -#: templates/js/translated/part.js:1863 +#: templates/js/translated/part.js:1959 msgid "This test is defined for a parent part" msgstr "Dieses Testergebnis ist für ein Hauptteil" -#: templates/js/translated/part.js:1885 +#: templates/js/translated/part.js:1981 msgid "Edit Test Result Template" msgstr "Testergebnis-Vorlage bearbeiten" -#: templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:1995 msgid "Delete Test Result Template" msgstr "Testergebnis-Vorlage löschen" -#: templates/js/translated/part.js:1924 +#: templates/js/translated/part.js:2020 #, python-brace-format msgid "No ${human_name} information found" msgstr "Keine ${human_name} Informationen gefunden" -#: templates/js/translated/part.js:1981 +#: templates/js/translated/part.js:2077 #, python-brace-format msgid "Edit ${human_name}" msgstr "${human_name} bearbeiten" -#: templates/js/translated/part.js:1982 +#: templates/js/translated/part.js:2078 #, python-brace-format msgid "Delete ${human_name}" msgstr "${human_name} löschen" -#: templates/js/translated/part.js:2096 +#: templates/js/translated/part.js:2192 msgid "Current Stock" msgstr "Aktueller Lagerbestand" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2225 msgid "No scheduling information available for this part" msgstr "Keine Zeitplanung für dieses Teil vorhanden" -#: templates/js/translated/part.js:2155 +#: templates/js/translated/part.js:2251 msgid "Scheduled Stock Quantities" msgstr "Geplante Lagermengen" -#: templates/js/translated/part.js:2225 +#: templates/js/translated/part.js:2321 msgid "Single Price" msgstr "Einzelpreis" -#: templates/js/translated/part.js:2244 +#: templates/js/translated/part.js:2340 msgid "Single Price Difference" msgstr "Einzelpreisdifferenz" @@ -9380,360 +9415,360 @@ msgstr "Ergebnisse minimieren" msgid "Remove results" msgstr "Ergebnisse entfernen" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:72 msgid "Serialize Stock Item" msgstr "Lagerartikel serialisieren" -#: templates/js/translated/stock.js:101 +#: templates/js/translated/stock.js:100 msgid "Confirm Stock Serialization" msgstr "Lager-Serialisierung bestätigen" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:109 msgid "Parent stock location" msgstr "Übergeordneter Lagerort" -#: templates/js/translated/stock.js:139 +#: templates/js/translated/stock.js:138 msgid "Edit Stock Location" msgstr "Lagerartikel-Ort bearbeiten" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:153 msgid "New Stock Location" msgstr "Neuer Lagerstandort" -#: templates/js/translated/stock.js:194 +#: templates/js/translated/stock.js:193 msgid "This part cannot be serialized" msgstr "Dieser Teil kann nicht serialisiert werden" -#: templates/js/translated/stock.js:233 +#: templates/js/translated/stock.js:232 msgid "Enter initial quantity for this stock item" msgstr "Ausgangsmenge für diesen Lagerartikel eingeben" -#: templates/js/translated/stock.js:239 +#: templates/js/translated/stock.js:238 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "Seriennummern für neue Lagerartikel eingeben (oder leer lassen)" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:303 msgid "Stock item duplicated" msgstr "Lagerartikel dupliziert" -#: templates/js/translated/stock.js:324 +#: templates/js/translated/stock.js:323 msgid "Duplicate Stock Item" msgstr "Bestand duplizieren" -#: templates/js/translated/stock.js:344 +#: templates/js/translated/stock.js:343 msgid "Edit Stock Item" msgstr "Lagerartikel bearbeiten" -#: templates/js/translated/stock.js:394 +#: templates/js/translated/stock.js:393 msgid "Created new stock item" msgstr "Neuer Lagerartikel erstellt" -#: templates/js/translated/stock.js:407 +#: templates/js/translated/stock.js:406 msgid "Created multiple stock items" msgstr "Mehrere Lagerartikel erstellt" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:431 msgid "Find Serial Number" msgstr "Seriennummer finden" -#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436 msgid "Enter serial number" msgstr "Seriennummer eingeben" -#: templates/js/translated/stock.js:453 +#: templates/js/translated/stock.js:452 msgid "Enter a serial number" msgstr "Eine Seriennummer eingeben" -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:472 msgid "No matching serial number" msgstr "Keine passende Seriennummer" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:481 msgid "More than one matching result found" msgstr "Mehrere Ergebnisse gefunden" -#: templates/js/translated/stock.js:605 +#: templates/js/translated/stock.js:604 msgid "Confirm stock assignment" msgstr "Bestand Zuweisung bestätigen" -#: templates/js/translated/stock.js:606 +#: templates/js/translated/stock.js:605 msgid "Assign Stock to Customer" msgstr "Einem Kunden zuordnen" -#: templates/js/translated/stock.js:683 +#: templates/js/translated/stock.js:682 msgid "Warning: Merge operation cannot be reversed" msgstr "Achtung: Das Zusammenführen kann nicht rückgängig gemacht werden" -#: templates/js/translated/stock.js:684 +#: templates/js/translated/stock.js:683 msgid "Some information will be lost when merging stock items" msgstr "Einige Informationen gehen verloren, wenn Artikel zusammengeführt werden" -#: templates/js/translated/stock.js:686 +#: templates/js/translated/stock.js:685 msgid "Stock transaction history will be deleted for merged items" msgstr "Lagerartikelverlauf wird für zusammengeführte Lagerartikel gelöscht" -#: templates/js/translated/stock.js:687 +#: templates/js/translated/stock.js:686 msgid "Supplier part information will be deleted for merged items" msgstr "Lieferantenteil-Informationen werden für zusammengeführte Artikel gelöscht" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:772 msgid "Confirm stock item merge" msgstr "Zusammenführung der Artikel bestätigen" -#: templates/js/translated/stock.js:774 +#: templates/js/translated/stock.js:773 msgid "Merge Stock Items" msgstr "Artikel zusammenführen" -#: templates/js/translated/stock.js:869 +#: templates/js/translated/stock.js:868 msgid "Transfer Stock" msgstr "Bestand verschieben" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:869 msgid "Move" msgstr "Verschieben" -#: templates/js/translated/stock.js:876 +#: templates/js/translated/stock.js:875 msgid "Count Stock" msgstr "Bestand zählen" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:876 msgid "Count" msgstr "Anzahl" -#: templates/js/translated/stock.js:881 +#: templates/js/translated/stock.js:880 msgid "Remove Stock" msgstr "Bestand entfernen" -#: templates/js/translated/stock.js:882 +#: templates/js/translated/stock.js:881 msgid "Take" msgstr "Entfernen" -#: templates/js/translated/stock.js:886 +#: templates/js/translated/stock.js:885 msgid "Add Stock" msgstr "Bestand hinzufügen" -#: templates/js/translated/stock.js:887 users/models.py:215 +#: templates/js/translated/stock.js:886 users/models.py:215 msgid "Add" msgstr "Hinzufügen" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Delete Stock" msgstr "Bestand löschen" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Quantity cannot be adjusted for serialized stock" msgstr "Menge von serialisiertem Bestand kann nicht bearbeitet werden" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Specify stock quantity" msgstr "Bestandsanzahl angeben" -#: templates/js/translated/stock.js:1024 +#: templates/js/translated/stock.js:1023 msgid "You must select at least one available stock item" msgstr "Sie müssen mindestens einen Lagerartikel auswählen" -#: templates/js/translated/stock.js:1047 +#: templates/js/translated/stock.js:1046 msgid "Confirm stock adjustment" msgstr "Bestands-Anpassung bestätigen" -#: templates/js/translated/stock.js:1172 +#: templates/js/translated/stock.js:1182 msgid "PASS" msgstr "ERFOLGREICH" -#: templates/js/translated/stock.js:1174 +#: templates/js/translated/stock.js:1184 msgid "FAIL" msgstr "FEHLGESCHLAGEN" -#: templates/js/translated/stock.js:1179 +#: templates/js/translated/stock.js:1189 msgid "NO RESULT" msgstr "KEIN ERGEBNIS" -#: templates/js/translated/stock.js:1226 +#: templates/js/translated/stock.js:1236 msgid "Pass test" msgstr "Test bestanden" -#: templates/js/translated/stock.js:1229 +#: templates/js/translated/stock.js:1239 msgid "Add test result" msgstr "Testergebnis hinzufügen" -#: templates/js/translated/stock.js:1255 +#: templates/js/translated/stock.js:1265 msgid "No test results found" msgstr "Keine Testergebnisse gefunden" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1321 msgid "Test Date" msgstr "Testdatum" -#: templates/js/translated/stock.js:1476 +#: templates/js/translated/stock.js:1486 msgid "Edit Test Result" msgstr "Testergebnis bearbeiten" -#: templates/js/translated/stock.js:1498 +#: templates/js/translated/stock.js:1508 msgid "Delete Test Result" msgstr "Testergebnis löschen" -#: templates/js/translated/stock.js:1527 +#: templates/js/translated/stock.js:1537 msgid "In production" msgstr "In Arbeit" -#: templates/js/translated/stock.js:1531 +#: templates/js/translated/stock.js:1541 msgid "Installed in Stock Item" msgstr "In Lagerartikel installiert" -#: templates/js/translated/stock.js:1539 +#: templates/js/translated/stock.js:1549 msgid "Assigned to Sales Order" msgstr "Auftrag zugewiesen" -#: templates/js/translated/stock.js:1545 +#: templates/js/translated/stock.js:1555 msgid "No stock location set" msgstr "Kein Lagerort gesetzt" -#: templates/js/translated/stock.js:1712 +#: templates/js/translated/stock.js:1722 msgid "Stock item is in production" msgstr "Lagerartikel wird produziert" -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1727 msgid "Stock item assigned to sales order" msgstr "Lagerartikel wurde Auftrag zugewiesen" -#: templates/js/translated/stock.js:1720 +#: templates/js/translated/stock.js:1730 msgid "Stock item assigned to customer" msgstr "Lagerartikel wurde Kunden zugewiesen" -#: templates/js/translated/stock.js:1723 +#: templates/js/translated/stock.js:1733 msgid "Serialized stock item has been allocated" msgstr "Serialisierter Lagerartikel wurde zugewiesen" -#: templates/js/translated/stock.js:1725 +#: templates/js/translated/stock.js:1735 msgid "Stock item has been fully allocated" msgstr "Lagerartikel wurde vollständig zugewiesen" -#: templates/js/translated/stock.js:1727 +#: templates/js/translated/stock.js:1737 msgid "Stock item has been partially allocated" msgstr "Lagerartikel wurde teilweise zugewiesen" -#: templates/js/translated/stock.js:1730 +#: templates/js/translated/stock.js:1740 msgid "Stock item has been installed in another item" msgstr "Lagerartikel in anderem Element verbaut" -#: templates/js/translated/stock.js:1734 +#: templates/js/translated/stock.js:1744 msgid "Stock item has expired" msgstr "Lagerartikel ist abgelaufen" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1746 msgid "Stock item will expire soon" msgstr "Lagerartikel läuft demnächst ab" -#: templates/js/translated/stock.js:1743 +#: templates/js/translated/stock.js:1753 msgid "Stock item has been rejected" msgstr "Lagerartikel abgewiesen" -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1755 msgid "Stock item is lost" msgstr "Lagerartikel verloren" -#: templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:1757 msgid "Stock item is destroyed" msgstr "Lagerartikel zerstört" -#: templates/js/translated/stock.js:1751 +#: templates/js/translated/stock.js:1761 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "gelöscht" -#: templates/js/translated/stock.js:1802 +#: templates/js/translated/stock.js:1812 msgid "Stocktake" msgstr "Inventur" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1894 msgid "Supplier part not specified" msgstr "Zuliefererteil nicht angegeben" -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1932 msgid "No stock items matching query" msgstr "Keine zur Anfrage passenden Lagerartikel" -#: templates/js/translated/stock.js:2095 +#: templates/js/translated/stock.js:2105 msgid "Set Stock Status" msgstr "Status setzen" -#: templates/js/translated/stock.js:2109 +#: templates/js/translated/stock.js:2119 msgid "Select Status Code" msgstr "Status Code setzen" -#: templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2120 msgid "Status code must be selected" msgstr "Status Code muss ausgewählt werden" -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2375 msgid "Details" msgstr "Details" -#: templates/js/translated/stock.js:2381 +#: templates/js/translated/stock.js:2391 msgid "Part information unavailable" msgstr "Artikelinformationen nicht verfügbar" -#: templates/js/translated/stock.js:2403 +#: templates/js/translated/stock.js:2413 msgid "Location no longer exists" msgstr "Standort nicht mehr vorhanden" -#: templates/js/translated/stock.js:2422 +#: templates/js/translated/stock.js:2432 msgid "Purchase order no longer exists" msgstr "Bestellung existiert nicht mehr" -#: templates/js/translated/stock.js:2441 +#: templates/js/translated/stock.js:2451 msgid "Customer no longer exists" msgstr "Kunde existiert nicht mehr" -#: templates/js/translated/stock.js:2459 +#: templates/js/translated/stock.js:2469 msgid "Stock item no longer exists" msgstr "Lagerartikel existiert nicht mehr" -#: templates/js/translated/stock.js:2482 +#: templates/js/translated/stock.js:2492 msgid "Added" msgstr "Hinzugefügt" -#: templates/js/translated/stock.js:2490 +#: templates/js/translated/stock.js:2500 msgid "Removed" msgstr "Entfernt" -#: templates/js/translated/stock.js:2566 +#: templates/js/translated/stock.js:2576 msgid "No installed items" msgstr "Keine installierten Elemente" -#: templates/js/translated/stock.js:2617 templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2663 msgid "Uninstall Stock Item" msgstr "Lagerartikel entfernen" -#: templates/js/translated/stock.js:2666 +#: templates/js/translated/stock.js:2676 msgid "Select stock item to uninstall" msgstr "Zu deinstallierende Lagerartikel auswählen" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2697 msgid "Install another stock item into this item" msgstr "Einen weiteren Lagerartikel in dieses Teil installiert" -#: templates/js/translated/stock.js:2688 +#: templates/js/translated/stock.js:2698 msgid "Stock items can only be installed if they meet the following criteria" msgstr "Lagerartikel können nur installiert werden wenn folgende Kriterien erfüllt werden" -#: templates/js/translated/stock.js:2690 +#: templates/js/translated/stock.js:2700 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "Der Lagerartikel ist auf ein Teil verknüpft das in der Stückliste für diesen Lagerartikel ist" -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/stock.js:2701 msgid "The Stock Item is currently available in stock" msgstr "Dieser Lagerartikel ist aktuell vorhanden" -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2702 msgid "The Stock Item is not already installed in another item" msgstr "Der Lagerbestand ist nicht bereits in einem anderen Bestand installiert" -#: templates/js/translated/stock.js:2693 +#: templates/js/translated/stock.js:2703 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "Der Lagerbestand wird entweder mit einem Batch-Code oder mit Seriennummer verfolgt" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2716 msgid "Select part to install" msgstr "Teil zur Installation auswählen" diff --git a/InvenTree/locale/el/LC_MESSAGES/django.po b/InvenTree/locale/el/LC_MESSAGES/django.po index bfcbc62635..c5712f4d0e 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-06-05 14:26+0000\n" -"PO-Revision-Date: 2022-06-05 14:34\n" +"POT-Creation-Date: 2022-06-06 22:59+0000\n" +"PO-Revision-Date: 2022-06-07 14:34\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:46 +#: InvenTree/api.py:49 msgid "API endpoint not found" msgstr "" @@ -29,275 +29,273 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:630 -msgid "Confirm" -msgstr "" - -#: InvenTree/forms.py:134 +#: InvenTree/forms.py:117 msgid "Confirm delete" msgstr "" -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:118 msgid "Confirm item deletion" msgstr "" -#: InvenTree/forms.py:167 +#: InvenTree/forms.py:150 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:151 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:158 msgid "Confirm password" msgstr "" -#: InvenTree/forms.py:176 +#: InvenTree/forms.py:159 msgid "Confirm new password" msgstr "" -#: InvenTree/forms.py:213 -msgid "Select Category" -msgstr "" - -#: InvenTree/forms.py:234 +#: InvenTree/forms.py:184 msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:238 +#: InvenTree/forms.py:188 msgid "Email address confirmation" msgstr "" -#: InvenTree/forms.py:259 +#: InvenTree/forms.py:209 msgid "You must type the same email each time." msgstr "" -#: InvenTree/helpers.py:402 +#: InvenTree/helpers.py:404 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 +#: InvenTree/helpers.py:411 order/models.py:370 order/models.py:522 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:412 +#: InvenTree/helpers.py:414 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:444 +#: InvenTree/helpers.py:446 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:447 +#: InvenTree/helpers.py:449 #, python-brace-format msgid "Invalid group: {g}" msgstr "" -#: InvenTree/helpers.py:475 +#: InvenTree/helpers.py:477 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:483 +#: InvenTree/helpers.py:485 #, python-brace-format msgid "Invalid/no group {group}" msgstr "" -#: InvenTree/helpers.py:489 +#: InvenTree/helpers.py:491 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:493 +#: InvenTree/helpers.py:495 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:174 +#: InvenTree/models.py:178 msgid "Missing file" msgstr "" -#: InvenTree/models.py:175 +#: InvenTree/models.py:179 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:187 stock/models.py:2087 -#: templates/js/translated/attachment.js:101 -#: templates/js/translated/attachment.js:198 +#: InvenTree/models.py:191 stock/models.py:2091 +#: templates/js/translated/attachment.js:103 +#: templates/js/translated/attachment.js:194 msgid "Attachment" msgstr "" -#: InvenTree/models.py:188 +#: InvenTree/models.py:192 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 -#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: InvenTree/models.py:198 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:136 order/models.py:1251 #: 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 -#: templates/js/translated/part.js:1441 +#: templates/js/translated/company.js:640 +#: templates/js/translated/company.js:931 templates/js/translated/order.js:2676 +#: templates/js/translated/part.js:1485 msgid "Link" msgstr "" -#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: InvenTree/models.py:199 build/models.py:320 part/models.py:796 #: stock/models.py:642 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 -#: templates/js/translated/attachment.js:242 +#: InvenTree/models.py:202 templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:238 msgid "Comment" msgstr "" -#: InvenTree/models.py:198 +#: InvenTree/models.py:202 msgid "File comment" msgstr "" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1506 +#: common/models.py:1507 common/models.py:1735 common/models.py:1736 +#: common/models.py:1998 common/models.py:1999 part/models.py:2141 +#: part/models.py:2161 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:2523 msgid "User" msgstr "" -#: InvenTree/models.py:208 +#: InvenTree/models.py:212 msgid "upload date" msgstr "" -#: InvenTree/models.py:230 +#: InvenTree/models.py:234 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:253 +#: InvenTree/models.py:257 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:263 +#: InvenTree/models.py:267 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:266 +#: InvenTree/models.py:270 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:273 +#: InvenTree/models.py:277 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:280 +#: InvenTree/models.py:284 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:314 +#: InvenTree/models.py:318 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 #: company/models.py:354 label/models.py:101 part/models.py:739 -#: part/models.py:2331 plugin/models.py:93 report/models.py:151 +#: part/models.py:2319 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 #: templates/InvenTree/settings/plugin.html:132 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:346 -#: 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:2283 +#: templates/js/translated/company.js:530 +#: templates/js/translated/company.js:742 templates/js/translated/part.js:659 +#: templates/js/translated/part.js:811 templates/js/translated/part.js:1832 +#: templates/js/translated/stock.js:2293 msgid "Name" msgstr "" -#: InvenTree/models.py:340 build/models.py:197 +#: InvenTree/models.py:344 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: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:164 +#: order/models.py:134 part/models.py:762 part/templates/part/category.html:74 +#: part/templates/part/part_base.html:167 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 -#: 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/bom.js:553 templates/js/translated/bom.js:845 +#: templates/js/translated/build.js:2476 templates/js/translated/company.js:395 +#: templates/js/translated/company.js:651 +#: templates/js/translated/company.js:942 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:1676 -#: templates/js/translated/stock.js:2295 templates/js/translated/stock.js:2350 +#: templates/js/translated/part.js:718 templates/js/translated/part.js:1126 +#: templates/js/translated/part.js:1399 templates/js/translated/part.js:1851 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:1686 +#: templates/js/translated/stock.js:2305 templates/js/translated/stock.js:2360 msgid "Description" msgstr "" -#: InvenTree/models.py:341 +#: InvenTree/models.py:345 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:349 +#: InvenTree/models.py:353 msgid "parent" msgstr "" -#: InvenTree/serializers.py:52 part/models.py:2652 +#: InvenTree/models.py:466 +msgid "Server Error" +msgstr "" + +#: InvenTree/models.py:467 +msgid "An error has been logged by the server." +msgstr "" + +#: InvenTree/serializers.py:52 part/models.py:2640 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:271 +#: InvenTree/serializers.py:263 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:306 +#: InvenTree/serializers.py:298 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:320 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:321 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:342 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:348 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:377 +#: InvenTree/serializers.py:369 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:372 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:495 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:506 +#: InvenTree/serializers.py:498 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:583 +#: InvenTree/serializers.py:575 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:592 +#: InvenTree/serializers.py:584 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" @@ -440,7 +438,7 @@ msgstr "" msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:141 order/models.py:1114 +#: InvenTree/status_codes.py:141 order/models.py:1130 #: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "" @@ -525,7 +523,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2020 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2030 msgid "Merged stock items" msgstr "" @@ -597,27 +595,27 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:522 +#: InvenTree/views.py:521 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:571 +#: InvenTree/views.py:570 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:585 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:597 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "" -#: InvenTree/views.py:618 +#: InvenTree/views.py:617 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:842 templates/navbar.html:152 +#: InvenTree/views.py:807 templates/navbar.html:152 msgid "System Information" msgstr "" @@ -628,6 +626,7 @@ msgstr "" #: 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/email/overdue_build_order.html:15 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "" @@ -646,12 +645,12 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:189 order/models.py:288 order/models.py:638 -#: order/models.py:916 part/models.py:2570 +#: build/models.py:189 order/models.py:293 order/models.py:654 +#: order/models.py:932 part/models.py:2558 #: 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/bom.js:690 templates/js/translated/bom.js:852 #: 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:3959 @@ -673,13 +672,12 @@ msgstr "" #: 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:2460 part/models.py:2545 part/models.py:2821 -#: part/serializers.py:793 part/templates/part/part_app_base.html:8 +#: order/models.py:1028 order/models.py:1119 part/models.py:336 +#: part/models.py:2087 part/models.py:2102 part/models.py:2121 +#: part/models.py:2139 part/models.py:2238 part/models.py:2358 +#: part/models.py:2448 part/models.py:2533 part/models.py:2809 +#: part/serializers.py:795 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 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 @@ -687,22 +685,23 @@ msgstr "" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 +#: templates/email/overdue_build_order.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:805 +#: templates/js/translated/bom.js:689 templates/js/translated/bom.js:799 #: 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/company.js:253 +#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:592 +#: templates/js/translated/company.js:851 templates/js/translated/order.js:100 #: templates/js/translated/order.js:883 templates/js/translated/order.js:1315 #: 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:1633 templates/js/translated/stock.js:2376 -#: templates/js/translated/stock.js:2571 templates/js/translated/stock.js:2705 +#: templates/js/translated/part.js:1111 templates/js/translated/part.js:1181 +#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:695 templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2386 +#: templates/js/translated/stock.js:2581 templates/js/translated/stock.js:2715 msgid "Part" msgstr "" @@ -768,12 +767,12 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:282 order/models.py:137 part/models.py:932 +#: build/models.py:282 order/models.py:138 part/models.py:932 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "" -#: build/models.py:286 order/models.py:660 +#: build/models.py:286 order/models.py:676 msgid "Target completion date" msgstr "" @@ -781,7 +780,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:290 order/models.py:331 +#: build/models.py:290 order/models.py:336 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "" @@ -799,7 +798,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:313 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:151 +#: build/templates/build/detail.html:115 order/models.py:152 #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 @@ -822,20 +821,20 @@ msgstr "" #: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 #: company/models.py:519 company/templates/company/sidebar.html:25 -#: order/models.py:155 order/models.py:918 order/models.py:1213 +#: order/models.py:156 order/models.py:934 order/models.py:1229 #: order/templates/order/po_sidebar.html:11 #: 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:713 stock/models.py:1985 stock/models.py:2093 +#: stock/models.py:713 stock/models.py:1989 stock/models.py:2097 #: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:486 -#: stock/serializers.py:772 stock/serializers.py:871 stock/serializers.py:1003 +#: stock/serializers.py:759 stock/serializers.py:858 stock/serializers.py:990 #: 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/barcode.js:100 templates/js/translated/bom.js:1038 +#: templates/js/translated/company.js:947 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 -#: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 +#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1926 msgid "Notes" msgstr "" @@ -855,44 +854,44 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1108 +#: build/models.py:1111 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1117 +#: build/models.py:1120 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1127 +#: build/models.py:1130 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1133 order/models.py:1372 +#: build/models.py:1136 order/models.py:1388 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1139 +#: build/models.py:1142 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1196 +#: build/models.py:1199 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1265 stock/templates/stock/item_base.html:177 +#: build/models.py:1268 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:1266 +#: build/models.py:1269 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 -#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:703 -#: stock/serializers.py:829 stock/templates/stock/item_base.html:10 +#: build/models.py:1285 build/serializers.py:603 order/serializers.py:996 +#: order/serializers.py:1017 stock/serializers.py:382 stock/serializers.py:690 +#: stock/serializers.py:816 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 @@ -900,22 +899,22 @@ msgstr "" #: 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:2449 +#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696 +#: templates/js/translated/stock.js:2459 msgid "Stock Item" msgstr "" -#: build/models.py:1283 +#: build/models.py:1286 msgid "Source stock item" msgstr "" -#: build/models.py:1295 build/serializers.py:183 +#: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1536 +#: build/templates/build/detail.html:34 common/models.py:1543 #: 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:68 -#: part/forms.py:83 part/forms.py:98 part/models.py:2561 +#: order/models.py:925 order/models.py:1428 order/serializers.py:1136 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 +#: part/forms.py:74 part/forms.py:89 part/models.py:2549 #: 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 @@ -926,8 +925,8 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:139 #: 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 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:691 +#: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 #: templates/js/translated/build.js:574 templates/js/translated/build.js:765 #: templates/js/translated/build.js:1175 templates/js/translated/build.js:1673 #: templates/js/translated/build.js:2086 @@ -937,23 +936,23 @@ msgstr "" #: 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: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 -#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727 -#: templates/js/translated/stock.js:2498 templates/js/translated/stock.js:2583 +#: templates/js/translated/part.js:1011 templates/js/translated/part.js:2065 +#: templates/js/translated/part.js:2296 templates/js/translated/part.js:2330 +#: templates/js/translated/part.js:2408 templates/js/translated/stock.js:402 +#: templates/js/translated/stock.js:556 templates/js/translated/stock.js:726 +#: templates/js/translated/stock.js:2508 templates/js/translated/stock.js:2593 msgid "Quantity" msgstr "" -#: build/models.py:1296 +#: build/models.py:1299 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1304 +#: build/models.py:1307 msgid "Install into" msgstr "" -#: build/models.py:1305 +#: build/models.py:1308 msgid "Destination stock item" msgstr "" @@ -982,9 +981,9 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: 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:1239 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:368 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:514 +#: part/serializers.py:958 stock/models.py:470 stock/models.py:1239 #: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" @@ -997,9 +996,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 #: stock/serializers.py:297 templates/js/translated/order.js:1186 -#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:237 templates/js/translated/stock.js:403 msgid "Serial Numbers" msgstr "" @@ -1015,7 +1014,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:552 +#: build/serializers.py:268 stock/api.py:553 msgid "The following serial numbers already exist" msgstr "" @@ -1025,16 +1024,16 @@ msgstr "" #: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 #: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:481 -#: stock/serializers.py:864 stock/serializers.py:1097 +#: stock/serializers.py:851 stock/serializers.py:1084 #: 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 #: 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:1787 templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532 +#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904 +#: templates/js/translated/stock.js:1797 templates/js/translated/stock.js:2400 msgid "Location" msgstr "" @@ -1043,12 +1042,12 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:363 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:654 +#: build/templates/build/detail.html:62 order/models.py:670 #: 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 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1772 +#: templates/js/translated/stock.js:2477 templates/js/translated/stock.js:2609 msgid "Status" msgstr "" @@ -1108,8 +1107,8 @@ msgstr "" msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:535 build/serializers.py:580 part/models.py:2679 -#: part/models.py:2813 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2667 +#: part/models.py:2801 msgid "BOM Item" msgstr "" @@ -1125,11 +1124,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:716 +#: build/serializers.py:609 stock/serializers.py:703 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:667 order/serializers.py:1052 +#: build/serializers.py:667 order/serializers.py:1054 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1146,7 +1145,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:708 order/serializers.py:1298 +#: build/serializers.py:708 order/serializers.py:1300 msgid "Allocation items must be provided" msgstr "" @@ -1178,10 +1177,19 @@ msgstr "" msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:96 +#: build/tasks.py:100 msgid "Stock required for build order" msgstr "" +#: build/tasks.py:118 +msgid "Overdue Build Order" +msgstr "" + +#: build/tasks.py:123 +#, python-brace-format +msgid "Build order {bo} is now overdue" +msgstr "" + #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 #: order/templates/order/sales_order_base.html:38 @@ -1244,13 +1252,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:922 +#: build/templates/build/detail.html:131 order/models.py:938 #: 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: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 +#: templates/js/translated/order.js:3517 templates/js/translated/part.js:1015 msgid "Target Date" msgstr "" @@ -1277,13 +1285,14 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1100 -#: order/models.py:1185 order/models.py:1320 +#: build/templates/build/detail.html:94 order/models.py:1116 +#: order/models.py:1201 order/models.py:1336 #: 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/email/overdue_sales_order.html:15 #: templates/js/translated/order.js:2436 msgid "Sales Order" msgstr "" @@ -1319,7 +1328,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1034 +#: build/templates/build/detail.html:49 order/models.py:1050 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "" @@ -1336,8 +1345,8 @@ msgstr "" #: stock/templates/stock/item_base.html:170 #: templates/js/translated/build.js:1179 #: templates/js/translated/model_renderers.js:112 -#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1776 -#: templates/js/translated/stock.js:2606 +#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:2616 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1716,7 +1725,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:820 part/models.py:2372 report/models.py:157 +#: common/models.py:820 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" @@ -1726,7 +1735,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" @@ -1880,7 +1889,7 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:968 -msgid "Test Reports" +msgid "Enable Test Reports" msgstr "" #: common/models.py:969 @@ -1888,568 +1897,576 @@ msgid "Enable generation of test reports" msgstr "" #: common/models.py:975 -msgid "Batch Code Template" +msgid "Attach Test Reports" msgstr "" #: common/models.py:976 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:981 -msgid "Stock Expiry" +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" #: common/models.py:982 -msgid "Enable stock expiry functionality" +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:983 +msgid "Template for generating default batch codes for stock items" msgstr "" #: common/models.py:988 -msgid "Sell Expired Stock" +msgid "Stock Expiry" msgstr "" #: common/models.py:989 -msgid "Allow sale of expired stock" +msgid "Enable stock expiry functionality" msgstr "" #: common/models.py:995 -msgid "Stock Stale Time" +msgid "Sell Expired Stock" msgstr "" #: common/models.py:996 -msgid "Number of days stock items are considered stale before expiring" +msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:998 -msgid "days" +#: common/models.py:1002 +msgid "Stock Stale Time" msgstr "" #: common/models.py:1003 -msgid "Build Expired Stock" +msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1004 -msgid "Allow building with expired stock" +#: common/models.py:1005 +msgid "days" msgstr "" #: common/models.py:1010 -msgid "Stock Ownership Control" +msgid "Build Expired Stock" msgstr "" #: common/models.py:1011 -msgid "Enable ownership control over stock locations and items" +msgid "Allow building with expired stock" msgstr "" #: common/models.py:1017 -msgid "Build Order Reference Prefix" +msgid "Stock Ownership Control" msgstr "" #: common/models.py:1018 -msgid "Prefix value for build order reference" -msgstr "" - -#: common/models.py:1023 -msgid "Build Order Reference Regex" +msgid "Enable ownership control over stock locations and items" msgstr "" #: common/models.py:1024 +msgid "Build Order Reference Prefix" +msgstr "" + +#: common/models.py:1025 +msgid "Prefix value for build order reference" +msgstr "" + +#: common/models.py:1030 +msgid "Build Order Reference Regex" +msgstr "" + +#: common/models.py:1031 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1029 +#: common/models.py:1036 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1041 +#: common/models.py:1048 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1042 +#: common/models.py:1049 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1048 +#: common/models.py:1055 msgid "Enable password forgot" msgstr "" -#: common/models.py:1049 +#: common/models.py:1056 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1055 +#: common/models.py:1062 msgid "Enable registration" msgstr "" -#: common/models.py:1056 +#: common/models.py:1063 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1069 msgid "Enable SSO" msgstr "" -#: common/models.py:1063 +#: common/models.py:1070 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1069 +#: common/models.py:1076 msgid "Email required" msgstr "" -#: common/models.py:1070 +#: common/models.py:1077 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1076 +#: common/models.py:1083 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1077 +#: common/models.py:1084 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1083 +#: common/models.py:1090 msgid "Mail twice" msgstr "" -#: common/models.py:1084 +#: common/models.py:1091 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1090 +#: common/models.py:1097 msgid "Password twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1098 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1097 +#: common/models.py:1104 msgid "Group on signup" msgstr "" -#: common/models.py:1098 +#: common/models.py:1105 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1104 +#: common/models.py:1111 msgid "Enforce MFA" msgstr "" -#: common/models.py:1105 +#: common/models.py:1112 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1111 +#: common/models.py:1118 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1112 +#: common/models.py:1119 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1120 +#: common/models.py:1127 msgid "Enable URL integration" msgstr "" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1136 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1136 +#: common/models.py:1143 msgid "Enable app integration" msgstr "" -#: common/models.py:1137 +#: common/models.py:1144 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1144 +#: common/models.py:1151 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1145 +#: common/models.py:1152 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1152 +#: common/models.py:1159 msgid "Enable event integration" msgstr "" -#: common/models.py:1153 +#: common/models.py:1160 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1170 common/models.py:1492 +#: common/models.py:1177 common/models.py:1499 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1192 +#: common/models.py:1199 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1193 +#: common/models.py:1200 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1199 +#: common/models.py:1206 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1200 +#: common/models.py:1207 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1213 msgid "Show latest parts" msgstr "" -#: common/models.py:1207 +#: common/models.py:1214 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1213 +#: common/models.py:1220 msgid "Recent Part Count" msgstr "" -#: common/models.py:1214 +#: common/models.py:1221 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1220 +#: common/models.py:1227 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1221 +#: common/models.py:1228 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1227 +#: common/models.py:1234 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1228 +#: common/models.py:1235 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1235 +#: common/models.py:1242 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Show low stock" msgstr "" -#: common/models.py:1242 +#: common/models.py:1249 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Show depleted stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1256 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1262 msgid "Show needed stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1263 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1269 msgid "Show expired stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1270 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1276 msgid "Show stale stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Show pending builds" msgstr "" -#: common/models.py:1277 +#: common/models.py:1284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Show overdue builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1291 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1291 +#: common/models.py:1298 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Show overdue POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1305 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1312 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1318 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1319 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1317 +#: common/models.py:1324 msgid "Enable label printing" msgstr "" -#: common/models.py:1318 +#: common/models.py:1325 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1324 +#: common/models.py:1331 msgid "Inline label display" msgstr "" -#: common/models.py:1325 +#: common/models.py:1332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1331 +#: common/models.py:1338 msgid "Inline report display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1345 msgid "Search Parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1345 +#: common/models.py:1352 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1359 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1366 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1367 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1373 msgid "Search Categories" msgstr "" -#: common/models.py:1367 +#: common/models.py:1374 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1380 msgid "Search Stock" msgstr "" -#: common/models.py:1374 +#: common/models.py:1381 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1387 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1381 +#: common/models.py:1388 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1394 msgid "Search Locations" msgstr "" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1401 msgid "Search Companies" msgstr "" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1408 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1415 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1422 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1429 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Search Preview Results" msgstr "" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1457 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1457 +#: common/models.py:1464 msgid "Date Format" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1472 part/templates/part/detail.html:39 +#: common/models.py:1479 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1473 +#: common/models.py:1480 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1537 company/forms.py:37 +#: common/models.py:1544 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: 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 +#: common/models.py:1551 company/serializers.py:290 +#: company/templates/company/supplier_part.html:263 order/models.py:965 +#: templates/js/translated/part.js:1042 templates/js/translated/part.js:2070 msgid "Price" msgstr "" -#: common/models.py:1545 +#: common/models.py:1552 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1705 common/models.py:1883 +#: common/models.py:1712 common/models.py:1890 msgid "Endpoint" msgstr "" -#: common/models.py:1706 +#: common/models.py:1713 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1715 +#: common/models.py:1722 msgid "Name for this webhook" msgstr "" -#: common/models.py:1720 part/models.py:911 plugin/models.py:99 +#: common/models.py:1727 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 @@ -2457,79 +2474,89 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1721 +#: common/models.py:1728 msgid "Is this webhook active" msgstr "" -#: common/models.py:1735 +#: common/models.py:1742 msgid "Token" msgstr "" -#: common/models.py:1736 +#: common/models.py:1743 msgid "Token for access" msgstr "" -#: common/models.py:1743 +#: common/models.py:1750 msgid "Secret" msgstr "" -#: common/models.py:1744 +#: common/models.py:1751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Message ID" msgstr "" -#: common/models.py:1851 +#: common/models.py:1858 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1859 +#: common/models.py:1866 msgid "Host" msgstr "" -#: common/models.py:1860 +#: common/models.py:1867 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1867 +#: common/models.py:1874 msgid "Header" msgstr "" -#: common/models.py:1868 +#: common/models.py:1875 msgid "Header of this message" msgstr "" -#: common/models.py:1874 +#: common/models.py:1881 msgid "Body" msgstr "" -#: common/models.py:1875 +#: common/models.py:1882 msgid "Body of this message" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1889 +#: common/models.py:1896 msgid "Worked on" msgstr "" -#: common/models.py:1890 +#: common/models.py:1897 msgid "Was the work on this message finished?" msgstr "" +#: common/notifications.py:292 +#, python-brace-format +msgid "New {verbose_name}" +msgstr "" + +#: common/notifications.py:294 +#, python-brace-format +msgid "A new {verbose_name} has been created and ,assigned to you" +msgstr "" + #: common/views.py:87 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:191 +#: order/views.py:102 part/views.py:116 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:192 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:117 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -2545,19 +2572,19 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:511 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:16 part/forms.py:21 +#: company/forms.py:16 part/forms.py:18 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:17 part/forms.py:22 +#: company/forms.py:17 part/forms.py:19 msgid "Image URL" msgstr "" @@ -2571,7 +2598,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:405 +#: templates/js/translated/company.js:399 msgid "Website" msgstr "" @@ -2644,9 +2671,9 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: 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 +#: company/models.py:144 company/serializers.py:296 +#: company/templates/company/company_base.html:106 part/serializers.py:139 +#: part/serializers.py:170 stock/serializers.py:162 msgid "Currency" msgstr "" @@ -2667,10 +2694,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: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/company.js:383 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:617 +#: templates/js/translated/company.js:902 templates/js/translated/part.js:235 #: templates/js/translated/table_filters.js:411 msgid "Manufacturer" msgstr "" @@ -2681,11 +2708,11 @@ msgstr "" #: 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 -#: 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 +#: templates/js/translated/company.js:256 +#: templates/js/translated/company.js:483 +#: templates/js/translated/company.js:633 +#: templates/js/translated/company.js:920 templates/js/translated/order.js:1907 +#: templates/js/translated/part.js:246 templates/js/translated/part.js:1000 msgid "MPN" msgstr "" @@ -2714,9 +2741,9 @@ msgstr "" #: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2080 templates/js/translated/company.js:540 -#: templates/js/translated/company.js:763 templates/js/translated/part.js:776 -#: templates/js/translated/stock.js:1294 +#: stock/models.py:2084 templates/js/translated/company.js:531 +#: templates/js/translated/company.js:748 templates/js/translated/part.js:820 +#: templates/js/translated/stock.js:1304 msgid "Value" msgstr "" @@ -2724,10 +2751,10 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:368 part/models.py:878 part/models.py:2339 +#: company/models.py:368 part/models.py:878 part/models.py:2327 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:351 -#: templates/js/translated/company.js:769 templates/js/translated/part.js:782 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:826 msgid "Units" msgstr "" @@ -2740,13 +2767,14 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:487 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:303 +#: company/templates/company/supplier_part.html:87 order/models.py:308 #: 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 -#: 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/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:255 +#: templates/js/translated/company.js:387 +#: templates/js/translated/company.js:876 templates/js/translated/order.js:1643 +#: templates/js/translated/part.js:216 templates/js/translated/part.js:968 #: templates/js/translated/table_filters.js:415 msgid "Supplier" msgstr "" @@ -2756,9 +2784,9 @@ msgid "Select supplier" msgstr "" #: 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 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:254 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 -#: templates/js/translated/part.js:942 +#: templates/js/translated/part.js:986 msgid "SKU" msgstr "" @@ -2779,23 +2807,23 @@ msgid "Supplier part description" msgstr "" #: company/models.py:518 company/templates/company/supplier_part.html:125 -#: part/models.py:2573 part/templates/part/upload_bom.html:59 +#: part/models.py:2561 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:387 msgid "Note" msgstr "" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "base cost" msgstr "" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: 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 +#: templates/js/translated/company.js:952 templates/js/translated/stock.js:1922 msgid "Packaging" msgstr "" @@ -2803,7 +2831,7 @@ msgstr "" msgid "Part packaging" msgstr "" -#: company/models.py:526 part/models.py:1690 +#: company/models.py:526 part/models.py:1685 msgid "multiple" msgstr "" @@ -2825,7 +2853,7 @@ msgstr "" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:177 templates/js/translated/company.js:378 +#: templates/InvenTree/search.html:177 templates/js/translated/company.js:372 msgid "Company" msgstr "" @@ -2843,7 +2871,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:321 +#: templates/js/translated/company.js:315 msgid "Edit Company" msgstr "" @@ -2866,12 +2894,13 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:649 +#: company/templates/company/company_base.html:86 order/models.py:665 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:758 +#: stock/models.py:628 stock/serializers.py:745 #: 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 +#: templates/email/overdue_sales_order.html:16 +#: templates/js/translated/company.js:379 templates/js/translated/order.js:2458 +#: templates/js/translated/stock.js:2441 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "" @@ -2999,7 +3028,7 @@ msgid "Supplier List" msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:45 -#: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 +#: part/templates/part/prices.html:172 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -3012,12 +3041,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:680 +#: templates/js/translated/company.js:665 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:681 +#: templates/js/translated/company.js:666 msgid "Delete manufacturer part" msgstr "" @@ -3032,7 +3061,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:39 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 +#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" msgstr "" @@ -3092,18 +3121,18 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: 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 +#: templates/js/translated/company.js:892 templates/js/translated/order.js:884 +#: templates/js/translated/stock.js:1879 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:38 -#: templates/js/translated/company.js:980 +#: templates/js/translated/company.js:965 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:42 -#: templates/js/translated/company.js:981 +#: templates/js/translated/company.js:966 msgid "Delete supplier part" msgstr "" @@ -3123,7 +3152,7 @@ msgstr "" #: company/templates/company/supplier_part.html:148 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 -#: templates/js/translated/stock.js:380 +#: templates/js/translated/stock.js:379 msgid "New Stock Item" msgstr "" @@ -3144,7 +3173,7 @@ msgstr "" #: company/templates/company/supplier_part.html:191 #: company/templates/company/supplier_part.html:305 -#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046 +#: part/templates/part/prices.html:276 templates/js/translated/part.js:2142 msgid "Add Price Break" msgstr "" @@ -3153,12 +3182,12 @@ msgid "No price break information found" msgstr "" #: company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2152 msgid "Delete Price Break" msgstr "" #: company/templates/company/supplier_part.html:245 -#: templates/js/translated/part.js:2070 +#: templates/js/translated/part.js:2166 msgid "Edit Price Break" msgstr "" @@ -3180,9 +3209,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: 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:1687 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:722 +#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1431 +#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3209,7 +3238,7 @@ msgstr "" #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 -#: templates/js/translated/stock.js:2307 users/models.py:39 +#: templates/js/translated/stock.js:2317 users/models.py:39 msgid "Stock Items" msgstr "" @@ -3238,20 +3267,20 @@ msgstr "" msgid "New Company" msgstr "" -#: company/views.py:112 part/views.py:576 +#: company/views.py:112 part/views.py:501 msgid "Download Image" msgstr "" -#: company/views.py:139 part/views.py:606 +#: company/views.py:139 part/views.py:531 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:146 part/views.py:613 +#: company/views.py:146 part/views.py:538 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:155 part/views.py:622 +#: company/views.py:155 part/views.py:547 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3320,313 +3349,314 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:133 +#: order/models.py:134 msgid "Order description" msgstr "" -#: order/models.py:135 order/models.py:1236 +#: order/models.py:136 order/models.py:1252 msgid "Link to external page" msgstr "" -#: order/models.py:143 +#: order/models.py:144 msgid "Created By" msgstr "" -#: order/models.py:150 +#: order/models.py:151 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:155 +#: order/models.py:156 msgid "Order notes" msgstr "" -#: order/models.py:289 order/models.py:639 +#: order/models.py:294 order/models.py:655 msgid "Order reference" msgstr "" -#: order/models.py:294 order/models.py:654 +#: order/models.py:299 order/models.py:670 msgid "Purchase order status" msgstr "" -#: order/models.py:304 +#: order/models.py:309 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:307 order/templates/order/order_base.html:124 +#: order/models.py:312 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:307 +#: order/models.py:312 msgid "Supplier order reference code" msgstr "" -#: order/models.py:314 +#: order/models.py:319 msgid "received by" msgstr "" -#: order/models.py:319 +#: order/models.py:324 msgid "Issue Date" msgstr "" -#: order/models.py:320 +#: order/models.py:325 msgid "Date order was issued" msgstr "" -#: order/models.py:325 +#: order/models.py:330 msgid "Target Delivery Date" msgstr "" -#: order/models.py:326 +#: order/models.py:331 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:332 +#: order/models.py:337 msgid "Date order was completed" msgstr "" -#: order/models.py:368 +#: order/models.py:373 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:512 +#: order/models.py:517 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:650 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer Reference " msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer order reference code" msgstr "" -#: order/models.py:661 +#: order/models.py:677 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:664 order/models.py:1190 +#: order/models.py:680 order/models.py:1206 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:671 +#: order/models.py:687 msgid "shipped by" msgstr "" -#: order/models.py:726 +#: order/models.py:742 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:730 +#: order/models.py:746 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:733 +#: order/models.py:749 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:736 +#: order/models.py:752 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:910 +#: order/models.py:926 msgid "Item quantity" msgstr "" -#: order/models.py:916 +#: order/models.py:932 msgid "Line item reference" msgstr "" -#: order/models.py:918 +#: order/models.py:934 msgid "Line item notes" msgstr "" -#: order/models.py:923 +#: order/models.py:939 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:941 +#: order/models.py:957 msgid "Context" msgstr "" -#: order/models.py:942 +#: order/models.py:958 msgid "Additional context for this line" msgstr "" -#: order/models.py:950 +#: order/models.py:966 msgid "Unit price" msgstr "" -#: order/models.py:980 +#: order/models.py:996 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:988 +#: order/models.py:1004 msgid "deleted" msgstr "" -#: order/models.py:994 order/models.py:1074 order/models.py:1099 -#: order/models.py:1184 order/models.py:1320 +#: order/models.py:1010 order/models.py:1090 order/models.py:1115 +#: order/models.py:1200 order/models.py:1336 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:995 order/models.py:1074 +#: order/models.py:1011 order/models.py:1090 #: 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/email/overdue_purchase_order.html:15 #: 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 +#: templates/js/translated/part.js:943 templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:2422 msgid "Purchase Order" msgstr "" -#: order/models.py:1013 +#: order/models.py:1029 msgid "Supplier part" msgstr "" -#: order/models.py:1020 order/templates/order/order_base.html:169 +#: order/models.py:1036 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/part.js:1037 templates/js/translated/part.js:1064 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1021 +#: order/models.py:1037 msgid "Number of items received" msgstr "" -#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: order/models.py:1044 part/templates/part/prices.html:181 stock/models.py:722 #: stock/serializers.py:153 stock/templates/stock/item_base.html:191 -#: templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:1910 msgid "Purchase Price" msgstr "" -#: order/models.py:1029 +#: order/models.py:1045 msgid "Unit purchase price" msgstr "" -#: order/models.py:1037 +#: order/models.py:1053 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1109 part/templates/part/part_pricing.html:112 -#: part/templates/part/prices.html:119 part/templates/part/prices.html:288 +#: order/models.py:1125 part/templates/part/part_pricing.html:115 +#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 msgid "Sale Price" msgstr "" -#: order/models.py:1110 +#: order/models.py:1126 msgid "Unit sale price" msgstr "" -#: order/models.py:1115 +#: order/models.py:1131 msgid "Shipped quantity" msgstr "" -#: order/models.py:1191 +#: order/models.py:1207 msgid "Date of shipment" msgstr "" -#: order/models.py:1198 +#: order/models.py:1214 msgid "Checked By" msgstr "" -#: order/models.py:1199 +#: order/models.py:1215 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1207 +#: order/models.py:1223 msgid "Shipment number" msgstr "" -#: order/models.py:1214 +#: order/models.py:1230 msgid "Shipment notes" msgstr "" -#: order/models.py:1221 +#: order/models.py:1237 msgid "Tracking Number" msgstr "" -#: order/models.py:1222 +#: order/models.py:1238 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1229 +#: order/models.py:1245 msgid "Invoice Number" msgstr "" -#: order/models.py:1230 +#: order/models.py:1246 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1248 +#: order/models.py:1264 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1251 +#: order/models.py:1267 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1354 order/models.py:1356 +#: order/models.py:1370 order/models.py:1372 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1360 +#: order/models.py:1376 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1362 +#: order/models.py:1378 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1365 +#: order/models.py:1381 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1369 +#: order/models.py:1385 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1375 order/serializers.py:1045 +#: order/models.py:1391 order/serializers.py:1047 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1378 +#: order/models.py:1394 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1379 +#: order/models.py:1395 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1387 +#: order/models.py:1403 msgid "Line" msgstr "" -#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 +#: order/models.py:1411 order/serializers.py:1151 order/serializers.py:1275 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1396 +#: order/models.py:1412 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1424 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1409 +#: order/models.py:1425 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Enter stock allocation quantity" msgstr "" @@ -3662,7 +3692,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1117 +#: order/serializers.py:406 order/serializers.py:1119 msgid "Line Item" msgstr "" @@ -3710,42 +3740,60 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:866 +#: order/serializers.py:868 msgid "Sale price currency" msgstr "" -#: order/serializers.py:947 +#: order/serializers.py:949 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1006 order/serializers.py:1126 +#: order/serializers.py:1008 order/serializers.py:1128 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1028 +#: order/serializers.py:1030 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1139 +#: order/serializers.py:1141 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1161 order/serializers.py:1281 +#: order/serializers.py:1163 order/serializers.py:1283 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1164 order/serializers.py:1284 +#: order/serializers.py:1166 order/serializers.py:1286 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1216 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1224 +#: order/serializers.py:1226 msgid "The following serial numbers are already allocated" msgstr "" +#: order/tasks.py:26 +msgid "Overdue Purchase Order" +msgstr "" + +#: order/tasks.py:31 +#, python-brace-format +msgid "Purchase order {po} is now overdue" +msgstr "" + +#: order/tasks.py:88 +msgid "Overdue Sales Order" +msgstr "" + +#: order/tasks.py:93 +#, python-brace-format +msgid "Sales order {so} is now overdue" +msgstr "" + #: order/templates/order/order_base.html:33 msgid "Print purchase order report" msgstr "" @@ -3870,8 +3918,8 @@ msgstr "" #: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: 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:2731 templates/js/translated/stock.js:570 -#: templates/js/translated/stock.js:738 +#: templates/js/translated/order.js:2731 templates/js/translated/stock.js:569 +#: templates/js/translated/stock.js:737 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -3990,7 +4038,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1047 #: templates/js/translated/build.js:1880 msgid "Actions" msgstr "" @@ -4021,47 +4069,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:481 +#: part/api.py:482 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:501 +#: part/api.py:502 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:519 +#: part/api.py:520 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:551 +#: part/api.py:552 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:637 +#: part/api.py:638 msgid "Valid" msgstr "" -#: part/api.py:638 +#: part/api.py:639 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:644 +#: part/api.py:645 msgid "This option must be selected" msgstr "" -#: part/api.py:1010 +#: part/api.py:1011 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1014 +#: part/api.py:1015 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1029 +#: part/api.py:1030 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1060 part/api.py:1064 part/api.py:1079 part/api.py:1083 +#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 msgid "This field is required" msgstr "" @@ -4080,17 +4128,13 @@ msgid "Available Stock" msgstr "" #: 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 +#: templates/js/translated/part.js:561 templates/js/translated/part.js:581 +#: templates/js/translated/part.js:1273 templates/js/translated/part.js:1445 +#: templates/js/translated/part.js:1461 msgid "On Order" msgstr "" -#: part/forms.py:59 -msgid "Select part category" -msgstr "" - -#: part/forms.py:69 +#: part/forms.py:60 msgid "Input quantity for price calculation" msgstr "" @@ -4106,7 +4150,7 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:115 part/models.py:2415 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2403 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -4123,7 +4167,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:144 +#: templates/js/translated/part.js:1864 templates/js/translated/search.js:144 #: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "" @@ -4153,7 +4197,7 @@ msgstr "" msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:738 part/models.py:2469 +#: part/models.py:738 part/models.py:2457 msgid "Part name" msgstr "" @@ -4186,12 +4230,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:776 part/models.py:2171 part/models.py:2414 +#: part/models.py:776 part/models.py:2159 part/models.py:2402 #: part/templates/part/part_base.html:257 -#: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 #: templates/InvenTree/settings/settings.html:231 -#: templates/js/translated/part.js:1369 +#: templates/js/translated/part.js:1413 templates/js/translated/part.js:1639 msgid "Category" msgstr "" @@ -4200,8 +4243,8 @@ msgid "Part category" msgstr "" #: 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 +#: templates/js/translated/part.js:710 templates/js/translated/part.js:1366 +#: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" @@ -4214,7 +4257,7 @@ msgid "Part revision or version number" msgstr "" #: part/models.py:790 part/templates/part/part_base.html:273 -#: report/models.py:170 templates/js/translated/part.js:670 +#: report/models.py:170 templates/js/translated/part.js:714 msgid "Revision" msgstr "" @@ -4302,317 +4345,321 @@ msgstr "" msgid "Creation User" msgstr "" -#: part/models.py:1690 +#: part/models.py:1685 msgid "Sell multiple" msgstr "" -#: part/models.py:2218 +#: part/models.py:2206 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2235 +#: part/models.py:2223 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2255 templates/js/translated/part.js:1819 -#: templates/js/translated/stock.js:1274 +#: part/models.py:2243 templates/js/translated/part.js:1915 +#: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2256 +#: part/models.py:2244 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2261 +#: part/models.py:2249 msgid "Test Description" msgstr "" -#: part/models.py:2262 +#: part/models.py:2250 msgid "Enter description for this test" msgstr "" -#: part/models.py:2267 templates/js/translated/part.js:1828 +#: part/models.py:2255 templates/js/translated/part.js:1924 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2268 +#: part/models.py:2256 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2273 templates/js/translated/part.js:1836 +#: part/models.py:2261 templates/js/translated/part.js:1932 msgid "Requires Value" msgstr "" -#: part/models.py:2274 +#: part/models.py:2262 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2279 templates/js/translated/part.js:1843 +#: part/models.py:2267 templates/js/translated/part.js:1939 msgid "Requires Attachment" msgstr "" -#: part/models.py:2280 +#: part/models.py:2268 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2288 +#: part/models.py:2276 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2324 +#: part/models.py:2312 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2332 +#: part/models.py:2320 msgid "Parameter Name" msgstr "" -#: part/models.py:2339 +#: part/models.py:2327 msgid "Parameter Units" msgstr "" -#: part/models.py:2370 +#: part/models.py:2358 msgid "Parent Part" msgstr "" -#: part/models.py:2372 part/models.py:2420 part/models.py:2421 +#: part/models.py:2360 part/models.py:2408 part/models.py:2409 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Data" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Parameter Value" msgstr "" -#: part/models.py:2425 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2413 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2426 +#: part/models.py:2414 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2461 +#: part/models.py:2449 msgid "Part ID or part name" msgstr "" -#: part/models.py:2464 templates/js/translated/model_renderers.js:200 +#: part/models.py:2452 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2465 +#: part/models.py:2453 msgid "Unique part ID value" msgstr "" -#: part/models.py:2468 +#: part/models.py:2456 msgid "Part Name" msgstr "" -#: part/models.py:2472 +#: part/models.py:2460 msgid "Part IPN" msgstr "" -#: part/models.py:2473 +#: part/models.py:2461 msgid "Part IPN value" msgstr "" -#: part/models.py:2476 +#: part/models.py:2464 msgid "Level" msgstr "" -#: part/models.py:2477 +#: part/models.py:2465 msgid "BOM level" msgstr "" -#: part/models.py:2546 +#: part/models.py:2534 msgid "Select parent part" msgstr "" -#: part/models.py:2554 +#: part/models.py:2542 msgid "Sub part" msgstr "" -#: part/models.py:2555 +#: part/models.py:2543 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2561 +#: part/models.py:2549 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2563 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 +#: part/models.py:2551 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:871 templates/js/translated/bom.js:965 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2563 +#: part/models.py:2551 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2566 part/templates/part/upload_bom.html:55 +#: part/models.py:2554 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2567 +#: part/models.py:2555 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2570 +#: part/models.py:2558 msgid "BOM item reference" msgstr "" -#: part/models.py:2573 +#: part/models.py:2561 msgid "BOM item notes" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "Checksum" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "BOM line checksum" msgstr "" -#: part/models.py:2579 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:988 +#: part/models.py:2567 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:982 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2580 +#: part/models.py:2568 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2585 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:980 +#: part/models.py:2573 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:974 msgid "Allow Variants" msgstr "" -#: part/models.py:2586 +#: part/models.py:2574 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2664 stock/models.py:460 +#: part/models.py:2652 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2673 part/models.py:2675 +#: part/models.py:2661 part/models.py:2663 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2780 +#: part/models.py:2768 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2801 +#: part/models.py:2789 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2814 +#: part/models.py:2802 msgid "Parent BOM item" msgstr "" -#: part/models.py:2822 +#: part/models.py:2810 msgid "Substitute part" msgstr "" -#: part/models.py:2833 +#: part/models.py:2825 msgid "Part 1" msgstr "" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Part 2" msgstr "" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Select Related Part" msgstr "" -#: part/models.py:2868 -msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" +#: part/models.py:2847 +msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 +#: part/models.py:2851 +msgid "Duplicate relationship already exists" +msgstr "" + +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:794 +#: part/serializers.py:796 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:804 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:805 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:810 msgid "Include Inherited" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:811 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:816 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:817 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:820 +#: part/serializers.py:822 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:821 +#: part/serializers.py:823 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:861 +#: part/serializers.py:863 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:864 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:894 msgid "No part column specified" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:937 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:938 +#: part/serializers.py:940 msgid "No matching part found" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:943 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:950 +#: part/serializers.py:952 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:958 +#: part/serializers.py:960 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:979 +#: part/serializers.py:981 msgid "At least one BOM item is required" msgstr "" @@ -5088,10 +5135,10 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:143 -#: templates/js/translated/company.js:623 -#: templates/js/translated/company.js:882 +#: templates/js/translated/company.js:608 +#: templates/js/translated/company.js:867 #: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:658 +#: templates/js/translated/part.js:625 templates/js/translated/part.js:702 msgid "Inactive" msgstr "" @@ -5120,13 +5167,13 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1009 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1003 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/part.js:520 -#: templates/js/translated/part.js:540 templates/js/translated/part.js:1233 -#: templates/js/translated/part.js:1405 templates/js/translated/part.js:1421 +#: part/templates/part/part_base.html:238 templates/js/translated/part.js:564 +#: templates/js/translated/part.js:584 templates/js/translated/part.js:1277 +#: templates/js/translated/part.js:1449 templates/js/translated/part.js:1465 msgid "Building" msgstr "" @@ -5143,7 +5190,7 @@ msgstr "" msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:443 part/templates/part/prices.html:147 +#: part/templates/part/part_base.html:443 part/templates/part/prices.html:149 msgid "Calculate" msgstr "" @@ -5161,54 +5208,55 @@ msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:106 -#: part/templates/part/prices.html:123 +#: part/templates/part/part_pricing.html:103 +#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 +#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:104 -#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:111 -#: part/templates/part/prices.html:128 +#: part/templates/part/part_pricing.html:107 +#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 +#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 +#: part/templates/part/prices.html:130 msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:963 +#: templates/js/translated/bom.js:957 msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:246 +#: part/templates/part/prices.html:248 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:89 +#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:96 +#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:105 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/prices.html:107 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:128 -#: part/templates/part/prices.html:137 +#: part/templates/part/part_pricing.html:131 +#: part/templates/part/prices.html:139 msgid "No pricing information is available for this part." msgstr "" @@ -5232,43 +5280,6 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:9 -#, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" -"
Disable the \"Active\" part attribute and re-try.\n" -" " -msgstr "" - -#: part/templates/part/partial_delete.html:17 -#, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" -msgstr "" - -#: part/templates/part/partial_delete.html:22 -#, python-format -msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" -msgstr "" - -#: part/templates/part/partial_delete.html:32 -#, python-format -msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:43 -#, python-format -msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:54 -#, python-format -msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:67 -#, python-format -msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." -msgstr "" - #: part/templates/part/prices.html:19 msgid "Pricing ranges" msgstr "" @@ -5285,66 +5296,58 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:120 +#: part/templates/part/prices.html:122 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:123 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:143 +#: part/templates/part/prices.html:145 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:957 +#: part/templates/part/prices.html:160 templates/js/translated/bom.js:951 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:159 part/templates/part/prices.html:180 -#: part/templates/part/prices.html:204 part/templates/part/prices.html:234 -#: part/templates/part/prices.html:260 part/templates/part/prices.html:289 +#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 +#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 +#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:184 +#: part/templates/part/prices.html:186 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:193 +#: part/templates/part/prices.html:195 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:203 +#: part/templates/part/prices.html:205 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:218 +#: part/templates/part/prices.html:220 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:233 +#: part/templates/part/prices.html:235 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:259 +#: part/templates/part/prices.html:261 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:300 +#: part/templates/part/prices.html:302 msgid "No sale pice history available for this part." msgstr "" -#: part/templates/part/set_category.html:9 -msgid "Set category for the following parts" -msgstr "" - -#: part/templates/part/set_category.html:32 -msgid "Remove part" -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543 -#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:587 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:1469 msgid "No Stock" msgstr "" @@ -5407,56 +5410,39 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:74 -msgid "Set Part Category" -msgstr "" - -#: part/views.py:122 -#, python-brace-format -msgid "Set category for {n} parts" -msgstr "" - -#: part/views.py:193 +#: part/views.py:118 msgid "Match References" msgstr "" -#: part/views.py:494 +#: part/views.py:419 msgid "None" msgstr "" -#: part/views.py:556 +#: part/views.py:481 msgid "Part QR Code" msgstr "" -#: part/views.py:650 +#: part/views.py:575 msgid "Select Part Image" msgstr "" -#: part/views.py:676 +#: part/views.py:601 msgid "Updated part image" msgstr "" -#: part/views.py:679 +#: part/views.py:604 msgid "Part image not found" msgstr "" -#: part/views.py:768 -msgid "Confirm Part Deletion" -msgstr "" - -#: part/views.py:776 -msgid "Part was deleted" -msgstr "" - -#: part/views.py:785 +#: part/views.py:693 msgid "Part Pricing" msgstr "" -#: part/views.py:976 +#: part/views.py:884 msgid "Delete Part Category" msgstr "" -#: part/views.py:983 +#: part/views.py:891 msgid "Part category was deleted" msgstr "" @@ -5516,21 +5502,21 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:28 +#: plugin/builtin/integration/core_notifications.py:29 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 +#: plugin/builtin/integration/core_notifications.py:30 msgid "Integrated outgoing notificaton methods" msgstr "" -#: 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:34 #: plugin/builtin/integration/core_notifications.py:53 +msgid "Enable email notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:35 +#: plugin/builtin/integration/core_notifications.py:54 msgid "Allow sending of emails for event notifications" msgstr "" @@ -5646,15 +5632,19 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:166 +#: report/api.py:179 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:198 report/api.py:239 +#: report/api.py:215 report/api.py:256 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" +#: report/api.py:359 +msgid "Test report" +msgstr "" + #: report/models.py:152 msgid "Template name" msgstr "" @@ -5757,7 +5747,7 @@ msgstr "" #: 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:3229 -#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:434 msgid "Serial Number" msgstr "" @@ -5766,19 +5756,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2068 +#: stock/models.py:2072 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2074 +#: stock/models.py:2078 msgid "Result" 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:1669 templates/js/translated/stock.js:2340 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2350 msgid "Date" msgstr "" @@ -5796,20 +5786,20 @@ msgid "Installed Items" 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:2589 +#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724 +#: templates/js/translated/stock.js:2599 msgid "Serial" msgstr "" -#: stock/api.py:504 +#: stock/api.py:505 msgid "Quantity is required" msgstr "" -#: stock/api.py:511 +#: stock/api.py:512 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:536 +#: stock/api.py:537 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5917,7 +5907,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1826 msgid "Expiry Date" msgstr "" @@ -5971,79 +5961,79 @@ msgstr "" msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1325 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1324 +#: stock/models.py:1328 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1327 +#: stock/models.py:1331 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1334 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1333 +#: stock/models.py:1337 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1340 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1343 stock/serializers.py:908 +#: stock/models.py:1347 stock/serializers.py:895 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1347 +#: stock/models.py:1351 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1355 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1359 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1524 +#: stock/models.py:1528 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1986 +#: stock/models.py:1990 msgid "Entry notes" msgstr "" -#: stock/models.py:2044 +#: stock/models.py:2048 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2050 +#: stock/models.py:2054 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2069 +#: stock/models.py:2073 msgid "Test name" msgstr "" -#: stock/models.py:2075 +#: stock/models.py:2079 msgid "Test result" msgstr "" -#: stock/models.py:2081 +#: stock/models.py:2085 msgid "Test output value" msgstr "" -#: stock/models.py:2088 +#: stock/models.py:2092 msgid "Test result attachment" msgstr "" -#: stock/models.py:2094 +#: stock/models.py:2098 msgid "Test notes" msgstr "" @@ -6064,7 +6054,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:865 stock/serializers.py:1098 +#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 msgid "Destination stock location" msgstr "" @@ -6104,63 +6094,63 @@ msgstr "" msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:707 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:724 +#: stock/serializers.py:711 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:728 +#: stock/serializers.py:715 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:759 +#: stock/serializers.py:746 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:765 +#: stock/serializers.py:752 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:773 +#: stock/serializers.py:760 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:783 stock/serializers.py:1014 +#: stock/serializers.py:770 stock/serializers.py:1001 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:872 +#: stock/serializers.py:859 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:877 +#: stock/serializers.py:864 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:878 +#: stock/serializers.py:865 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:883 +#: stock/serializers.py:870 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:884 +#: stock/serializers.py:871 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:894 +#: stock/serializers.py:881 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:976 +#: stock/serializers.py:963 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1004 +#: stock/serializers.py:991 msgid "Stock transaction notes" msgstr "" @@ -6185,7 +6175,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:298 msgid "Delete Test Data" msgstr "" @@ -6197,11 +6187,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2733 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2743 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:292 templates/js/translated/stock.js:1455 +#: stock/templates/stock/item.html:290 +msgid "Delete all test results for this stock item" +msgstr "" + +#: stock/templates/stock/item.html:323 templates/js/translated/stock.js:1465 msgid "Add Test Result" msgstr "" @@ -6388,7 +6382,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/stock.js:1842 msgid "Last Updated" msgstr "" @@ -6529,7 +6523,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:182 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:144 msgid "Convert Stock Item" msgstr "" @@ -6550,31 +6544,19 @@ msgstr "" msgid "This action cannot be easily undone" msgstr "" -#: stock/views.py:113 +#: stock/views.py:111 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:131 -msgid "Delete All Test Data" -msgstr "" - -#: stock/views.py:149 -msgid "Confirm test data deletion" -msgstr "" - -#: stock/views.py:150 -msgid "Check the confirmation box" -msgstr "" - -#: stock/views.py:165 +#: stock/views.py:127 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:216 +#: stock/views.py:178 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:229 +#: stock/views.py:191 msgid "Delete Stock Item" msgstr "" @@ -7317,8 +7299,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:56 templates/js/translated/modals.js:595 -#: templates/js/translated/modals.js:689 templates/js/translated/modals.js:997 +#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 +#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 #: templates/js/translated/order.js:928 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7390,6 +7372,10 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:630 +msgid "Confirm" +msgstr "" + #: templates/account/email_confirm.html:27 #, python-format msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." @@ -7562,7 +7548,7 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:112 msgid "Delete Attachments" msgstr "" @@ -7596,15 +7582,15 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1425 +#: templates/js/translated/bom.js:1419 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: 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/bom.js:884 templates/js/translated/build.js:1787 +#: templates/js/translated/build.js:2650 templates/js/translated/part.js:571 +#: templates/js/translated/part.js:574 #: templates/js/translated/table_filters.js:178 msgid "Available" msgstr "" @@ -7622,6 +7608,13 @@ msgstr "" msgid "Minimum Quantity" msgstr "" +#: templates/email/new_order_assigned.html:9 +#: templates/email/overdue_build_order.html:9 +#: templates/email/overdue_purchase_order.html:9 +#: templates/email/overdue_sales_order.html:9 +msgid "Click on the following link to view this order" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -7638,91 +7631,91 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:235 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1073 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1074 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:242 +#: templates/js/translated/api.js:202 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:243 +#: templates/js/translated/api.js:203 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1083 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1084 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:252 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1088 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:253 templates/js/translated/modals.js:1083 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1089 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1093 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1088 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1094 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:262 +#: templates/js/translated/api.js:222 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:263 +#: templates/js/translated/api.js:223 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:267 templates/js/translated/modals.js:1092 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1098 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:268 templates/js/translated/modals.js:1093 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1099 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:271 +#: templates/js/translated/api.js:231 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:272 +#: templates/js/translated/api.js:232 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:96 +#: templates/js/translated/attachment.js:98 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:156 +#: templates/js/translated/attachment.js:152 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:180 +#: templates/js/translated/attachment.js:176 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:246 +#: templates/js/translated/attachment.js:242 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:262 +#: templates/js/translated/attachment.js:264 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:269 +#: templates/js/translated/attachment.js:271 msgid "Delete attachment" msgstr "" @@ -7755,7 +7748,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "Invalid server response" msgstr "" @@ -7783,7 +7776,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999 +#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:998 msgid "Remove stock item" msgstr "" @@ -7918,89 +7911,89 @@ msgstr "" msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:682 +#: templates/js/translated/bom.js:684 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:697 +#: templates/js/translated/bom.js:699 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:824 +#: templates/js/translated/bom.js:818 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:834 +#: templates/js/translated/bom.js:828 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:838 templates/js/translated/build.js:1769 +#: templates/js/translated/bom.js:832 templates/js/translated/build.js:1769 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/bom.js:900 templates/js/translated/build.js:1814 #: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:910 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:904 templates/js/translated/build.js:1818 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:912 templates/js/translated/build.js:1820 -#: templates/js/translated/part.js:690 +#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1820 +#: templates/js/translated/part.js:734 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:914 templates/js/translated/build.js:1822 +#: templates/js/translated/bom.js:908 templates/js/translated/build.js:1822 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:928 +#: templates/js/translated/bom.js:922 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:943 +#: templates/js/translated/bom.js:937 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:950 +#: templates/js/translated/bom.js:944 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:999 templates/js/translated/bom.js:1090 +#: templates/js/translated/bom.js:993 templates/js/translated/bom.js:1084 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1061 +#: templates/js/translated/bom.js:1055 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1063 +#: templates/js/translated/bom.js:1057 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1065 +#: templates/js/translated/bom.js:1059 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1067 templates/js/translated/bom.js:1228 +#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1222 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1069 +#: templates/js/translated/bom.js:1063 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1164 templates/js/translated/build.js:1615 +#: templates/js/translated/bom.js:1158 templates/js/translated/build.js:1615 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1408 templates/js/translated/build.js:1753 +#: templates/js/translated/bom.js:1402 templates/js/translated/build.js:1753 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1430 +#: templates/js/translated/bom.js:1424 msgid "Inherited from parent BOM" msgstr "" @@ -8040,13 +8033,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91 -#: templates/js/translated/stock.js:181 +#: templates/js/translated/build.js:259 templates/js/translated/stock.js:90 +#: templates/js/translated/stock.js:180 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93 -#: templates/js/translated/stock.js:183 +#: templates/js/translated/build.js:261 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:182 msgid "Latest serial number" msgstr "" @@ -8259,9 +8252,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: 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 +#: templates/js/translated/build.js:2448 templates/js/translated/part.js:1358 +#: templates/js/translated/part.js:1825 templates/js/translated/stock.js:1629 +#: templates/js/translated/stock.js:2287 msgid "Select" msgstr "" @@ -8273,7 +8266,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2519 +#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2529 msgid "No user information" msgstr "" @@ -8285,107 +8278,107 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:169 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:168 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:157 templates/js/translated/order.js:506 +#: templates/js/translated/company.js:156 templates/js/translated/order.js:506 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:185 +#: templates/js/translated/company.js:184 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:200 +#: templates/js/translated/company.js:199 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:249 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:263 +#: templates/js/translated/company.js:264 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:342 +#: templates/js/translated/company.js:336 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:413 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:428 +#: templates/js/translated/company.js:422 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:443 +#: templates/js/translated/company.js:437 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:478 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:492 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:526 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:548 +#: templates/js/translated/company.js:539 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:595 +#: templates/js/translated/company.js:580 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:615 -#: templates/js/translated/company.js:874 templates/js/translated/part.js:565 -#: templates/js/translated/part.js:650 +#: templates/js/translated/company.js:600 +#: templates/js/translated/company.js:859 templates/js/translated/part.js:609 +#: templates/js/translated/part.js:694 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:619 -#: templates/js/translated/company.js:878 templates/js/translated/part.js:569 -#: templates/js/translated/part.js:654 +#: templates/js/translated/company.js:604 +#: templates/js/translated/company.js:863 templates/js/translated/part.js:613 +#: templates/js/translated/part.js:698 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:747 templates/js/translated/part.js:757 +#: templates/js/translated/company.js:732 templates/js/translated/part.js:801 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:799 +#: templates/js/translated/company.js:769 templates/js/translated/part.js:843 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:785 templates/js/translated/part.js:800 +#: templates/js/translated/company.js:770 templates/js/translated/part.js:844 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:804 templates/js/translated/part.js:817 +#: templates/js/translated/company.js:789 templates/js/translated/part.js:861 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:815 templates/js/translated/part.js:829 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:873 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:854 +#: templates/js/translated/company.js:839 msgid "No supplier parts found" msgstr "" @@ -8448,36 +8441,36 @@ msgstr "" msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:756 +#: templates/js/translated/forms.js:757 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1248 templates/modals.html:19 +#: templates/js/translated/forms.js:1249 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1681 +#: templates/js/translated/forms.js:1682 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1896 templates/search.html:29 +#: templates/js/translated/forms.js:1897 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2149 +#: templates/js/translated/forms.js:2150 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2627 +#: templates/js/translated/forms.js:2628 msgid "Select Columns" msgstr "" @@ -8498,7 +8491,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1023 +#: templates/js/translated/stock.js:1022 msgid "Select Stock Items" msgstr "" @@ -8552,12 +8545,12 @@ msgid "Select Label Template" msgstr "" #: templates/js/translated/modals.js:82 templates/js/translated/modals.js:142 -#: templates/js/translated/modals.js:621 +#: templates/js/translated/modals.js:627 msgid "Cancel" msgstr "" #: 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/js/translated/modals.js:694 templates/js/translated/modals.js:1002 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" @@ -8566,47 +8559,47 @@ msgstr "" msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:403 +#: templates/js/translated/modals.js:421 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:562 +#: templates/js/translated/modals.js:568 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:620 +#: templates/js/translated/modals.js:626 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:677 +#: templates/js/translated/modals.js:683 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:960 +#: templates/js/translated/modals.js:966 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1072 +#: templates/js/translated/modals.js:1078 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1073 +#: templates/js/translated/modals.js:1079 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1096 +#: templates/js/translated/modals.js:1102 msgid "Error requesting form data" msgstr "" @@ -8656,11 +8649,11 @@ msgstr "" msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:259 +#: templates/js/translated/notification.js:260 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:300 templates/notifications.html:10 +#: templates/js/translated/notification.js:302 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" @@ -8804,7 +8797,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2080 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2090 msgid "Stock Status" msgstr "" @@ -8828,7 +8821,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1602 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1602 templates/js/translated/part.js:914 msgid "No purchase orders found" msgstr "" @@ -8863,7 +8856,7 @@ msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 #: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 -#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 +#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2397 msgid "Unit Price" msgstr "" @@ -8873,11 +8866,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:1993 templates/js/translated/order.js:3525 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:1023 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1069 msgid "Receive line item" msgstr "" @@ -8998,7 +8991,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1535 +#: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" @@ -9138,165 +9131,209 @@ msgstr "" msgid "Create Part Variant" msgstr "" +#: templates/js/translated/part.js:405 +msgid "Active Part" +msgstr "" + +#: templates/js/translated/part.js:406 +msgid "Part cannot be deleted as it is currently active" +msgstr "" + +#: templates/js/translated/part.js:420 +msgid "Deleting this part cannot be reversed" +msgstr "" + +#: templates/js/translated/part.js:422 +msgid "Any stock items for this part will be deleted" +msgstr "" + #: templates/js/translated/part.js:423 +msgid "This part will be removed from any Bills of Material" +msgstr "" + +#: templates/js/translated/part.js:424 +msgid "All manufacturer and supplier information for this part will be deleted" +msgstr "" + +#: templates/js/translated/part.js:431 +msgid "Delete Part" +msgstr "" + +#: templates/js/translated/part.js:467 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:425 +#: templates/js/translated/part.js:469 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:474 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:476 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:493 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:503 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:506 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:487 +#: templates/js/translated/part.js:531 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:513 templates/js/translated/part.js:1397 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1441 #: templates/js/translated/table_filters.js:452 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:523 templates/js/translated/part.js:1409 +#: templates/js/translated/part.js:567 templates/js/translated/part.js:1453 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:557 templates/js/translated/part.js:642 +#: templates/js/translated/part.js:601 templates/js/translated/part.js:686 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:561 templates/js/translated/part.js:646 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:690 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:617 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:577 +#: templates/js/translated/part.js:621 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:705 +#: templates/js/translated/part.js:749 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1095 +#: templates/js/translated/part.js:1139 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1119 +#: templates/js/translated/part.js:1163 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1184 templates/js/translated/part.js:1480 +#: templates/js/translated/part.js:1228 templates/js/translated/part.js:1524 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1223 +#: templates/js/translated/part.js:1267 msgid "Not available" msgstr "" -#: templates/js/translated/part.js:1374 +#: templates/js/translated/part.js:1418 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664 -#: templates/js/translated/stock.js:2238 +#: templates/js/translated/part.js:1548 templates/js/translated/part.js:1760 +#: templates/js/translated/stock.js:2248 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1520 +#: templates/js/translated/part.js:1564 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2257 +#: templates/js/translated/part.js:1630 +msgid "Set the part category for the selected parts" +msgstr "" + +#: templates/js/translated/part.js:1635 +msgid "Set Part Category" +msgstr "" + +#: templates/js/translated/part.js:1640 +msgid "Select Part Category" +msgstr "" + +#: templates/js/translated/part.js:1653 +msgid "Category is required" +msgstr "" + +#: templates/js/translated/part.js:1779 templates/js/translated/stock.js:2267 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1747 +#: templates/js/translated/part.js:1843 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2301 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2311 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:1901 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1233 +#: templates/js/translated/part.js:1952 templates/js/translated/stock.js:1243 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1234 -#: templates/js/translated/stock.js:1493 +#: templates/js/translated/part.js:1953 templates/js/translated/stock.js:1244 +#: templates/js/translated/stock.js:1503 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1863 +#: templates/js/translated/part.js:1959 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1885 +#: templates/js/translated/part.js:1981 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:1995 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1924 +#: templates/js/translated/part.js:2020 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1981 +#: templates/js/translated/part.js:2077 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1982 +#: templates/js/translated/part.js:2078 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:2096 +#: templates/js/translated/part.js:2192 msgid "Current Stock" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2225 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2155 +#: templates/js/translated/part.js:2251 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2225 +#: templates/js/translated/part.js:2321 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:2244 +#: templates/js/translated/part.js:2340 msgid "Single Price Difference" msgstr "" @@ -9378,360 +9415,360 @@ msgstr "" msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:72 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:101 +#: templates/js/translated/stock.js:100 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:109 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:139 +#: templates/js/translated/stock.js:138 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:153 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:194 +#: templates/js/translated/stock.js:193 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:233 +#: templates/js/translated/stock.js:232 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:239 +#: templates/js/translated/stock.js:238 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:303 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:324 +#: templates/js/translated/stock.js:323 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:344 +#: templates/js/translated/stock.js:343 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:394 +#: templates/js/translated/stock.js:393 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:407 +#: templates/js/translated/stock.js:406 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:431 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:453 +#: templates/js/translated/stock.js:452 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:472 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:481 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:605 +#: templates/js/translated/stock.js:604 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:606 +#: templates/js/translated/stock.js:605 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:683 +#: templates/js/translated/stock.js:682 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:684 +#: templates/js/translated/stock.js:683 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:686 +#: templates/js/translated/stock.js:685 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:687 +#: templates/js/translated/stock.js:686 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:772 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:774 +#: templates/js/translated/stock.js:773 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:869 +#: templates/js/translated/stock.js:868 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:869 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:876 +#: templates/js/translated/stock.js:875 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:876 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:881 +#: templates/js/translated/stock.js:880 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:882 +#: templates/js/translated/stock.js:881 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:886 +#: templates/js/translated/stock.js:885 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:887 users/models.py:215 +#: templates/js/translated/stock.js:886 users/models.py:215 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1024 +#: templates/js/translated/stock.js:1023 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1047 +#: templates/js/translated/stock.js:1046 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1172 +#: templates/js/translated/stock.js:1182 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1174 +#: templates/js/translated/stock.js:1184 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1179 +#: templates/js/translated/stock.js:1189 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1226 +#: templates/js/translated/stock.js:1236 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1229 +#: templates/js/translated/stock.js:1239 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1255 +#: templates/js/translated/stock.js:1265 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1321 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1476 +#: templates/js/translated/stock.js:1486 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1498 +#: templates/js/translated/stock.js:1508 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1527 +#: templates/js/translated/stock.js:1537 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1531 +#: templates/js/translated/stock.js:1541 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1539 +#: templates/js/translated/stock.js:1549 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1545 +#: templates/js/translated/stock.js:1555 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1712 +#: templates/js/translated/stock.js:1722 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1727 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1720 +#: templates/js/translated/stock.js:1730 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1723 +#: templates/js/translated/stock.js:1733 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1725 +#: templates/js/translated/stock.js:1735 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1727 +#: templates/js/translated/stock.js:1737 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1730 +#: templates/js/translated/stock.js:1740 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1734 +#: templates/js/translated/stock.js:1744 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1746 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1743 +#: templates/js/translated/stock.js:1753 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1755 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:1757 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1751 +#: templates/js/translated/stock.js:1761 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1802 +#: templates/js/translated/stock.js:1812 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1894 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1932 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2095 +#: templates/js/translated/stock.js:2105 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2109 +#: templates/js/translated/stock.js:2119 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2120 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2375 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2381 +#: templates/js/translated/stock.js:2391 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2403 +#: templates/js/translated/stock.js:2413 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2422 +#: templates/js/translated/stock.js:2432 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2441 +#: templates/js/translated/stock.js:2451 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2459 +#: templates/js/translated/stock.js:2469 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2482 +#: templates/js/translated/stock.js:2492 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2490 +#: templates/js/translated/stock.js:2500 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2566 +#: templates/js/translated/stock.js:2576 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2617 templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2663 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2666 +#: templates/js/translated/stock.js:2676 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2697 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2688 +#: templates/js/translated/stock.js:2698 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2690 +#: templates/js/translated/stock.js:2700 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/stock.js:2701 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2702 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2693 +#: templates/js/translated/stock.js:2703 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2716 msgid "Select part to install" msgstr "" diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po index b17d3d6faf..496dd91aef 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-06-03 10:21+0000\n" +"POT-Creation-Date: 2022-06-06 11:28+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -30,48 +30,39 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:630 -msgid "Confirm" -msgstr "" - -#: InvenTree/forms.py:134 +#: InvenTree/forms.py:117 msgid "Confirm delete" msgstr "" -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:118 msgid "Confirm item deletion" msgstr "" -#: InvenTree/forms.py:167 +#: InvenTree/forms.py:150 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:151 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:158 msgid "Confirm password" msgstr "" -#: InvenTree/forms.py:176 +#: InvenTree/forms.py:159 msgid "Confirm new password" msgstr "" -#: InvenTree/forms.py:213 -msgid "Select Category" -msgstr "" - -#: InvenTree/forms.py:234 +#: InvenTree/forms.py:184 msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:238 +#: InvenTree/forms.py:188 msgid "Email address confirmation" msgstr "" -#: InvenTree/forms.py:259 +#: InvenTree/forms.py:209 msgid "You must type the same email each time." msgstr "" @@ -80,7 +71,7 @@ msgstr "" msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 +#: InvenTree/helpers.py:409 order/models.py:369 order/models.py:521 msgid "Invalid quantity provided" msgstr "" @@ -117,114 +108,113 @@ msgstr "" msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:174 +#: InvenTree/models.py:178 msgid "Missing file" msgstr "" -#: InvenTree/models.py:175 +#: InvenTree/models.py:179 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:187 stock/models.py:2087 +#: InvenTree/models.py:191 stock/models.py:2091 #: templates/js/translated/attachment.js:101 #: templates/js/translated/attachment.js:198 msgid "Attachment" msgstr "" -#: InvenTree/models.py:188 +#: InvenTree/models.py:192 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 -#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: InvenTree/models.py:198 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:135 order/models.py:1239 #: 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 -#: templates/js/translated/part.js:1441 +#: templates/js/translated/part.js:1485 msgid "Link" msgstr "" -#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: InvenTree/models.py:199 build/models.py:320 part/models.py:796 #: stock/models.py:642 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 +#: InvenTree/models.py:202 templates/js/translated/attachment.js:102 #: templates/js/translated/attachment.js:242 msgid "Comment" msgstr "" -#: InvenTree/models.py:198 +#: InvenTree/models.py:202 msgid "File comment" msgstr "" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1506 +#: common/models.py:1507 common/models.py:1735 common/models.py:1736 +#: common/models.py:1998 common/models.py:1999 part/models.py:2141 +#: part/models.py:2161 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:208 +#: InvenTree/models.py:212 msgid "upload date" msgstr "" -#: InvenTree/models.py:230 +#: InvenTree/models.py:234 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:253 +#: InvenTree/models.py:257 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:263 +#: InvenTree/models.py:267 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:266 +#: InvenTree/models.py:270 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:273 +#: InvenTree/models.py:277 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:280 +#: InvenTree/models.py:284 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:314 +#: InvenTree/models.py:318 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 #: company/models.py:354 label/models.py:101 part/models.py:739 -#: part/models.py:2331 plugin/models.py:93 report/models.py:151 +#: part/models.py:2319 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 #: templates/InvenTree/settings/plugin.html:132 #: templates/InvenTree/settings/plugin_settings.html:23 -#: templates/InvenTree/settings/settings.html:327 +#: templates/InvenTree/settings/settings.html:346 #: 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/company.js:757 templates/js/translated/part.js:659 +#: templates/js/translated/part.js:811 templates/js/translated/part.js:1832 #: templates/js/translated/stock.js:2283 msgid "Name" msgstr "" -#: InvenTree/models.py:340 build/models.py:197 +#: InvenTree/models.py:344 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: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:164 +#: part/templates/part/part_base.html:167 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 @@ -234,71 +224,79 @@ msgstr "" #: 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:1676 +#: templates/js/translated/part.js:718 templates/js/translated/part.js:1126 +#: templates/js/translated/part.js:1399 templates/js/translated/part.js:1851 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:1676 #: templates/js/translated/stock.js:2295 templates/js/translated/stock.js:2350 msgid "Description" msgstr "" -#: InvenTree/models.py:341 +#: InvenTree/models.py:345 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:349 +#: InvenTree/models.py:353 msgid "parent" msgstr "" -#: InvenTree/serializers.py:52 part/models.py:2650 +#: InvenTree/models.py:466 +msgid "Server Error" +msgstr "" + +#: InvenTree/models.py:467 +msgid "An error has been logged by the server." +msgstr "" + +#: InvenTree/serializers.py:52 part/models.py:2640 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:271 +#: InvenTree/serializers.py:263 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:306 +#: InvenTree/serializers.py:298 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:320 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:321 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:342 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:348 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:377 +#: InvenTree/serializers.py:369 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:372 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:495 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:506 +#: InvenTree/serializers.py:498 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:583 +#: InvenTree/serializers.py:575 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:592 +#: InvenTree/serializers.py:584 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" @@ -441,7 +439,7 @@ msgstr "" msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:141 order/models.py:1114 +#: InvenTree/status_codes.py:141 order/models.py:1118 #: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "" @@ -598,27 +596,27 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:522 +#: InvenTree/views.py:521 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:571 +#: InvenTree/views.py:570 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:585 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:597 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "" -#: InvenTree/views.py:618 +#: InvenTree/views.py:617 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:842 templates/navbar.html:152 +#: InvenTree/views.py:807 templates/navbar.html:152 msgid "System Information" msgstr "" @@ -629,6 +627,7 @@ msgstr "" #: 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/email/overdue_build_order.html:15 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "" @@ -647,8 +646,8 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:189 order/models.py:288 order/models.py:638 -#: order/models.py:916 part/models.py:2568 +#: build/models.py:189 order/models.py:292 order/models.py:642 +#: order/models.py:920 part/models.py:2558 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 @@ -674,13 +673,12 @@ msgstr "" #: 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 +#: order/models.py:1016 order/models.py:1107 part/models.py:336 +#: part/models.py:2087 part/models.py:2102 part/models.py:2121 +#: part/models.py:2139 part/models.py:2238 part/models.py:2358 +#: part/models.py:2448 part/models.py:2533 part/models.py:2809 +#: part/serializers.py:795 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 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 @@ -688,6 +686,7 @@ msgstr "" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 +#: templates/email/overdue_build_order.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:805 #: templates/js/translated/build.js:1153 templates/js/translated/build.js:1647 @@ -699,8 +698,8 @@ msgstr "" #: templates/js/translated/order.js:883 templates/js/translated/order.js:1315 #: 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/part.js:1111 templates/js/translated/part.js:1181 +#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:531 #: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903 #: templates/js/translated/stock.js:1633 templates/js/translated/stock.js:2376 #: templates/js/translated/stock.js:2571 templates/js/translated/stock.js:2705 @@ -774,7 +773,7 @@ msgstr "" msgid "Creation Date" msgstr "" -#: build/models.py:286 order/models.py:660 +#: build/models.py:286 order/models.py:664 msgid "Target completion date" msgstr "" @@ -782,7 +781,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:290 order/models.py:331 +#: build/models.py:290 order/models.py:335 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "" @@ -823,14 +822,14 @@ msgstr "" #: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 #: company/models.py:519 company/templates/company/sidebar.html:25 -#: order/models.py:155 order/models.py:918 order/models.py:1213 +#: order/models.py:155 order/models.py:922 order/models.py:1217 #: order/templates/order/po_sidebar.html:11 #: 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:713 stock/models.py:1985 stock/models.py:2093 +#: stock/models.py:713 stock/models.py:1989 stock/models.py:2097 #: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:486 -#: stock/serializers.py:772 stock/serializers.py:871 stock/serializers.py:1003 +#: stock/serializers.py:759 stock/serializers.py:858 stock/serializers.py:990 #: 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 @@ -869,7 +868,7 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1133 order/models.py:1372 +#: build/models.py:1133 order/models.py:1376 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -891,9 +890,9 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 -#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:703 -#: stock/serializers.py:829 stock/templates/stock/item_base.html:10 +#: build/models.py:1282 build/serializers.py:603 order/serializers.py:996 +#: order/serializers.py:1017 stock/serializers.py:382 stock/serializers.py:690 +#: stock/serializers.py:816 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 @@ -912,11 +911,11 @@ msgstr "" #: build/models.py:1295 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1536 +#: build/templates/build/detail.html:34 common/models.py:1543 #: 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:91 -#: part/forms.py:106 part/forms.py:121 part/models.py:2559 +#: order/models.py:913 order/models.py:1416 order/serializers.py:1136 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 +#: part/forms.py:74 part/forms.py:89 part/models.py:2549 #: 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 @@ -938,9 +937,9 @@ msgstr "" #: 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: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 +#: templates/js/translated/part.js:1011 templates/js/translated/part.js:2065 +#: templates/js/translated/part.js:2296 templates/js/translated/part.js:2330 +#: templates/js/translated/part.js:2408 templates/js/translated/stock.js:403 #: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727 #: templates/js/translated/stock.js:2498 templates/js/translated/stock.js:2583 msgid "Quantity" @@ -983,9 +982,9 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: 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:1239 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:367 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:514 +#: part/serializers.py:958 stock/models.py:470 stock/models.py:1239 #: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" @@ -998,7 +997,7 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 #: 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" @@ -1026,7 +1025,7 @@ msgstr "" #: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 #: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:481 -#: stock/serializers.py:864 stock/serializers.py:1097 +#: stock/serializers.py:851 stock/serializers.py:1084 #: 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 @@ -1044,7 +1043,7 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:363 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:654 +#: build/templates/build/detail.html:62 order/models.py:658 #: 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 @@ -1109,8 +1108,8 @@ msgstr "" msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:535 build/serializers.py:580 part/models.py:2677 -#: part/models.py:2811 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2667 +#: part/models.py:2801 msgid "BOM Item" msgstr "" @@ -1126,11 +1125,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:716 +#: build/serializers.py:609 stock/serializers.py:703 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:667 order/serializers.py:1052 +#: build/serializers.py:667 order/serializers.py:1054 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1147,7 +1146,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:708 order/serializers.py:1298 +#: build/serializers.py:708 order/serializers.py:1300 msgid "Allocation items must be provided" msgstr "" @@ -1179,10 +1178,19 @@ msgstr "" msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:96 +#: build/tasks.py:100 msgid "Stock required for build order" msgstr "" +#: build/tasks.py:118 +msgid "Overdue Build Order" +msgstr "" + +#: build/tasks.py:123 +#, python-brace-format +msgid "Build order {bo} is now overdue" +msgstr "" + #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 #: order/templates/order/sales_order_base.html:38 @@ -1245,13 +1253,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:922 +#: build/templates/build/detail.html:131 order/models.py:926 #: 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: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 +#: templates/js/translated/order.js:3517 templates/js/translated/part.js:1015 msgid "Target Date" msgstr "" @@ -1278,13 +1286,14 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1100 -#: order/models.py:1185 order/models.py:1320 +#: build/templates/build/detail.html:94 order/models.py:1104 +#: order/models.py:1189 order/models.py:1324 #: 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/email/overdue_sales_order.html:15 #: templates/js/translated/order.js:2436 msgid "Sales Order" msgstr "" @@ -1320,7 +1329,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1034 +#: build/templates/build/detail.html:49 order/models.py:1038 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "" @@ -1717,7 +1726,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:820 part/models.py:2372 report/models.py:157 +#: common/models.py:820 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" @@ -1881,7 +1890,7 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:968 -msgid "Test Reports" +msgid "Enable Test Reports" msgstr "" #: common/models.py:969 @@ -1889,568 +1898,576 @@ msgid "Enable generation of test reports" msgstr "" #: common/models.py:975 -msgid "Batch Code Template" +msgid "Attach Test Reports" msgstr "" #: common/models.py:976 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:981 -msgid "Stock Expiry" +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" #: common/models.py:982 -msgid "Enable stock expiry functionality" +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:983 +msgid "Template for generating default batch codes for stock items" msgstr "" #: common/models.py:988 -msgid "Sell Expired Stock" +msgid "Stock Expiry" msgstr "" #: common/models.py:989 -msgid "Allow sale of expired stock" +msgid "Enable stock expiry functionality" msgstr "" #: common/models.py:995 -msgid "Stock Stale Time" +msgid "Sell Expired Stock" msgstr "" #: common/models.py:996 -msgid "Number of days stock items are considered stale before expiring" +msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:998 -msgid "days" +#: common/models.py:1002 +msgid "Stock Stale Time" msgstr "" #: common/models.py:1003 -msgid "Build Expired Stock" +msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1004 -msgid "Allow building with expired stock" +#: common/models.py:1005 +msgid "days" msgstr "" #: common/models.py:1010 -msgid "Stock Ownership Control" +msgid "Build Expired Stock" msgstr "" #: common/models.py:1011 -msgid "Enable ownership control over stock locations and items" +msgid "Allow building with expired stock" msgstr "" #: common/models.py:1017 -msgid "Build Order Reference Prefix" +msgid "Stock Ownership Control" msgstr "" #: common/models.py:1018 -msgid "Prefix value for build order reference" -msgstr "" - -#: common/models.py:1023 -msgid "Build Order Reference Regex" +msgid "Enable ownership control over stock locations and items" msgstr "" #: common/models.py:1024 +msgid "Build Order Reference Prefix" +msgstr "" + +#: common/models.py:1025 +msgid "Prefix value for build order reference" +msgstr "" + +#: common/models.py:1030 +msgid "Build Order Reference Regex" +msgstr "" + +#: common/models.py:1031 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1029 +#: common/models.py:1036 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1041 +#: common/models.py:1048 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1042 +#: common/models.py:1049 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1048 +#: common/models.py:1055 msgid "Enable password forgot" msgstr "" -#: common/models.py:1049 +#: common/models.py:1056 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1055 +#: common/models.py:1062 msgid "Enable registration" msgstr "" -#: common/models.py:1056 +#: common/models.py:1063 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1069 msgid "Enable SSO" msgstr "" -#: common/models.py:1063 +#: common/models.py:1070 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1069 +#: common/models.py:1076 msgid "Email required" msgstr "" -#: common/models.py:1070 +#: common/models.py:1077 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1076 +#: common/models.py:1083 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1077 +#: common/models.py:1084 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1083 +#: common/models.py:1090 msgid "Mail twice" msgstr "" -#: common/models.py:1084 +#: common/models.py:1091 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1090 +#: common/models.py:1097 msgid "Password twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1098 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1097 +#: common/models.py:1104 msgid "Group on signup" msgstr "" -#: common/models.py:1098 +#: common/models.py:1105 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1104 +#: common/models.py:1111 msgid "Enforce MFA" msgstr "" -#: common/models.py:1105 +#: common/models.py:1112 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1111 +#: common/models.py:1118 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1112 +#: common/models.py:1119 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1120 +#: common/models.py:1127 msgid "Enable URL integration" msgstr "" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1136 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1136 +#: common/models.py:1143 msgid "Enable app integration" msgstr "" -#: common/models.py:1137 +#: common/models.py:1144 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1144 +#: common/models.py:1151 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1145 +#: common/models.py:1152 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1152 +#: common/models.py:1159 msgid "Enable event integration" msgstr "" -#: common/models.py:1153 +#: common/models.py:1160 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1170 common/models.py:1492 +#: common/models.py:1177 common/models.py:1499 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1192 +#: common/models.py:1199 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1193 +#: common/models.py:1200 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1199 +#: common/models.py:1206 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1200 +#: common/models.py:1207 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1213 msgid "Show latest parts" msgstr "" -#: common/models.py:1207 +#: common/models.py:1214 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1213 +#: common/models.py:1220 msgid "Recent Part Count" msgstr "" -#: common/models.py:1214 +#: common/models.py:1221 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1220 +#: common/models.py:1227 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1221 +#: common/models.py:1228 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1227 +#: common/models.py:1234 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1228 +#: common/models.py:1235 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1235 +#: common/models.py:1242 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Show low stock" msgstr "" -#: common/models.py:1242 +#: common/models.py:1249 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Show depleted stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1256 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1262 msgid "Show needed stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1263 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1269 msgid "Show expired stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1270 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1276 msgid "Show stale stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Show pending builds" msgstr "" -#: common/models.py:1277 +#: common/models.py:1284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Show overdue builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1291 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1291 +#: common/models.py:1298 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Show overdue POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1305 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1312 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1318 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1319 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1317 +#: common/models.py:1324 msgid "Enable label printing" msgstr "" -#: common/models.py:1318 +#: common/models.py:1325 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1324 +#: common/models.py:1331 msgid "Inline label display" msgstr "" -#: common/models.py:1325 +#: common/models.py:1332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1331 +#: common/models.py:1338 msgid "Inline report display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1345 msgid "Search Parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1345 +#: common/models.py:1352 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1359 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1366 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1367 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1373 msgid "Search Categories" msgstr "" -#: common/models.py:1367 +#: common/models.py:1374 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1380 msgid "Search Stock" msgstr "" -#: common/models.py:1374 +#: common/models.py:1381 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1387 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1381 +#: common/models.py:1388 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1394 msgid "Search Locations" msgstr "" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1401 msgid "Search Companies" msgstr "" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1408 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1415 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1422 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1429 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Search Preview Results" msgstr "" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1457 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1457 +#: common/models.py:1464 msgid "Date Format" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1472 part/templates/part/detail.html:39 +#: common/models.py:1479 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1473 +#: common/models.py:1480 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1537 company/forms.py:37 +#: common/models.py:1544 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: 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 +#: common/models.py:1551 company/serializers.py:290 +#: company/templates/company/supplier_part.html:263 order/models.py:953 +#: templates/js/translated/part.js:1042 templates/js/translated/part.js:2070 msgid "Price" msgstr "" -#: common/models.py:1545 +#: common/models.py:1552 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1705 common/models.py:1883 +#: common/models.py:1712 common/models.py:1890 msgid "Endpoint" msgstr "" -#: common/models.py:1706 +#: common/models.py:1713 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1715 +#: common/models.py:1722 msgid "Name for this webhook" msgstr "" -#: common/models.py:1720 part/models.py:911 plugin/models.py:99 +#: common/models.py:1727 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 @@ -2458,79 +2475,79 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1721 +#: common/models.py:1728 msgid "Is this webhook active" msgstr "" -#: common/models.py:1735 +#: common/models.py:1742 msgid "Token" msgstr "" -#: common/models.py:1736 +#: common/models.py:1743 msgid "Token for access" msgstr "" -#: common/models.py:1743 +#: common/models.py:1750 msgid "Secret" msgstr "" -#: common/models.py:1744 +#: common/models.py:1751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Message ID" msgstr "" -#: common/models.py:1851 +#: common/models.py:1858 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1859 +#: common/models.py:1866 msgid "Host" msgstr "" -#: common/models.py:1860 +#: common/models.py:1867 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1867 +#: common/models.py:1874 msgid "Header" msgstr "" -#: common/models.py:1868 +#: common/models.py:1875 msgid "Header of this message" msgstr "" -#: common/models.py:1874 +#: common/models.py:1881 msgid "Body" msgstr "" -#: common/models.py:1875 +#: common/models.py:1882 msgid "Body of this message" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1889 +#: common/models.py:1896 msgid "Worked on" msgstr "" -#: common/models.py:1890 +#: common/models.py:1897 msgid "Was the work on this message finished?" msgstr "" #: common/views.py:87 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:193 +#: order/views.py:102 part/views.py:116 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:194 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:117 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -2546,19 +2563,19 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:511 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:16 part/forms.py:21 +#: company/forms.py:16 part/forms.py:18 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:17 part/forms.py:22 +#: company/forms.py:17 part/forms.py:19 msgid "Image URL" msgstr "" @@ -2645,9 +2662,9 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: 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 +#: company/models.py:144 company/serializers.py:296 +#: company/templates/company/company_base.html:106 part/serializers.py:139 +#: part/serializers.py:170 stock/serializers.py:162 msgid "Currency" msgstr "" @@ -2686,7 +2703,7 @@ msgstr "" #: 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 +#: templates/js/translated/part.js:246 templates/js/translated/part.js:1000 msgid "MPN" msgstr "" @@ -2715,8 +2732,8 @@ msgstr "" #: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2080 templates/js/translated/company.js:540 -#: templates/js/translated/company.js:763 templates/js/translated/part.js:776 +#: stock/models.py:2084 templates/js/translated/company.js:540 +#: templates/js/translated/company.js:763 templates/js/translated/part.js:820 #: templates/js/translated/stock.js:1294 msgid "Value" msgstr "" @@ -2725,10 +2742,10 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:368 part/models.py:878 part/models.py:2339 +#: company/models.py:368 part/models.py:878 part/models.py:2327 #: 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 +#: templates/InvenTree/settings/settings.html:351 +#: templates/js/translated/company.js:769 templates/js/translated/part.js:826 msgid "Units" msgstr "" @@ -2741,13 +2758,14 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:487 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:303 +#: company/templates/company/supplier_part.html:87 order/models.py:307 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:229 +#: templates/email/overdue_purchase_order.html:16 #: 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/part.js:216 templates/js/translated/part.js:968 #: templates/js/translated/table_filters.js:415 msgid "Supplier" msgstr "" @@ -2759,7 +2777,7 @@ msgstr "" #: 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 +#: templates/js/translated/part.js:986 msgid "SKU" msgstr "" @@ -2780,17 +2798,17 @@ msgid "Supplier part description" msgstr "" #: company/models.py:518 company/templates/company/supplier_part.html:125 -#: part/models.py:2571 part/templates/part/upload_bom.html:59 +#: part/models.py:2561 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:387 msgid "Note" msgstr "" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "base cost" msgstr "" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -2804,7 +2822,7 @@ msgstr "" msgid "Part packaging" msgstr "" -#: company/models.py:526 part/models.py:1690 +#: company/models.py:526 part/models.py:1685 msgid "multiple" msgstr "" @@ -2867,10 +2885,11 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:649 +#: company/templates/company/company_base.html:86 order/models.py:653 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:758 +#: stock/models.py:628 stock/serializers.py:745 #: stock/templates/stock/item_base.html:401 +#: templates/email/overdue_sales_order.html:16 #: 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 @@ -3000,7 +3019,7 @@ msgid "Supplier List" msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:45 -#: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 +#: part/templates/part/prices.html:172 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -3033,7 +3052,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:39 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 +#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" msgstr "" @@ -3145,7 +3164,7 @@ msgstr "" #: company/templates/company/supplier_part.html:191 #: company/templates/company/supplier_part.html:305 -#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046 +#: part/templates/part/prices.html:276 templates/js/translated/part.js:2142 msgid "Add Price Break" msgstr "" @@ -3154,12 +3173,12 @@ msgid "No price break information found" msgstr "" #: company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2152 msgid "Delete Price Break" msgstr "" #: company/templates/company/supplier_part.html:245 -#: templates/js/translated/part.js:2070 +#: templates/js/translated/part.js:2166 msgid "Edit Price Break" msgstr "" @@ -3181,8 +3200,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: 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/bom.js:554 templates/js/translated/part.js:722 +#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1431 #: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1687 #: templates/navbar.html:31 msgid "Stock" @@ -3239,20 +3258,20 @@ msgstr "" msgid "New Company" msgstr "" -#: company/views.py:112 part/views.py:578 +#: company/views.py:112 part/views.py:501 msgid "Download Image" msgstr "" -#: company/views.py:139 part/views.py:608 +#: company/views.py:139 part/views.py:531 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:146 part/views.py:615 +#: company/views.py:146 part/views.py:538 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:155 part/views.py:624 +#: company/views.py:155 part/views.py:547 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3325,7 +3344,7 @@ msgstr "" msgid "Order description" msgstr "" -#: order/models.py:135 order/models.py:1236 +#: order/models.py:135 order/models.py:1240 msgid "Link to external page" msgstr "" @@ -3341,293 +3360,294 @@ msgstr "" msgid "Order notes" msgstr "" -#: order/models.py:289 order/models.py:639 +#: order/models.py:293 order/models.py:643 msgid "Order reference" msgstr "" -#: order/models.py:294 order/models.py:654 +#: order/models.py:298 order/models.py:658 msgid "Purchase order status" msgstr "" -#: order/models.py:304 +#: order/models.py:308 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:307 order/templates/order/order_base.html:124 +#: order/models.py:311 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:307 +#: order/models.py:311 msgid "Supplier order reference code" msgstr "" -#: order/models.py:314 +#: order/models.py:318 msgid "received by" msgstr "" -#: order/models.py:319 +#: order/models.py:323 msgid "Issue Date" msgstr "" -#: order/models.py:320 +#: order/models.py:324 msgid "Date order was issued" msgstr "" -#: order/models.py:325 +#: order/models.py:329 msgid "Target Delivery Date" msgstr "" -#: order/models.py:326 +#: order/models.py:330 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:332 +#: order/models.py:336 msgid "Date order was completed" msgstr "" -#: order/models.py:368 +#: order/models.py:372 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:512 +#: order/models.py:516 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:650 +#: order/models.py:654 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:656 +#: order/models.py:660 msgid "Customer Reference " msgstr "" -#: order/models.py:656 +#: order/models.py:660 msgid "Customer order reference code" msgstr "" -#: order/models.py:661 +#: order/models.py:665 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:664 order/models.py:1190 +#: order/models.py:668 order/models.py:1194 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:671 +#: order/models.py:675 msgid "shipped by" msgstr "" -#: order/models.py:726 +#: order/models.py:730 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:730 +#: order/models.py:734 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:733 +#: order/models.py:737 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:736 +#: order/models.py:740 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:910 +#: order/models.py:914 msgid "Item quantity" msgstr "" -#: order/models.py:916 +#: order/models.py:920 msgid "Line item reference" msgstr "" -#: order/models.py:918 +#: order/models.py:922 msgid "Line item notes" msgstr "" -#: order/models.py:923 +#: order/models.py:927 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:941 +#: order/models.py:945 msgid "Context" msgstr "" -#: order/models.py:942 +#: order/models.py:946 msgid "Additional context for this line" msgstr "" -#: order/models.py:950 +#: order/models.py:954 msgid "Unit price" msgstr "" -#: order/models.py:980 +#: order/models.py:984 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:988 +#: order/models.py:992 msgid "deleted" msgstr "" -#: order/models.py:994 order/models.py:1074 order/models.py:1099 -#: order/models.py:1184 order/models.py:1320 +#: order/models.py:998 order/models.py:1078 order/models.py:1103 +#: order/models.py:1188 order/models.py:1324 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:995 order/models.py:1074 +#: order/models.py:999 order/models.py:1078 #: 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/email/overdue_purchase_order.html:15 #: 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/part.js:943 templates/js/translated/stock.js:1846 #: templates/js/translated/stock.js:2412 msgid "Purchase Order" msgstr "" -#: order/models.py:1013 +#: order/models.py:1017 msgid "Supplier part" msgstr "" -#: order/models.py:1020 order/templates/order/order_base.html:169 +#: order/models.py:1024 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/part.js:1037 templates/js/translated/part.js:1064 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1021 +#: order/models.py:1025 msgid "Number of items received" msgstr "" -#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: order/models.py:1032 part/templates/part/prices.html:181 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:1029 +#: order/models.py:1033 msgid "Unit purchase price" msgstr "" -#: order/models.py:1037 +#: order/models.py:1041 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1109 part/templates/part/part_pricing.html:112 -#: part/templates/part/prices.html:119 part/templates/part/prices.html:288 +#: order/models.py:1113 part/templates/part/part_pricing.html:115 +#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 msgid "Sale Price" msgstr "" -#: order/models.py:1110 +#: order/models.py:1114 msgid "Unit sale price" msgstr "" -#: order/models.py:1115 +#: order/models.py:1119 msgid "Shipped quantity" msgstr "" -#: order/models.py:1191 +#: order/models.py:1195 msgid "Date of shipment" msgstr "" -#: order/models.py:1198 +#: order/models.py:1202 msgid "Checked By" msgstr "" -#: order/models.py:1199 +#: order/models.py:1203 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1207 +#: order/models.py:1211 msgid "Shipment number" msgstr "" -#: order/models.py:1214 +#: order/models.py:1218 msgid "Shipment notes" msgstr "" -#: order/models.py:1221 +#: order/models.py:1225 msgid "Tracking Number" msgstr "" -#: order/models.py:1222 +#: order/models.py:1226 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1229 +#: order/models.py:1233 msgid "Invoice Number" msgstr "" -#: order/models.py:1230 +#: order/models.py:1234 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1248 +#: order/models.py:1252 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1251 +#: order/models.py:1255 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1354 order/models.py:1356 +#: order/models.py:1358 order/models.py:1360 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1360 +#: order/models.py:1364 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1362 +#: order/models.py:1366 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1365 +#: order/models.py:1369 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1369 +#: order/models.py:1373 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1375 order/serializers.py:1045 +#: order/models.py:1379 order/serializers.py:1047 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1378 +#: order/models.py:1382 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1379 +#: order/models.py:1383 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1387 +#: order/models.py:1391 msgid "Line" msgstr "" -#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 +#: order/models.py:1399 order/serializers.py:1151 order/serializers.py:1275 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1396 +#: order/models.py:1400 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1412 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1409 +#: order/models.py:1413 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1412 +#: order/models.py:1416 msgid "Enter stock allocation quantity" msgstr "" @@ -3663,7 +3683,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1117 +#: order/serializers.py:406 order/serializers.py:1119 msgid "Line Item" msgstr "" @@ -3711,42 +3731,60 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:866 +#: order/serializers.py:868 msgid "Sale price currency" msgstr "" -#: order/serializers.py:947 +#: order/serializers.py:949 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1006 order/serializers.py:1126 +#: order/serializers.py:1008 order/serializers.py:1128 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1028 +#: order/serializers.py:1030 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1139 +#: order/serializers.py:1141 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1161 order/serializers.py:1281 +#: order/serializers.py:1163 order/serializers.py:1283 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1164 order/serializers.py:1284 +#: order/serializers.py:1166 order/serializers.py:1286 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1216 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1224 +#: order/serializers.py:1226 msgid "The following serial numbers are already allocated" msgstr "" +#: order/tasks.py:26 +msgid "Overdue Purchase Order" +msgstr "" + +#: order/tasks.py:31 +#, python-brace-format +msgid "Purchase order {po} is now overdue" +msgstr "" + +#: order/tasks.py:88 +msgid "Overdue Sales Order" +msgstr "" + +#: order/tasks.py:93 +#, python-brace-format +msgid "Sales order {so} is now overdue" +msgstr "" + #: order/templates/order/order_base.html:33 msgid "Print purchase order report" msgstr "" @@ -4022,47 +4060,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:474 +#: part/api.py:481 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:494 +#: part/api.py:501 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:512 +#: part/api.py:519 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:544 +#: part/api.py:551 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:630 +#: part/api.py:637 msgid "Valid" msgstr "" -#: part/api.py:631 +#: part/api.py:638 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:637 +#: part/api.py:644 msgid "This option must be selected" msgstr "" -#: part/api.py:1003 +#: part/api.py:1010 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1007 +#: part/api.py:1014 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1022 +#: part/api.py:1029 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1053 part/api.py:1057 part/api.py:1072 part/api.py:1076 +#: part/api.py:1060 part/api.py:1064 part/api.py:1079 part/api.py:1083 msgid "This field is required" msgstr "" @@ -4081,25 +4119,13 @@ msgid "Available Stock" msgstr "" #: 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 +#: templates/js/translated/part.js:561 templates/js/translated/part.js:581 +#: templates/js/translated/part.js:1273 templates/js/translated/part.js:1445 +#: templates/js/translated/part.js:1461 msgid "On Order" msgstr "" -#: part/forms.py:59 -msgid "Select part category" -msgstr "" - -#: part/forms.py:67 -msgid "Add parameter template to same level categories" -msgstr "" - -#: part/forms.py:71 -msgid "Add parameter template to all categories" -msgstr "" - -#: part/forms.py:92 +#: part/forms.py:60 msgid "Input quantity for price calculation" msgstr "" @@ -4115,7 +4141,7 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:115 part/models.py:2413 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2403 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -4132,7 +4158,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:144 +#: templates/js/translated/part.js:1864 templates/js/translated/search.js:144 #: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "" @@ -4162,7 +4188,7 @@ msgstr "" msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:738 part/models.py:2467 +#: part/models.py:738 part/models.py:2457 msgid "Part name" msgstr "" @@ -4195,12 +4221,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:776 part/models.py:2171 part/models.py:2412 +#: part/models.py:776 part/models.py:2159 part/models.py:2402 #: part/templates/part/part_base.html:257 -#: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 #: templates/InvenTree/settings/settings.html:231 -#: templates/js/translated/part.js:1369 +#: templates/js/translated/part.js:1413 templates/js/translated/part.js:1639 msgid "Category" msgstr "" @@ -4209,7 +4234,7 @@ msgid "Part category" msgstr "" #: 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/part.js:710 templates/js/translated/part.js:1366 #: templates/js/translated/stock.js:1659 msgid "IPN" msgstr "" @@ -4223,7 +4248,7 @@ msgid "Part revision or version number" msgstr "" #: part/models.py:790 part/templates/part/part_base.html:273 -#: report/models.py:170 templates/js/translated/part.js:670 +#: report/models.py:170 templates/js/translated/part.js:714 msgid "Revision" msgstr "" @@ -4311,317 +4336,321 @@ msgstr "" msgid "Creation User" msgstr "" -#: part/models.py:1690 +#: part/models.py:1685 msgid "Sell multiple" msgstr "" -#: part/models.py:2218 +#: part/models.py:2206 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2235 +#: part/models.py:2223 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2255 templates/js/translated/part.js:1819 +#: part/models.py:2243 templates/js/translated/part.js:1915 #: templates/js/translated/stock.js:1274 msgid "Test Name" msgstr "" -#: part/models.py:2256 +#: part/models.py:2244 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2261 +#: part/models.py:2249 msgid "Test Description" msgstr "" -#: part/models.py:2262 +#: part/models.py:2250 msgid "Enter description for this test" msgstr "" -#: part/models.py:2267 templates/js/translated/part.js:1828 +#: part/models.py:2255 templates/js/translated/part.js:1924 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2268 +#: part/models.py:2256 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2273 templates/js/translated/part.js:1836 +#: part/models.py:2261 templates/js/translated/part.js:1932 msgid "Requires Value" msgstr "" -#: part/models.py:2274 +#: part/models.py:2262 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2279 templates/js/translated/part.js:1843 +#: part/models.py:2267 templates/js/translated/part.js:1939 msgid "Requires Attachment" msgstr "" -#: part/models.py:2280 +#: part/models.py:2268 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2288 +#: part/models.py:2276 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2324 +#: part/models.py:2312 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2332 +#: part/models.py:2320 msgid "Parameter Name" msgstr "" -#: part/models.py:2339 +#: part/models.py:2327 msgid "Parameter Units" msgstr "" -#: part/models.py:2370 +#: part/models.py:2358 msgid "Parent Part" msgstr "" -#: part/models.py:2372 part/models.py:2418 part/models.py:2419 +#: part/models.py:2360 part/models.py:2408 part/models.py:2409 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Data" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Parameter Value" msgstr "" -#: part/models.py:2423 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2413 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2424 +#: part/models.py:2414 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2459 +#: part/models.py:2449 msgid "Part ID or part name" msgstr "" -#: part/models.py:2462 templates/js/translated/model_renderers.js:200 +#: part/models.py:2452 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2463 +#: part/models.py:2453 msgid "Unique part ID value" msgstr "" -#: part/models.py:2466 +#: part/models.py:2456 msgid "Part Name" msgstr "" -#: part/models.py:2470 +#: part/models.py:2460 msgid "Part IPN" msgstr "" -#: part/models.py:2471 +#: part/models.py:2461 msgid "Part IPN value" msgstr "" -#: part/models.py:2474 +#: part/models.py:2464 msgid "Level" msgstr "" -#: part/models.py:2475 +#: part/models.py:2465 msgid "BOM level" msgstr "" -#: part/models.py:2544 +#: part/models.py:2534 msgid "Select parent part" msgstr "" -#: part/models.py:2552 +#: part/models.py:2542 msgid "Sub part" msgstr "" -#: part/models.py:2553 +#: part/models.py:2543 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2559 +#: part/models.py:2549 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2561 part/templates/part/upload_bom.html:58 +#: part/models.py:2551 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:2561 +#: part/models.py:2551 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2564 part/templates/part/upload_bom.html:55 +#: part/models.py:2554 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2565 +#: part/models.py:2555 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2568 +#: part/models.py:2558 msgid "BOM item reference" msgstr "" -#: part/models.py:2571 +#: part/models.py:2561 msgid "BOM item notes" msgstr "" -#: part/models.py:2573 +#: part/models.py:2563 msgid "Checksum" msgstr "" -#: part/models.py:2573 +#: part/models.py:2563 msgid "BOM line checksum" msgstr "" -#: part/models.py:2577 part/templates/part/upload_bom.html:57 +#: part/models.py:2567 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:2578 +#: part/models.py:2568 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2583 part/templates/part/upload_bom.html:56 +#: part/models.py:2573 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:980 msgid "Allow Variants" msgstr "" -#: part/models.py:2584 +#: part/models.py:2574 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2662 stock/models.py:460 +#: part/models.py:2652 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2671 part/models.py:2673 +#: part/models.py:2661 part/models.py:2663 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2778 +#: part/models.py:2768 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2799 +#: part/models.py:2789 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2812 +#: part/models.py:2802 msgid "Parent BOM item" msgstr "" -#: part/models.py:2820 +#: part/models.py:2810 msgid "Substitute part" msgstr "" -#: part/models.py:2831 +#: part/models.py:2825 msgid "Part 1" msgstr "" -#: part/models.py:2835 +#: part/models.py:2829 msgid "Part 2" msgstr "" -#: part/models.py:2835 +#: part/models.py:2829 msgid "Select Related Part" msgstr "" -#: part/models.py:2866 -msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" +#: part/models.py:2847 +msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 +#: part/models.py:2851 +msgid "Duplicate relationship already exists" +msgstr "" + +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:794 +#: part/serializers.py:796 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:804 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:805 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:810 msgid "Include Inherited" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:811 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:816 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:817 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:820 +#: part/serializers.py:822 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:821 +#: part/serializers.py:823 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:861 +#: part/serializers.py:863 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:864 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:894 msgid "No part column specified" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:937 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:938 +#: part/serializers.py:940 msgid "No matching part found" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:943 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:950 +#: part/serializers.py:952 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:958 +#: part/serializers.py:960 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:979 +#: part/serializers.py:981 msgid "At least one BOM item is required" msgstr "" @@ -5100,7 +5129,7 @@ msgstr "" #: 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 +#: templates/js/translated/part.js:625 templates/js/translated/part.js:702 msgid "Inactive" msgstr "" @@ -5133,9 +5162,9 @@ msgstr "" msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/part.js:520 -#: templates/js/translated/part.js:540 templates/js/translated/part.js:1233 -#: templates/js/translated/part.js:1405 templates/js/translated/part.js:1421 +#: part/templates/part/part_base.html:238 templates/js/translated/part.js:564 +#: templates/js/translated/part.js:584 templates/js/translated/part.js:1277 +#: templates/js/translated/part.js:1449 templates/js/translated/part.js:1465 msgid "Building" msgstr "" @@ -5152,7 +5181,7 @@ msgstr "" msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:443 part/templates/part/prices.html:147 +#: part/templates/part/part_base.html:443 part/templates/part/prices.html:149 msgid "Calculate" msgstr "" @@ -5170,19 +5199,19 @@ msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:106 -#: part/templates/part/prices.html:123 +#: part/templates/part/part_pricing.html:103 +#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 +#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:104 -#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:111 -#: part/templates/part/prices.html:128 +#: part/templates/part/part_pricing.html:107 +#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 +#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 +#: part/templates/part/prices.html:130 msgid "Total Cost" msgstr "" @@ -5192,32 +5221,33 @@ msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:246 +#: part/templates/part/prices.html:248 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:89 +#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:96 +#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:105 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/prices.html:107 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:128 -#: part/templates/part/prices.html:137 +#: part/templates/part/part_pricing.html:131 +#: part/templates/part/prices.html:139 msgid "No pricing information is available for this part." msgstr "" @@ -5241,44 +5271,6 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:9 -#, python-format -msgid "" -"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" -"
Disable the \"Active\" part attribute and re-try.\n" -" " -msgstr "" - -#: part/templates/part/partial_delete.html:17 -#, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" -msgstr "" - -#: part/templates/part/partial_delete.html:22 -#, python-format -msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" -msgstr "" - -#: part/templates/part/partial_delete.html:32 -#, python-format -msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:43 -#, python-format -msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:54 -#, python-format -msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:67 -#, python-format -msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." -msgstr "" - #: part/templates/part/prices.html:19 msgid "Pricing ranges" msgstr "" @@ -5295,66 +5287,58 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:120 +#: part/templates/part/prices.html:122 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:123 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:143 +#: part/templates/part/prices.html:145 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:957 +#: part/templates/part/prices.html:160 templates/js/translated/bom.js:957 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:159 part/templates/part/prices.html:180 -#: part/templates/part/prices.html:204 part/templates/part/prices.html:234 -#: part/templates/part/prices.html:260 part/templates/part/prices.html:289 +#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 +#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 +#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:184 +#: part/templates/part/prices.html:186 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:193 +#: part/templates/part/prices.html:195 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:203 +#: part/templates/part/prices.html:205 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:218 +#: part/templates/part/prices.html:220 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:233 +#: part/templates/part/prices.html:235 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:259 +#: part/templates/part/prices.html:261 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:300 +#: part/templates/part/prices.html:302 msgid "No sale pice history available for this part." msgstr "" -#: part/templates/part/set_category.html:9 -msgid "Set category for the following parts" -msgstr "" - -#: part/templates/part/set_category.html:32 -msgid "Remove part" -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543 -#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:587 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:1469 msgid "No Stock" msgstr "" @@ -5417,71 +5401,42 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:76 -msgid "Set Part Category" -msgstr "" - -#: part/views.py:124 -#, python-brace-format -msgid "Set category for {n} parts" -msgstr "" - -#: part/views.py:195 +#: part/views.py:118 msgid "Match References" msgstr "" -#: part/views.py:496 +#: part/views.py:419 msgid "None" msgstr "" -#: part/views.py:558 +#: part/views.py:481 msgid "Part QR Code" msgstr "" -#: part/views.py:652 +#: part/views.py:575 msgid "Select Part Image" msgstr "" -#: part/views.py:678 +#: part/views.py:601 msgid "Updated part image" msgstr "" -#: part/views.py:681 +#: part/views.py:604 msgid "Part image not found" msgstr "" -#: part/views.py:770 -msgid "Confirm Part Deletion" -msgstr "" - -#: part/views.py:778 -msgid "Part was deleted" -msgstr "" - -#: part/views.py:787 +#: part/views.py:693 msgid "Part Pricing" msgstr "" -#: part/views.py:978 +#: part/views.py:884 msgid "Delete Part Category" msgstr "" -#: part/views.py:985 +#: part/views.py:891 msgid "Part category was deleted" msgstr "" -#: part/views.py:994 -msgid "Create Category Parameter Template" -msgstr "" - -#: part/views.py:1094 -msgid "Edit Category Parameter Template" -msgstr "" - -#: part/views.py:1155 -msgid "Delete Category Parameter Template" -msgstr "" - #: plugin/apps.py:56 msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" @@ -5538,21 +5493,21 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:28 +#: plugin/builtin/integration/core_notifications.py:29 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 +#: plugin/builtin/integration/core_notifications.py:30 msgid "Integrated outgoing notificaton methods" msgstr "" -#: 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:34 #: plugin/builtin/integration/core_notifications.py:53 +msgid "Enable email notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:35 +#: plugin/builtin/integration/core_notifications.py:54 msgid "Allow sending of emails for event notifications" msgstr "" @@ -5668,15 +5623,19 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:166 +#: report/api.py:179 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:198 report/api.py:239 +#: report/api.py:215 report/api.py:256 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" +#: report/api.py:359 +msgid "Test report" +msgstr "" + #: report/models.py:152 msgid "Template name" msgstr "" @@ -5788,12 +5747,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2068 +#: stock/models.py:2072 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2074 +#: stock/models.py:2078 msgid "Result" msgstr "" @@ -5993,79 +5952,79 @@ msgstr "" msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1325 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1324 +#: stock/models.py:1328 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1327 +#: stock/models.py:1331 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1334 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1333 +#: stock/models.py:1337 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1340 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1343 stock/serializers.py:908 +#: stock/models.py:1347 stock/serializers.py:895 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1347 +#: stock/models.py:1351 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1355 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1359 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1524 +#: stock/models.py:1528 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1986 +#: stock/models.py:1990 msgid "Entry notes" msgstr "" -#: stock/models.py:2044 +#: stock/models.py:2048 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2050 +#: stock/models.py:2054 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2069 +#: stock/models.py:2073 msgid "Test name" msgstr "" -#: stock/models.py:2075 +#: stock/models.py:2079 msgid "Test result" msgstr "" -#: stock/models.py:2081 +#: stock/models.py:2085 msgid "Test output value" msgstr "" -#: stock/models.py:2088 +#: stock/models.py:2092 msgid "Test result attachment" msgstr "" -#: stock/models.py:2094 +#: stock/models.py:2098 msgid "Test notes" msgstr "" @@ -6086,7 +6045,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:865 stock/serializers.py:1098 +#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 msgid "Destination stock location" msgstr "" @@ -6126,63 +6085,63 @@ msgstr "" msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:707 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:724 +#: stock/serializers.py:711 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:728 +#: stock/serializers.py:715 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:759 +#: stock/serializers.py:746 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:765 +#: stock/serializers.py:752 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:773 +#: stock/serializers.py:760 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:783 stock/serializers.py:1014 +#: stock/serializers.py:770 stock/serializers.py:1001 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:872 +#: stock/serializers.py:859 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:877 +#: stock/serializers.py:864 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:878 +#: stock/serializers.py:865 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:883 +#: stock/serializers.py:870 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:884 +#: stock/serializers.py:871 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:894 +#: stock/serializers.py:881 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:976 +#: stock/serializers.py:963 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1004 +#: stock/serializers.py:991 msgid "Stock transaction notes" msgstr "" @@ -6207,7 +6166,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:295 msgid "Delete Test Data" msgstr "" @@ -6223,7 +6182,11 @@ msgstr "" msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:292 templates/js/translated/stock.js:1455 +#: stock/templates/stock/item.html:290 +msgid "Delete all test results for this stock item" +msgstr "" + +#: stock/templates/stock/item.html:331 templates/js/translated/stock.js:1455 msgid "Add Test Result" msgstr "" @@ -6551,7 +6514,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:182 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:144 msgid "Convert Stock Item" msgstr "" @@ -6572,31 +6535,19 @@ msgstr "" msgid "This action cannot be easily undone" msgstr "" -#: stock/views.py:113 +#: stock/views.py:111 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:131 -msgid "Delete All Test Data" -msgstr "" - -#: stock/views.py:149 -msgid "Confirm test data deletion" -msgstr "" - -#: stock/views.py:150 -msgid "Check the confirmation box" -msgstr "" - -#: stock/views.py:165 +#: stock/views.py:127 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:216 +#: stock/views.py:178 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:229 +#: stock/views.py:191 msgid "Delete Stock Item" msgstr "" @@ -6731,7 +6682,7 @@ msgid "Notifications" msgstr "" #: templates/InvenTree/notifications/notifications.html:51 -#: templates/InvenTree/settings/settings.html:321 +#: templates/InvenTree/settings/settings.html:340 msgid "ID" msgstr "" @@ -7005,32 +6956,40 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings.html:238 -#: templates/InvenTree/settings/settings.html:337 +#: templates/InvenTree/settings/settings.html:356 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings.html:239 -#: templates/InvenTree/settings/settings.html:338 +#: templates/InvenTree/settings/settings.html:357 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:317 +#: templates/InvenTree/settings/settings.html:279 +msgid "Create Category Parameter Template" +msgstr "" + +#: templates/InvenTree/settings/settings.html:324 +msgid "Delete Category Parameter Template" +msgstr "" + +#: templates/InvenTree/settings/settings.html:336 msgid "No part parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:355 +#: templates/InvenTree/settings/settings.html:374 msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:373 +#: templates/InvenTree/settings/settings.html:392 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:387 +#: templates/InvenTree/settings/settings.html:406 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings.html:395 +#: templates/InvenTree/settings/settings.html:414 msgid "Delete Part Parameter Template" msgstr "" @@ -7331,8 +7290,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:56 templates/js/translated/modals.js:595 -#: templates/js/translated/modals.js:689 templates/js/translated/modals.js:997 +#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 +#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 #: templates/js/translated/order.js:928 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7404,6 +7363,10 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:630 +msgid "Confirm" +msgstr "" + #: templates/account/email_confirm.html:27 #, python-format msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." @@ -7619,8 +7582,8 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 #: 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/build.js:2650 templates/js/translated/part.js:571 +#: templates/js/translated/part.js:574 #: templates/js/translated/table_filters.js:178 msgid "Available" msgstr "" @@ -7638,6 +7601,12 @@ msgstr "" msgid "Minimum Quantity" msgstr "" +#: templates/email/overdue_build_order.html:9 +#: templates/email/overdue_purchase_order.html:9 +#: templates/email/overdue_sales_order.html:9 +msgid "Click on the following link to view this order" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -7654,11 +7623,11 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:235 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:235 templates/js/translated/modals.js:1073 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1074 msgid "No response from the InvenTree server" msgstr "" @@ -7670,27 +7639,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1083 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1084 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:252 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:252 templates/js/translated/modals.js:1088 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:253 templates/js/translated/modals.js:1083 +#: templates/js/translated/api.js:253 templates/js/translated/modals.js:1089 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1093 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1088 +#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1094 msgid "The requested resource could not be located on the server" msgstr "" @@ -7702,11 +7671,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:267 templates/js/translated/modals.js:1092 +#: templates/js/translated/api.js:267 templates/js/translated/modals.js:1098 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:268 templates/js/translated/modals.js:1093 +#: templates/js/translated/api.js:268 templates/js/translated/modals.js:1099 msgid "Connection timeout while requesting data from server" msgstr "" @@ -7734,11 +7703,11 @@ msgstr "" msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:262 +#: templates/js/translated/attachment.js:268 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:269 +#: templates/js/translated/attachment.js:275 msgid "Delete attachment" msgstr "" @@ -7771,7 +7740,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "Invalid server response" msgstr "" @@ -7964,7 +7933,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:912 templates/js/translated/build.js:1820 -#: templates/js/translated/part.js:690 +#: templates/js/translated/part.js:734 msgid "Includes variant stock" msgstr "" @@ -8275,8 +8244,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: 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/build.js:2448 templates/js/translated/part.js:1358 +#: templates/js/translated/part.js:1825 templates/js/translated/stock.js:1619 #: templates/js/translated/stock.js:2277 msgid "Select" msgstr "" @@ -8370,34 +8339,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:615 -#: templates/js/translated/company.js:874 templates/js/translated/part.js:565 -#: templates/js/translated/part.js:650 +#: templates/js/translated/company.js:874 templates/js/translated/part.js:609 +#: templates/js/translated/part.js:694 msgid "Template part" msgstr "" #: templates/js/translated/company.js:619 -#: templates/js/translated/company.js:878 templates/js/translated/part.js:569 -#: templates/js/translated/part.js:654 +#: templates/js/translated/company.js:878 templates/js/translated/part.js:613 +#: templates/js/translated/part.js:698 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:747 templates/js/translated/part.js:757 +#: templates/js/translated/company.js:747 templates/js/translated/part.js:801 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:799 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:843 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:785 templates/js/translated/part.js:800 +#: templates/js/translated/company.js:785 templates/js/translated/part.js:844 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:804 templates/js/translated/part.js:817 +#: templates/js/translated/company.js:804 templates/js/translated/part.js:861 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:815 templates/js/translated/part.js:829 +#: templates/js/translated/company.js:815 templates/js/translated/part.js:873 msgid "Delete Parameter" msgstr "" @@ -8568,12 +8537,12 @@ msgid "Select Label Template" msgstr "" #: templates/js/translated/modals.js:82 templates/js/translated/modals.js:142 -#: templates/js/translated/modals.js:621 +#: templates/js/translated/modals.js:627 msgid "Cancel" msgstr "" #: 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/js/translated/modals.js:694 templates/js/translated/modals.js:1002 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" @@ -8582,47 +8551,47 @@ msgstr "" msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:403 +#: templates/js/translated/modals.js:421 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:562 +#: templates/js/translated/modals.js:568 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:620 +#: templates/js/translated/modals.js:626 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:677 +#: templates/js/translated/modals.js:683 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:960 +#: templates/js/translated/modals.js:966 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1072 +#: templates/js/translated/modals.js:1078 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1073 +#: templates/js/translated/modals.js:1079 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1096 +#: templates/js/translated/modals.js:1102 msgid "Error requesting form data" msgstr "" @@ -8672,11 +8641,11 @@ msgstr "" msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:259 +#: templates/js/translated/notification.js:260 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:300 templates/notifications.html:10 +#: templates/js/translated/notification.js:302 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" @@ -8844,7 +8813,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1602 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1602 templates/js/translated/part.js:914 msgid "No purchase orders found" msgstr "" @@ -8879,7 +8848,7 @@ msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 #: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 -#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 +#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2397 msgid "Unit Price" msgstr "" @@ -8889,11 +8858,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:1993 templates/js/translated/order.js:3525 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:1023 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1069 msgid "Receive line item" msgstr "" @@ -9154,165 +9123,209 @@ msgstr "" msgid "Create Part Variant" msgstr "" +#: templates/js/translated/part.js:405 +msgid "Active Part" +msgstr "" + +#: templates/js/translated/part.js:406 +msgid "Part cannot be deleted as it is currently active" +msgstr "" + +#: templates/js/translated/part.js:420 +msgid "Deleting this part cannot be reversed" +msgstr "" + +#: templates/js/translated/part.js:422 +msgid "Any stock items for this part will be deleted" +msgstr "" + #: templates/js/translated/part.js:423 +msgid "This part will be removed from any Bills of Material" +msgstr "" + +#: templates/js/translated/part.js:424 +msgid "All manufacturer and supplier information for this part will be deleted" +msgstr "" + +#: templates/js/translated/part.js:431 +msgid "Delete Part" +msgstr "" + +#: templates/js/translated/part.js:467 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:425 +#: templates/js/translated/part.js:469 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:474 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:476 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:493 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:503 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:506 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:487 +#: templates/js/translated/part.js:531 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:513 templates/js/translated/part.js:1397 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1441 #: templates/js/translated/table_filters.js:452 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:523 templates/js/translated/part.js:1409 +#: templates/js/translated/part.js:567 templates/js/translated/part.js:1453 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:557 templates/js/translated/part.js:642 +#: templates/js/translated/part.js:601 templates/js/translated/part.js:686 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:561 templates/js/translated/part.js:646 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:690 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:617 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:577 +#: templates/js/translated/part.js:621 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:705 +#: templates/js/translated/part.js:749 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1095 +#: templates/js/translated/part.js:1139 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1119 +#: templates/js/translated/part.js:1163 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1184 templates/js/translated/part.js:1480 +#: templates/js/translated/part.js:1228 templates/js/translated/part.js:1524 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1223 +#: templates/js/translated/part.js:1267 msgid "Not available" msgstr "" -#: templates/js/translated/part.js:1374 +#: templates/js/translated/part.js:1418 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664 +#: templates/js/translated/part.js:1548 templates/js/translated/part.js:1760 #: templates/js/translated/stock.js:2238 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1520 +#: templates/js/translated/part.js:1564 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2257 +#: templates/js/translated/part.js:1630 +msgid "Set the part category for the selected parts" +msgstr "" + +#: templates/js/translated/part.js:1635 +msgid "Set Part Category" +msgstr "" + +#: templates/js/translated/part.js:1640 +msgid "Select Part Category" +msgstr "" + +#: templates/js/translated/part.js:1653 +msgid "Category is required" +msgstr "" + +#: templates/js/translated/part.js:1779 templates/js/translated/stock.js:2257 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1747 +#: templates/js/translated/part.js:1843 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2301 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2301 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:1901 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1233 +#: templates/js/translated/part.js:1952 templates/js/translated/stock.js:1233 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1234 +#: templates/js/translated/part.js:1953 templates/js/translated/stock.js:1234 #: templates/js/translated/stock.js:1493 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1863 +#: templates/js/translated/part.js:1959 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1885 +#: templates/js/translated/part.js:1981 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:1995 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1924 +#: templates/js/translated/part.js:2020 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1981 +#: templates/js/translated/part.js:2077 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1982 +#: templates/js/translated/part.js:2078 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:2096 +#: templates/js/translated/part.js:2192 msgid "Current Stock" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2225 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2155 +#: templates/js/translated/part.js:2251 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2225 +#: templates/js/translated/part.js:2321 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:2244 +#: templates/js/translated/part.js:2340 msgid "Single Price Difference" msgstr "" diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po index f339ec1be4..af9ca36809 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-06-05 14:26+0000\n" -"PO-Revision-Date: 2022-06-05 14:34\n" +"POT-Creation-Date: 2022-06-06 22:59+0000\n" +"PO-Revision-Date: 2022-06-07 14:34\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Language: es_ES\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:46 +#: InvenTree/api.py:49 msgid "API endpoint not found" msgstr "" @@ -29,275 +29,273 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:630 -msgid "Confirm" -msgstr "" - -#: InvenTree/forms.py:134 +#: InvenTree/forms.py:117 msgid "Confirm delete" msgstr "" -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:118 msgid "Confirm item deletion" msgstr "" -#: InvenTree/forms.py:167 +#: InvenTree/forms.py:150 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:151 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:158 msgid "Confirm password" msgstr "" -#: InvenTree/forms.py:176 +#: InvenTree/forms.py:159 msgid "Confirm new password" msgstr "" -#: InvenTree/forms.py:213 -msgid "Select Category" -msgstr "" - -#: InvenTree/forms.py:234 +#: InvenTree/forms.py:184 msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:238 +#: InvenTree/forms.py:188 msgid "Email address confirmation" msgstr "" -#: InvenTree/forms.py:259 +#: InvenTree/forms.py:209 msgid "You must type the same email each time." msgstr "" -#: InvenTree/helpers.py:402 +#: InvenTree/helpers.py:404 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 +#: InvenTree/helpers.py:411 order/models.py:370 order/models.py:522 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:412 +#: InvenTree/helpers.py:414 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:444 +#: InvenTree/helpers.py:446 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:447 +#: InvenTree/helpers.py:449 #, python-brace-format msgid "Invalid group: {g}" msgstr "" -#: InvenTree/helpers.py:475 +#: InvenTree/helpers.py:477 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:483 +#: InvenTree/helpers.py:485 #, python-brace-format msgid "Invalid/no group {group}" msgstr "" -#: InvenTree/helpers.py:489 +#: InvenTree/helpers.py:491 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:493 +#: InvenTree/helpers.py:495 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:174 +#: InvenTree/models.py:178 msgid "Missing file" msgstr "" -#: InvenTree/models.py:175 +#: InvenTree/models.py:179 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:187 stock/models.py:2087 -#: templates/js/translated/attachment.js:101 -#: templates/js/translated/attachment.js:198 +#: InvenTree/models.py:191 stock/models.py:2091 +#: templates/js/translated/attachment.js:103 +#: templates/js/translated/attachment.js:194 msgid "Attachment" msgstr "" -#: InvenTree/models.py:188 +#: InvenTree/models.py:192 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 -#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: InvenTree/models.py:198 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:136 order/models.py:1251 #: 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 -#: templates/js/translated/part.js:1441 +#: templates/js/translated/company.js:640 +#: templates/js/translated/company.js:931 templates/js/translated/order.js:2676 +#: templates/js/translated/part.js:1485 msgid "Link" msgstr "" -#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: InvenTree/models.py:199 build/models.py:320 part/models.py:796 #: stock/models.py:642 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 -#: templates/js/translated/attachment.js:242 +#: InvenTree/models.py:202 templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:238 msgid "Comment" msgstr "" -#: InvenTree/models.py:198 +#: InvenTree/models.py:202 msgid "File comment" msgstr "" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1506 +#: common/models.py:1507 common/models.py:1735 common/models.py:1736 +#: common/models.py:1998 common/models.py:1999 part/models.py:2141 +#: part/models.py:2161 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:2523 msgid "User" msgstr "" -#: InvenTree/models.py:208 +#: InvenTree/models.py:212 msgid "upload date" msgstr "" -#: InvenTree/models.py:230 +#: InvenTree/models.py:234 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:253 +#: InvenTree/models.py:257 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:263 +#: InvenTree/models.py:267 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:266 +#: InvenTree/models.py:270 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:273 +#: InvenTree/models.py:277 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:280 +#: InvenTree/models.py:284 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:314 +#: InvenTree/models.py:318 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 #: company/models.py:354 label/models.py:101 part/models.py:739 -#: part/models.py:2331 plugin/models.py:93 report/models.py:151 +#: part/models.py:2319 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 #: templates/InvenTree/settings/plugin.html:132 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:346 -#: 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:2283 +#: templates/js/translated/company.js:530 +#: templates/js/translated/company.js:742 templates/js/translated/part.js:659 +#: templates/js/translated/part.js:811 templates/js/translated/part.js:1832 +#: templates/js/translated/stock.js:2293 msgid "Name" msgstr "" -#: InvenTree/models.py:340 build/models.py:197 +#: InvenTree/models.py:344 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: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:164 +#: order/models.py:134 part/models.py:762 part/templates/part/category.html:74 +#: part/templates/part/part_base.html:167 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 -#: 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/bom.js:553 templates/js/translated/bom.js:845 +#: templates/js/translated/build.js:2476 templates/js/translated/company.js:395 +#: templates/js/translated/company.js:651 +#: templates/js/translated/company.js:942 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:1676 -#: templates/js/translated/stock.js:2295 templates/js/translated/stock.js:2350 +#: templates/js/translated/part.js:718 templates/js/translated/part.js:1126 +#: templates/js/translated/part.js:1399 templates/js/translated/part.js:1851 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:1686 +#: templates/js/translated/stock.js:2305 templates/js/translated/stock.js:2360 msgid "Description" msgstr "" -#: InvenTree/models.py:341 +#: InvenTree/models.py:345 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:349 +#: InvenTree/models.py:353 msgid "parent" msgstr "" -#: InvenTree/serializers.py:52 part/models.py:2652 +#: InvenTree/models.py:466 +msgid "Server Error" +msgstr "" + +#: InvenTree/models.py:467 +msgid "An error has been logged by the server." +msgstr "" + +#: InvenTree/serializers.py:52 part/models.py:2640 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:271 +#: InvenTree/serializers.py:263 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:306 +#: InvenTree/serializers.py:298 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:320 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:321 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:342 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:348 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:377 +#: InvenTree/serializers.py:369 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:372 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:495 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:506 +#: InvenTree/serializers.py:498 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:583 +#: InvenTree/serializers.py:575 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:592 +#: InvenTree/serializers.py:584 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" @@ -440,7 +438,7 @@ msgstr "" msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:141 order/models.py:1114 +#: InvenTree/status_codes.py:141 order/models.py:1130 #: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "" @@ -525,7 +523,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2020 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2030 msgid "Merged stock items" msgstr "" @@ -597,27 +595,27 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:522 +#: InvenTree/views.py:521 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:571 +#: InvenTree/views.py:570 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:585 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:597 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "" -#: InvenTree/views.py:618 +#: InvenTree/views.py:617 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:842 templates/navbar.html:152 +#: InvenTree/views.py:807 templates/navbar.html:152 msgid "System Information" msgstr "" @@ -628,6 +626,7 @@ msgstr "" #: 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/email/overdue_build_order.html:15 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "" @@ -646,12 +645,12 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:189 order/models.py:288 order/models.py:638 -#: order/models.py:916 part/models.py:2570 +#: build/models.py:189 order/models.py:293 order/models.py:654 +#: order/models.py:932 part/models.py:2558 #: 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/bom.js:690 templates/js/translated/bom.js:852 #: 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:3959 @@ -673,13 +672,12 @@ msgstr "" #: 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:2460 part/models.py:2545 part/models.py:2821 -#: part/serializers.py:793 part/templates/part/part_app_base.html:8 +#: order/models.py:1028 order/models.py:1119 part/models.py:336 +#: part/models.py:2087 part/models.py:2102 part/models.py:2121 +#: part/models.py:2139 part/models.py:2238 part/models.py:2358 +#: part/models.py:2448 part/models.py:2533 part/models.py:2809 +#: part/serializers.py:795 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 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 @@ -687,22 +685,23 @@ msgstr "" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 +#: templates/email/overdue_build_order.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:805 +#: templates/js/translated/bom.js:689 templates/js/translated/bom.js:799 #: 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/company.js:253 +#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:592 +#: templates/js/translated/company.js:851 templates/js/translated/order.js:100 #: templates/js/translated/order.js:883 templates/js/translated/order.js:1315 #: 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:1633 templates/js/translated/stock.js:2376 -#: templates/js/translated/stock.js:2571 templates/js/translated/stock.js:2705 +#: templates/js/translated/part.js:1111 templates/js/translated/part.js:1181 +#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:695 templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2386 +#: templates/js/translated/stock.js:2581 templates/js/translated/stock.js:2715 msgid "Part" msgstr "" @@ -768,12 +767,12 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:282 order/models.py:137 part/models.py:932 +#: build/models.py:282 order/models.py:138 part/models.py:932 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "" -#: build/models.py:286 order/models.py:660 +#: build/models.py:286 order/models.py:676 msgid "Target completion date" msgstr "" @@ -781,7 +780,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:290 order/models.py:331 +#: build/models.py:290 order/models.py:336 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "" @@ -799,7 +798,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:313 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:151 +#: build/templates/build/detail.html:115 order/models.py:152 #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 @@ -822,20 +821,20 @@ msgstr "" #: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 #: company/models.py:519 company/templates/company/sidebar.html:25 -#: order/models.py:155 order/models.py:918 order/models.py:1213 +#: order/models.py:156 order/models.py:934 order/models.py:1229 #: order/templates/order/po_sidebar.html:11 #: 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:713 stock/models.py:1985 stock/models.py:2093 +#: stock/models.py:713 stock/models.py:1989 stock/models.py:2097 #: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:486 -#: stock/serializers.py:772 stock/serializers.py:871 stock/serializers.py:1003 +#: stock/serializers.py:759 stock/serializers.py:858 stock/serializers.py:990 #: 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/barcode.js:100 templates/js/translated/bom.js:1038 +#: templates/js/translated/company.js:947 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 -#: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 +#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1926 msgid "Notes" msgstr "" @@ -855,44 +854,44 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1108 +#: build/models.py:1111 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1117 +#: build/models.py:1120 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1127 +#: build/models.py:1130 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1133 order/models.py:1372 +#: build/models.py:1136 order/models.py:1388 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1139 +#: build/models.py:1142 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1196 +#: build/models.py:1199 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1265 stock/templates/stock/item_base.html:177 +#: build/models.py:1268 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:1266 +#: build/models.py:1269 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 -#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:703 -#: stock/serializers.py:829 stock/templates/stock/item_base.html:10 +#: build/models.py:1285 build/serializers.py:603 order/serializers.py:996 +#: order/serializers.py:1017 stock/serializers.py:382 stock/serializers.py:690 +#: stock/serializers.py:816 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 @@ -900,22 +899,22 @@ msgstr "" #: 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:2449 +#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696 +#: templates/js/translated/stock.js:2459 msgid "Stock Item" msgstr "" -#: build/models.py:1283 +#: build/models.py:1286 msgid "Source stock item" msgstr "" -#: build/models.py:1295 build/serializers.py:183 +#: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1536 +#: build/templates/build/detail.html:34 common/models.py:1543 #: 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:68 -#: part/forms.py:83 part/forms.py:98 part/models.py:2561 +#: order/models.py:925 order/models.py:1428 order/serializers.py:1136 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 +#: part/forms.py:74 part/forms.py:89 part/models.py:2549 #: 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 @@ -926,8 +925,8 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:139 #: 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 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:691 +#: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 #: templates/js/translated/build.js:574 templates/js/translated/build.js:765 #: templates/js/translated/build.js:1175 templates/js/translated/build.js:1673 #: templates/js/translated/build.js:2086 @@ -937,23 +936,23 @@ msgstr "" #: 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: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 -#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727 -#: templates/js/translated/stock.js:2498 templates/js/translated/stock.js:2583 +#: templates/js/translated/part.js:1011 templates/js/translated/part.js:2065 +#: templates/js/translated/part.js:2296 templates/js/translated/part.js:2330 +#: templates/js/translated/part.js:2408 templates/js/translated/stock.js:402 +#: templates/js/translated/stock.js:556 templates/js/translated/stock.js:726 +#: templates/js/translated/stock.js:2508 templates/js/translated/stock.js:2593 msgid "Quantity" msgstr "" -#: build/models.py:1296 +#: build/models.py:1299 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1304 +#: build/models.py:1307 msgid "Install into" msgstr "" -#: build/models.py:1305 +#: build/models.py:1308 msgid "Destination stock item" msgstr "" @@ -982,9 +981,9 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: 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:1239 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:368 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:514 +#: part/serializers.py:958 stock/models.py:470 stock/models.py:1239 #: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" @@ -997,9 +996,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 #: stock/serializers.py:297 templates/js/translated/order.js:1186 -#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:237 templates/js/translated/stock.js:403 msgid "Serial Numbers" msgstr "" @@ -1015,7 +1014,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:552 +#: build/serializers.py:268 stock/api.py:553 msgid "The following serial numbers already exist" msgstr "" @@ -1025,16 +1024,16 @@ msgstr "" #: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 #: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:481 -#: stock/serializers.py:864 stock/serializers.py:1097 +#: stock/serializers.py:851 stock/serializers.py:1084 #: 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 #: 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:1787 templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532 +#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904 +#: templates/js/translated/stock.js:1797 templates/js/translated/stock.js:2400 msgid "Location" msgstr "" @@ -1043,12 +1042,12 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:363 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:654 +#: build/templates/build/detail.html:62 order/models.py:670 #: 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 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1772 +#: templates/js/translated/stock.js:2477 templates/js/translated/stock.js:2609 msgid "Status" msgstr "" @@ -1108,8 +1107,8 @@ msgstr "" msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:535 build/serializers.py:580 part/models.py:2679 -#: part/models.py:2813 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2667 +#: part/models.py:2801 msgid "BOM Item" msgstr "" @@ -1125,11 +1124,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:716 +#: build/serializers.py:609 stock/serializers.py:703 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:667 order/serializers.py:1052 +#: build/serializers.py:667 order/serializers.py:1054 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1146,7 +1145,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:708 order/serializers.py:1298 +#: build/serializers.py:708 order/serializers.py:1300 msgid "Allocation items must be provided" msgstr "" @@ -1178,10 +1177,19 @@ msgstr "" msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:96 +#: build/tasks.py:100 msgid "Stock required for build order" msgstr "" +#: build/tasks.py:118 +msgid "Overdue Build Order" +msgstr "" + +#: build/tasks.py:123 +#, python-brace-format +msgid "Build order {bo} is now overdue" +msgstr "" + #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 #: order/templates/order/sales_order_base.html:38 @@ -1244,13 +1252,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:922 +#: build/templates/build/detail.html:131 order/models.py:938 #: 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: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 +#: templates/js/translated/order.js:3517 templates/js/translated/part.js:1015 msgid "Target Date" msgstr "" @@ -1277,13 +1285,14 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1100 -#: order/models.py:1185 order/models.py:1320 +#: build/templates/build/detail.html:94 order/models.py:1116 +#: order/models.py:1201 order/models.py:1336 #: 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/email/overdue_sales_order.html:15 #: templates/js/translated/order.js:2436 msgid "Sales Order" msgstr "" @@ -1319,7 +1328,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1034 +#: build/templates/build/detail.html:49 order/models.py:1050 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "" @@ -1336,8 +1345,8 @@ msgstr "" #: stock/templates/stock/item_base.html:170 #: templates/js/translated/build.js:1179 #: templates/js/translated/model_renderers.js:112 -#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1776 -#: templates/js/translated/stock.js:2606 +#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:2616 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1716,7 +1725,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:820 part/models.py:2372 report/models.py:157 +#: common/models.py:820 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" @@ -1726,7 +1735,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" @@ -1880,7 +1889,7 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:968 -msgid "Test Reports" +msgid "Enable Test Reports" msgstr "" #: common/models.py:969 @@ -1888,568 +1897,576 @@ msgid "Enable generation of test reports" msgstr "" #: common/models.py:975 -msgid "Batch Code Template" +msgid "Attach Test Reports" msgstr "" #: common/models.py:976 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:981 -msgid "Stock Expiry" +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" #: common/models.py:982 -msgid "Enable stock expiry functionality" +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:983 +msgid "Template for generating default batch codes for stock items" msgstr "" #: common/models.py:988 -msgid "Sell Expired Stock" +msgid "Stock Expiry" msgstr "" #: common/models.py:989 -msgid "Allow sale of expired stock" +msgid "Enable stock expiry functionality" msgstr "" #: common/models.py:995 -msgid "Stock Stale Time" +msgid "Sell Expired Stock" msgstr "" #: common/models.py:996 -msgid "Number of days stock items are considered stale before expiring" +msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:998 -msgid "days" +#: common/models.py:1002 +msgid "Stock Stale Time" msgstr "" #: common/models.py:1003 -msgid "Build Expired Stock" +msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1004 -msgid "Allow building with expired stock" +#: common/models.py:1005 +msgid "days" msgstr "" #: common/models.py:1010 -msgid "Stock Ownership Control" +msgid "Build Expired Stock" msgstr "" #: common/models.py:1011 -msgid "Enable ownership control over stock locations and items" +msgid "Allow building with expired stock" msgstr "" #: common/models.py:1017 -msgid "Build Order Reference Prefix" +msgid "Stock Ownership Control" msgstr "" #: common/models.py:1018 -msgid "Prefix value for build order reference" -msgstr "" - -#: common/models.py:1023 -msgid "Build Order Reference Regex" +msgid "Enable ownership control over stock locations and items" msgstr "" #: common/models.py:1024 +msgid "Build Order Reference Prefix" +msgstr "" + +#: common/models.py:1025 +msgid "Prefix value for build order reference" +msgstr "" + +#: common/models.py:1030 +msgid "Build Order Reference Regex" +msgstr "" + +#: common/models.py:1031 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1029 +#: common/models.py:1036 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1041 +#: common/models.py:1048 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1042 +#: common/models.py:1049 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1048 +#: common/models.py:1055 msgid "Enable password forgot" msgstr "" -#: common/models.py:1049 +#: common/models.py:1056 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1055 +#: common/models.py:1062 msgid "Enable registration" msgstr "" -#: common/models.py:1056 +#: common/models.py:1063 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1069 msgid "Enable SSO" msgstr "" -#: common/models.py:1063 +#: common/models.py:1070 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1069 +#: common/models.py:1076 msgid "Email required" msgstr "" -#: common/models.py:1070 +#: common/models.py:1077 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1076 +#: common/models.py:1083 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1077 +#: common/models.py:1084 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1083 +#: common/models.py:1090 msgid "Mail twice" msgstr "" -#: common/models.py:1084 +#: common/models.py:1091 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1090 +#: common/models.py:1097 msgid "Password twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1098 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1097 +#: common/models.py:1104 msgid "Group on signup" msgstr "" -#: common/models.py:1098 +#: common/models.py:1105 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1104 +#: common/models.py:1111 msgid "Enforce MFA" msgstr "" -#: common/models.py:1105 +#: common/models.py:1112 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1111 +#: common/models.py:1118 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1112 +#: common/models.py:1119 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1120 +#: common/models.py:1127 msgid "Enable URL integration" msgstr "" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1136 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1136 +#: common/models.py:1143 msgid "Enable app integration" msgstr "" -#: common/models.py:1137 +#: common/models.py:1144 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1144 +#: common/models.py:1151 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1145 +#: common/models.py:1152 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1152 +#: common/models.py:1159 msgid "Enable event integration" msgstr "" -#: common/models.py:1153 +#: common/models.py:1160 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1170 common/models.py:1492 +#: common/models.py:1177 common/models.py:1499 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1192 +#: common/models.py:1199 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1193 +#: common/models.py:1200 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1199 +#: common/models.py:1206 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1200 +#: common/models.py:1207 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1213 msgid "Show latest parts" msgstr "" -#: common/models.py:1207 +#: common/models.py:1214 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1213 +#: common/models.py:1220 msgid "Recent Part Count" msgstr "" -#: common/models.py:1214 +#: common/models.py:1221 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1220 +#: common/models.py:1227 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1221 +#: common/models.py:1228 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1227 +#: common/models.py:1234 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1228 +#: common/models.py:1235 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1235 +#: common/models.py:1242 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Show low stock" msgstr "" -#: common/models.py:1242 +#: common/models.py:1249 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Show depleted stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1256 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1262 msgid "Show needed stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1263 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1269 msgid "Show expired stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1270 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1276 msgid "Show stale stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Show pending builds" msgstr "" -#: common/models.py:1277 +#: common/models.py:1284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Show overdue builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1291 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1291 +#: common/models.py:1298 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Show overdue POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1305 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1312 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1318 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1319 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1317 +#: common/models.py:1324 msgid "Enable label printing" msgstr "" -#: common/models.py:1318 +#: common/models.py:1325 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1324 +#: common/models.py:1331 msgid "Inline label display" msgstr "" -#: common/models.py:1325 +#: common/models.py:1332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1331 +#: common/models.py:1338 msgid "Inline report display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1345 msgid "Search Parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1345 +#: common/models.py:1352 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1359 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1366 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1367 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1373 msgid "Search Categories" msgstr "" -#: common/models.py:1367 +#: common/models.py:1374 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1380 msgid "Search Stock" msgstr "" -#: common/models.py:1374 +#: common/models.py:1381 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1387 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1381 +#: common/models.py:1388 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1394 msgid "Search Locations" msgstr "" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1401 msgid "Search Companies" msgstr "" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1408 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1415 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1422 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1429 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Search Preview Results" msgstr "" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1457 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1457 +#: common/models.py:1464 msgid "Date Format" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1472 part/templates/part/detail.html:39 +#: common/models.py:1479 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1473 +#: common/models.py:1480 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1537 company/forms.py:37 +#: common/models.py:1544 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: 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 +#: common/models.py:1551 company/serializers.py:290 +#: company/templates/company/supplier_part.html:263 order/models.py:965 +#: templates/js/translated/part.js:1042 templates/js/translated/part.js:2070 msgid "Price" msgstr "" -#: common/models.py:1545 +#: common/models.py:1552 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1705 common/models.py:1883 +#: common/models.py:1712 common/models.py:1890 msgid "Endpoint" msgstr "" -#: common/models.py:1706 +#: common/models.py:1713 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1715 +#: common/models.py:1722 msgid "Name for this webhook" msgstr "" -#: common/models.py:1720 part/models.py:911 plugin/models.py:99 +#: common/models.py:1727 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 @@ -2457,79 +2474,89 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1721 +#: common/models.py:1728 msgid "Is this webhook active" msgstr "" -#: common/models.py:1735 +#: common/models.py:1742 msgid "Token" msgstr "" -#: common/models.py:1736 +#: common/models.py:1743 msgid "Token for access" msgstr "" -#: common/models.py:1743 +#: common/models.py:1750 msgid "Secret" msgstr "" -#: common/models.py:1744 +#: common/models.py:1751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Message ID" msgstr "" -#: common/models.py:1851 +#: common/models.py:1858 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1859 +#: common/models.py:1866 msgid "Host" msgstr "" -#: common/models.py:1860 +#: common/models.py:1867 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1867 +#: common/models.py:1874 msgid "Header" msgstr "" -#: common/models.py:1868 +#: common/models.py:1875 msgid "Header of this message" msgstr "" -#: common/models.py:1874 +#: common/models.py:1881 msgid "Body" msgstr "" -#: common/models.py:1875 +#: common/models.py:1882 msgid "Body of this message" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1889 +#: common/models.py:1896 msgid "Worked on" msgstr "" -#: common/models.py:1890 +#: common/models.py:1897 msgid "Was the work on this message finished?" msgstr "" +#: common/notifications.py:292 +#, python-brace-format +msgid "New {verbose_name}" +msgstr "" + +#: common/notifications.py:294 +#, python-brace-format +msgid "A new {verbose_name} has been created and ,assigned to you" +msgstr "" + #: common/views.py:87 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:191 +#: order/views.py:102 part/views.py:116 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:192 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:117 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -2545,19 +2572,19 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:511 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:16 part/forms.py:21 +#: company/forms.py:16 part/forms.py:18 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:17 part/forms.py:22 +#: company/forms.py:17 part/forms.py:19 msgid "Image URL" msgstr "" @@ -2571,7 +2598,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:405 +#: templates/js/translated/company.js:399 msgid "Website" msgstr "" @@ -2644,9 +2671,9 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: 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 +#: company/models.py:144 company/serializers.py:296 +#: company/templates/company/company_base.html:106 part/serializers.py:139 +#: part/serializers.py:170 stock/serializers.py:162 msgid "Currency" msgstr "" @@ -2667,10 +2694,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: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/company.js:383 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:617 +#: templates/js/translated/company.js:902 templates/js/translated/part.js:235 #: templates/js/translated/table_filters.js:411 msgid "Manufacturer" msgstr "" @@ -2681,11 +2708,11 @@ msgstr "" #: 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 -#: 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 +#: templates/js/translated/company.js:256 +#: templates/js/translated/company.js:483 +#: templates/js/translated/company.js:633 +#: templates/js/translated/company.js:920 templates/js/translated/order.js:1907 +#: templates/js/translated/part.js:246 templates/js/translated/part.js:1000 msgid "MPN" msgstr "" @@ -2714,9 +2741,9 @@ msgstr "" #: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2080 templates/js/translated/company.js:540 -#: templates/js/translated/company.js:763 templates/js/translated/part.js:776 -#: templates/js/translated/stock.js:1294 +#: stock/models.py:2084 templates/js/translated/company.js:531 +#: templates/js/translated/company.js:748 templates/js/translated/part.js:820 +#: templates/js/translated/stock.js:1304 msgid "Value" msgstr "" @@ -2724,10 +2751,10 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:368 part/models.py:878 part/models.py:2339 +#: company/models.py:368 part/models.py:878 part/models.py:2327 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:351 -#: templates/js/translated/company.js:769 templates/js/translated/part.js:782 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:826 msgid "Units" msgstr "" @@ -2740,13 +2767,14 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:487 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:303 +#: company/templates/company/supplier_part.html:87 order/models.py:308 #: 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 -#: 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/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:255 +#: templates/js/translated/company.js:387 +#: templates/js/translated/company.js:876 templates/js/translated/order.js:1643 +#: templates/js/translated/part.js:216 templates/js/translated/part.js:968 #: templates/js/translated/table_filters.js:415 msgid "Supplier" msgstr "" @@ -2756,9 +2784,9 @@ msgid "Select supplier" msgstr "" #: 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 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:254 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 -#: templates/js/translated/part.js:942 +#: templates/js/translated/part.js:986 msgid "SKU" msgstr "" @@ -2779,23 +2807,23 @@ msgid "Supplier part description" msgstr "" #: company/models.py:518 company/templates/company/supplier_part.html:125 -#: part/models.py:2573 part/templates/part/upload_bom.html:59 +#: part/models.py:2561 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:387 msgid "Note" msgstr "" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "base cost" msgstr "" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: 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 +#: templates/js/translated/company.js:952 templates/js/translated/stock.js:1922 msgid "Packaging" msgstr "" @@ -2803,7 +2831,7 @@ msgstr "" msgid "Part packaging" msgstr "" -#: company/models.py:526 part/models.py:1690 +#: company/models.py:526 part/models.py:1685 msgid "multiple" msgstr "" @@ -2825,7 +2853,7 @@ msgstr "" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:177 templates/js/translated/company.js:378 +#: templates/InvenTree/search.html:177 templates/js/translated/company.js:372 msgid "Company" msgstr "" @@ -2843,7 +2871,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:321 +#: templates/js/translated/company.js:315 msgid "Edit Company" msgstr "" @@ -2866,12 +2894,13 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:649 +#: company/templates/company/company_base.html:86 order/models.py:665 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:758 +#: stock/models.py:628 stock/serializers.py:745 #: 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 +#: templates/email/overdue_sales_order.html:16 +#: templates/js/translated/company.js:379 templates/js/translated/order.js:2458 +#: templates/js/translated/stock.js:2441 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "" @@ -2999,7 +3028,7 @@ msgid "Supplier List" msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:45 -#: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 +#: part/templates/part/prices.html:172 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -3012,12 +3041,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:680 +#: templates/js/translated/company.js:665 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:681 +#: templates/js/translated/company.js:666 msgid "Delete manufacturer part" msgstr "" @@ -3032,7 +3061,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:39 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 +#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" msgstr "" @@ -3092,18 +3121,18 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: 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 +#: templates/js/translated/company.js:892 templates/js/translated/order.js:884 +#: templates/js/translated/stock.js:1879 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:38 -#: templates/js/translated/company.js:980 +#: templates/js/translated/company.js:965 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:42 -#: templates/js/translated/company.js:981 +#: templates/js/translated/company.js:966 msgid "Delete supplier part" msgstr "" @@ -3123,7 +3152,7 @@ msgstr "" #: company/templates/company/supplier_part.html:148 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 -#: templates/js/translated/stock.js:380 +#: templates/js/translated/stock.js:379 msgid "New Stock Item" msgstr "" @@ -3144,7 +3173,7 @@ msgstr "" #: company/templates/company/supplier_part.html:191 #: company/templates/company/supplier_part.html:305 -#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046 +#: part/templates/part/prices.html:276 templates/js/translated/part.js:2142 msgid "Add Price Break" msgstr "" @@ -3153,12 +3182,12 @@ msgid "No price break information found" msgstr "" #: company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2152 msgid "Delete Price Break" msgstr "" #: company/templates/company/supplier_part.html:245 -#: templates/js/translated/part.js:2070 +#: templates/js/translated/part.js:2166 msgid "Edit Price Break" msgstr "" @@ -3180,9 +3209,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: 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:1687 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:722 +#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1431 +#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3209,7 +3238,7 @@ msgstr "" #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 -#: templates/js/translated/stock.js:2307 users/models.py:39 +#: templates/js/translated/stock.js:2317 users/models.py:39 msgid "Stock Items" msgstr "" @@ -3238,20 +3267,20 @@ msgstr "" msgid "New Company" msgstr "" -#: company/views.py:112 part/views.py:576 +#: company/views.py:112 part/views.py:501 msgid "Download Image" msgstr "" -#: company/views.py:139 part/views.py:606 +#: company/views.py:139 part/views.py:531 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:146 part/views.py:613 +#: company/views.py:146 part/views.py:538 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:155 part/views.py:622 +#: company/views.py:155 part/views.py:547 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3320,313 +3349,314 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:133 +#: order/models.py:134 msgid "Order description" msgstr "" -#: order/models.py:135 order/models.py:1236 +#: order/models.py:136 order/models.py:1252 msgid "Link to external page" msgstr "" -#: order/models.py:143 +#: order/models.py:144 msgid "Created By" msgstr "" -#: order/models.py:150 +#: order/models.py:151 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:155 +#: order/models.py:156 msgid "Order notes" msgstr "" -#: order/models.py:289 order/models.py:639 +#: order/models.py:294 order/models.py:655 msgid "Order reference" msgstr "" -#: order/models.py:294 order/models.py:654 +#: order/models.py:299 order/models.py:670 msgid "Purchase order status" msgstr "" -#: order/models.py:304 +#: order/models.py:309 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:307 order/templates/order/order_base.html:124 +#: order/models.py:312 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:307 +#: order/models.py:312 msgid "Supplier order reference code" msgstr "" -#: order/models.py:314 +#: order/models.py:319 msgid "received by" msgstr "" -#: order/models.py:319 +#: order/models.py:324 msgid "Issue Date" msgstr "" -#: order/models.py:320 +#: order/models.py:325 msgid "Date order was issued" msgstr "" -#: order/models.py:325 +#: order/models.py:330 msgid "Target Delivery Date" msgstr "" -#: order/models.py:326 +#: order/models.py:331 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:332 +#: order/models.py:337 msgid "Date order was completed" msgstr "" -#: order/models.py:368 +#: order/models.py:373 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:512 +#: order/models.py:517 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:650 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer Reference " msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer order reference code" msgstr "" -#: order/models.py:661 +#: order/models.py:677 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:664 order/models.py:1190 +#: order/models.py:680 order/models.py:1206 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:671 +#: order/models.py:687 msgid "shipped by" msgstr "" -#: order/models.py:726 +#: order/models.py:742 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:730 +#: order/models.py:746 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:733 +#: order/models.py:749 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:736 +#: order/models.py:752 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:910 +#: order/models.py:926 msgid "Item quantity" msgstr "" -#: order/models.py:916 +#: order/models.py:932 msgid "Line item reference" msgstr "" -#: order/models.py:918 +#: order/models.py:934 msgid "Line item notes" msgstr "" -#: order/models.py:923 +#: order/models.py:939 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:941 +#: order/models.py:957 msgid "Context" msgstr "" -#: order/models.py:942 +#: order/models.py:958 msgid "Additional context for this line" msgstr "" -#: order/models.py:950 +#: order/models.py:966 msgid "Unit price" msgstr "" -#: order/models.py:980 +#: order/models.py:996 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:988 +#: order/models.py:1004 msgid "deleted" msgstr "" -#: order/models.py:994 order/models.py:1074 order/models.py:1099 -#: order/models.py:1184 order/models.py:1320 +#: order/models.py:1010 order/models.py:1090 order/models.py:1115 +#: order/models.py:1200 order/models.py:1336 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:995 order/models.py:1074 +#: order/models.py:1011 order/models.py:1090 #: 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/email/overdue_purchase_order.html:15 #: 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 +#: templates/js/translated/part.js:943 templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:2422 msgid "Purchase Order" msgstr "" -#: order/models.py:1013 +#: order/models.py:1029 msgid "Supplier part" msgstr "" -#: order/models.py:1020 order/templates/order/order_base.html:169 +#: order/models.py:1036 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/part.js:1037 templates/js/translated/part.js:1064 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1021 +#: order/models.py:1037 msgid "Number of items received" msgstr "" -#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: order/models.py:1044 part/templates/part/prices.html:181 stock/models.py:722 #: stock/serializers.py:153 stock/templates/stock/item_base.html:191 -#: templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:1910 msgid "Purchase Price" msgstr "" -#: order/models.py:1029 +#: order/models.py:1045 msgid "Unit purchase price" msgstr "" -#: order/models.py:1037 +#: order/models.py:1053 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1109 part/templates/part/part_pricing.html:112 -#: part/templates/part/prices.html:119 part/templates/part/prices.html:288 +#: order/models.py:1125 part/templates/part/part_pricing.html:115 +#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 msgid "Sale Price" msgstr "" -#: order/models.py:1110 +#: order/models.py:1126 msgid "Unit sale price" msgstr "" -#: order/models.py:1115 +#: order/models.py:1131 msgid "Shipped quantity" msgstr "" -#: order/models.py:1191 +#: order/models.py:1207 msgid "Date of shipment" msgstr "" -#: order/models.py:1198 +#: order/models.py:1214 msgid "Checked By" msgstr "" -#: order/models.py:1199 +#: order/models.py:1215 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1207 +#: order/models.py:1223 msgid "Shipment number" msgstr "" -#: order/models.py:1214 +#: order/models.py:1230 msgid "Shipment notes" msgstr "" -#: order/models.py:1221 +#: order/models.py:1237 msgid "Tracking Number" msgstr "" -#: order/models.py:1222 +#: order/models.py:1238 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1229 +#: order/models.py:1245 msgid "Invoice Number" msgstr "" -#: order/models.py:1230 +#: order/models.py:1246 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1248 +#: order/models.py:1264 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1251 +#: order/models.py:1267 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1354 order/models.py:1356 +#: order/models.py:1370 order/models.py:1372 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1360 +#: order/models.py:1376 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1362 +#: order/models.py:1378 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1365 +#: order/models.py:1381 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1369 +#: order/models.py:1385 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1375 order/serializers.py:1045 +#: order/models.py:1391 order/serializers.py:1047 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1378 +#: order/models.py:1394 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1379 +#: order/models.py:1395 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1387 +#: order/models.py:1403 msgid "Line" msgstr "" -#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 +#: order/models.py:1411 order/serializers.py:1151 order/serializers.py:1275 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1396 +#: order/models.py:1412 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1424 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1409 +#: order/models.py:1425 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Enter stock allocation quantity" msgstr "" @@ -3662,7 +3692,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1117 +#: order/serializers.py:406 order/serializers.py:1119 msgid "Line Item" msgstr "" @@ -3710,42 +3740,60 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:866 +#: order/serializers.py:868 msgid "Sale price currency" msgstr "" -#: order/serializers.py:947 +#: order/serializers.py:949 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1006 order/serializers.py:1126 +#: order/serializers.py:1008 order/serializers.py:1128 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1028 +#: order/serializers.py:1030 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1139 +#: order/serializers.py:1141 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1161 order/serializers.py:1281 +#: order/serializers.py:1163 order/serializers.py:1283 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1164 order/serializers.py:1284 +#: order/serializers.py:1166 order/serializers.py:1286 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1216 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1224 +#: order/serializers.py:1226 msgid "The following serial numbers are already allocated" msgstr "" +#: order/tasks.py:26 +msgid "Overdue Purchase Order" +msgstr "" + +#: order/tasks.py:31 +#, python-brace-format +msgid "Purchase order {po} is now overdue" +msgstr "" + +#: order/tasks.py:88 +msgid "Overdue Sales Order" +msgstr "" + +#: order/tasks.py:93 +#, python-brace-format +msgid "Sales order {so} is now overdue" +msgstr "" + #: order/templates/order/order_base.html:33 msgid "Print purchase order report" msgstr "" @@ -3870,8 +3918,8 @@ msgstr "" #: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: 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:2731 templates/js/translated/stock.js:570 -#: templates/js/translated/stock.js:738 +#: templates/js/translated/order.js:2731 templates/js/translated/stock.js:569 +#: templates/js/translated/stock.js:737 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -3990,7 +4038,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1047 #: templates/js/translated/build.js:1880 msgid "Actions" msgstr "" @@ -4021,47 +4069,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:481 +#: part/api.py:482 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:501 +#: part/api.py:502 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:519 +#: part/api.py:520 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:551 +#: part/api.py:552 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:637 +#: part/api.py:638 msgid "Valid" msgstr "" -#: part/api.py:638 +#: part/api.py:639 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:644 +#: part/api.py:645 msgid "This option must be selected" msgstr "" -#: part/api.py:1010 +#: part/api.py:1011 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1014 +#: part/api.py:1015 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1029 +#: part/api.py:1030 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1060 part/api.py:1064 part/api.py:1079 part/api.py:1083 +#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 msgid "This field is required" msgstr "" @@ -4080,17 +4128,13 @@ msgid "Available Stock" msgstr "" #: 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 +#: templates/js/translated/part.js:561 templates/js/translated/part.js:581 +#: templates/js/translated/part.js:1273 templates/js/translated/part.js:1445 +#: templates/js/translated/part.js:1461 msgid "On Order" msgstr "" -#: part/forms.py:59 -msgid "Select part category" -msgstr "" - -#: part/forms.py:69 +#: part/forms.py:60 msgid "Input quantity for price calculation" msgstr "" @@ -4106,7 +4150,7 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:115 part/models.py:2415 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2403 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -4123,7 +4167,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:144 +#: templates/js/translated/part.js:1864 templates/js/translated/search.js:144 #: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "" @@ -4153,7 +4197,7 @@ msgstr "" msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:738 part/models.py:2469 +#: part/models.py:738 part/models.py:2457 msgid "Part name" msgstr "" @@ -4186,12 +4230,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:776 part/models.py:2171 part/models.py:2414 +#: part/models.py:776 part/models.py:2159 part/models.py:2402 #: part/templates/part/part_base.html:257 -#: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 #: templates/InvenTree/settings/settings.html:231 -#: templates/js/translated/part.js:1369 +#: templates/js/translated/part.js:1413 templates/js/translated/part.js:1639 msgid "Category" msgstr "" @@ -4200,8 +4243,8 @@ msgid "Part category" msgstr "" #: 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 +#: templates/js/translated/part.js:710 templates/js/translated/part.js:1366 +#: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" @@ -4214,7 +4257,7 @@ msgid "Part revision or version number" msgstr "" #: part/models.py:790 part/templates/part/part_base.html:273 -#: report/models.py:170 templates/js/translated/part.js:670 +#: report/models.py:170 templates/js/translated/part.js:714 msgid "Revision" msgstr "" @@ -4302,317 +4345,321 @@ msgstr "" msgid "Creation User" msgstr "" -#: part/models.py:1690 +#: part/models.py:1685 msgid "Sell multiple" msgstr "" -#: part/models.py:2218 +#: part/models.py:2206 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2235 +#: part/models.py:2223 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2255 templates/js/translated/part.js:1819 -#: templates/js/translated/stock.js:1274 +#: part/models.py:2243 templates/js/translated/part.js:1915 +#: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2256 +#: part/models.py:2244 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2261 +#: part/models.py:2249 msgid "Test Description" msgstr "" -#: part/models.py:2262 +#: part/models.py:2250 msgid "Enter description for this test" msgstr "" -#: part/models.py:2267 templates/js/translated/part.js:1828 +#: part/models.py:2255 templates/js/translated/part.js:1924 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2268 +#: part/models.py:2256 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2273 templates/js/translated/part.js:1836 +#: part/models.py:2261 templates/js/translated/part.js:1932 msgid "Requires Value" msgstr "" -#: part/models.py:2274 +#: part/models.py:2262 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2279 templates/js/translated/part.js:1843 +#: part/models.py:2267 templates/js/translated/part.js:1939 msgid "Requires Attachment" msgstr "" -#: part/models.py:2280 +#: part/models.py:2268 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2288 +#: part/models.py:2276 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2324 +#: part/models.py:2312 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2332 +#: part/models.py:2320 msgid "Parameter Name" msgstr "" -#: part/models.py:2339 +#: part/models.py:2327 msgid "Parameter Units" msgstr "" -#: part/models.py:2370 +#: part/models.py:2358 msgid "Parent Part" msgstr "" -#: part/models.py:2372 part/models.py:2420 part/models.py:2421 +#: part/models.py:2360 part/models.py:2408 part/models.py:2409 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Data" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Parameter Value" msgstr "" -#: part/models.py:2425 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2413 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2426 +#: part/models.py:2414 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2461 +#: part/models.py:2449 msgid "Part ID or part name" msgstr "" -#: part/models.py:2464 templates/js/translated/model_renderers.js:200 +#: part/models.py:2452 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2465 +#: part/models.py:2453 msgid "Unique part ID value" msgstr "" -#: part/models.py:2468 +#: part/models.py:2456 msgid "Part Name" msgstr "" -#: part/models.py:2472 +#: part/models.py:2460 msgid "Part IPN" msgstr "" -#: part/models.py:2473 +#: part/models.py:2461 msgid "Part IPN value" msgstr "" -#: part/models.py:2476 +#: part/models.py:2464 msgid "Level" msgstr "" -#: part/models.py:2477 +#: part/models.py:2465 msgid "BOM level" msgstr "" -#: part/models.py:2546 +#: part/models.py:2534 msgid "Select parent part" msgstr "" -#: part/models.py:2554 +#: part/models.py:2542 msgid "Sub part" msgstr "" -#: part/models.py:2555 +#: part/models.py:2543 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2561 +#: part/models.py:2549 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2563 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 +#: part/models.py:2551 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:871 templates/js/translated/bom.js:965 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2563 +#: part/models.py:2551 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2566 part/templates/part/upload_bom.html:55 +#: part/models.py:2554 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2567 +#: part/models.py:2555 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2570 +#: part/models.py:2558 msgid "BOM item reference" msgstr "" -#: part/models.py:2573 +#: part/models.py:2561 msgid "BOM item notes" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "Checksum" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "BOM line checksum" msgstr "" -#: part/models.py:2579 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:988 +#: part/models.py:2567 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:982 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2580 +#: part/models.py:2568 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2585 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:980 +#: part/models.py:2573 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:974 msgid "Allow Variants" msgstr "" -#: part/models.py:2586 +#: part/models.py:2574 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2664 stock/models.py:460 +#: part/models.py:2652 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2673 part/models.py:2675 +#: part/models.py:2661 part/models.py:2663 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2780 +#: part/models.py:2768 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2801 +#: part/models.py:2789 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2814 +#: part/models.py:2802 msgid "Parent BOM item" msgstr "" -#: part/models.py:2822 +#: part/models.py:2810 msgid "Substitute part" msgstr "" -#: part/models.py:2833 +#: part/models.py:2825 msgid "Part 1" msgstr "" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Part 2" msgstr "" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Select Related Part" msgstr "" -#: part/models.py:2868 -msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" +#: part/models.py:2847 +msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 +#: part/models.py:2851 +msgid "Duplicate relationship already exists" +msgstr "" + +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:794 +#: part/serializers.py:796 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:804 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:805 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:810 msgid "Include Inherited" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:811 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:816 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:817 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:820 +#: part/serializers.py:822 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:821 +#: part/serializers.py:823 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:861 +#: part/serializers.py:863 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:864 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:894 msgid "No part column specified" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:937 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:938 +#: part/serializers.py:940 msgid "No matching part found" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:943 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:950 +#: part/serializers.py:952 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:958 +#: part/serializers.py:960 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:979 +#: part/serializers.py:981 msgid "At least one BOM item is required" msgstr "" @@ -5088,10 +5135,10 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:143 -#: templates/js/translated/company.js:623 -#: templates/js/translated/company.js:882 +#: templates/js/translated/company.js:608 +#: templates/js/translated/company.js:867 #: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:658 +#: templates/js/translated/part.js:625 templates/js/translated/part.js:702 msgid "Inactive" msgstr "" @@ -5120,13 +5167,13 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1009 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1003 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/part.js:520 -#: templates/js/translated/part.js:540 templates/js/translated/part.js:1233 -#: templates/js/translated/part.js:1405 templates/js/translated/part.js:1421 +#: part/templates/part/part_base.html:238 templates/js/translated/part.js:564 +#: templates/js/translated/part.js:584 templates/js/translated/part.js:1277 +#: templates/js/translated/part.js:1449 templates/js/translated/part.js:1465 msgid "Building" msgstr "" @@ -5143,7 +5190,7 @@ msgstr "" msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:443 part/templates/part/prices.html:147 +#: part/templates/part/part_base.html:443 part/templates/part/prices.html:149 msgid "Calculate" msgstr "" @@ -5161,54 +5208,55 @@ msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:106 -#: part/templates/part/prices.html:123 +#: part/templates/part/part_pricing.html:103 +#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 +#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:104 -#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:111 -#: part/templates/part/prices.html:128 +#: part/templates/part/part_pricing.html:107 +#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 +#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 +#: part/templates/part/prices.html:130 msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:963 +#: templates/js/translated/bom.js:957 msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:246 +#: part/templates/part/prices.html:248 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:89 +#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:96 +#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:105 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/prices.html:107 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:128 -#: part/templates/part/prices.html:137 +#: part/templates/part/part_pricing.html:131 +#: part/templates/part/prices.html:139 msgid "No pricing information is available for this part." msgstr "" @@ -5232,43 +5280,6 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:9 -#, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" -"
Disable the \"Active\" part attribute and re-try.\n" -" " -msgstr "" - -#: part/templates/part/partial_delete.html:17 -#, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" -msgstr "" - -#: part/templates/part/partial_delete.html:22 -#, python-format -msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" -msgstr "" - -#: part/templates/part/partial_delete.html:32 -#, python-format -msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:43 -#, python-format -msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:54 -#, python-format -msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:67 -#, python-format -msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." -msgstr "" - #: part/templates/part/prices.html:19 msgid "Pricing ranges" msgstr "" @@ -5285,66 +5296,58 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:120 +#: part/templates/part/prices.html:122 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:123 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:143 +#: part/templates/part/prices.html:145 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:957 +#: part/templates/part/prices.html:160 templates/js/translated/bom.js:951 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:159 part/templates/part/prices.html:180 -#: part/templates/part/prices.html:204 part/templates/part/prices.html:234 -#: part/templates/part/prices.html:260 part/templates/part/prices.html:289 +#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 +#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 +#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:184 +#: part/templates/part/prices.html:186 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:193 +#: part/templates/part/prices.html:195 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:203 +#: part/templates/part/prices.html:205 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:218 +#: part/templates/part/prices.html:220 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:233 +#: part/templates/part/prices.html:235 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:259 +#: part/templates/part/prices.html:261 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:300 +#: part/templates/part/prices.html:302 msgid "No sale pice history available for this part." msgstr "" -#: part/templates/part/set_category.html:9 -msgid "Set category for the following parts" -msgstr "" - -#: part/templates/part/set_category.html:32 -msgid "Remove part" -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543 -#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:587 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:1469 msgid "No Stock" msgstr "" @@ -5407,56 +5410,39 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:74 -msgid "Set Part Category" -msgstr "" - -#: part/views.py:122 -#, python-brace-format -msgid "Set category for {n} parts" -msgstr "" - -#: part/views.py:193 +#: part/views.py:118 msgid "Match References" msgstr "" -#: part/views.py:494 +#: part/views.py:419 msgid "None" msgstr "" -#: part/views.py:556 +#: part/views.py:481 msgid "Part QR Code" msgstr "" -#: part/views.py:650 +#: part/views.py:575 msgid "Select Part Image" msgstr "" -#: part/views.py:676 +#: part/views.py:601 msgid "Updated part image" msgstr "" -#: part/views.py:679 +#: part/views.py:604 msgid "Part image not found" msgstr "" -#: part/views.py:768 -msgid "Confirm Part Deletion" -msgstr "" - -#: part/views.py:776 -msgid "Part was deleted" -msgstr "" - -#: part/views.py:785 +#: part/views.py:693 msgid "Part Pricing" msgstr "" -#: part/views.py:976 +#: part/views.py:884 msgid "Delete Part Category" msgstr "" -#: part/views.py:983 +#: part/views.py:891 msgid "Part category was deleted" msgstr "" @@ -5516,21 +5502,21 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:28 +#: plugin/builtin/integration/core_notifications.py:29 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 +#: plugin/builtin/integration/core_notifications.py:30 msgid "Integrated outgoing notificaton methods" msgstr "" -#: 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:34 #: plugin/builtin/integration/core_notifications.py:53 +msgid "Enable email notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:35 +#: plugin/builtin/integration/core_notifications.py:54 msgid "Allow sending of emails for event notifications" msgstr "" @@ -5646,15 +5632,19 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:166 +#: report/api.py:179 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:198 report/api.py:239 +#: report/api.py:215 report/api.py:256 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" +#: report/api.py:359 +msgid "Test report" +msgstr "" + #: report/models.py:152 msgid "Template name" msgstr "" @@ -5757,7 +5747,7 @@ msgstr "" #: 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:3229 -#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:434 msgid "Serial Number" msgstr "" @@ -5766,19 +5756,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2068 +#: stock/models.py:2072 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2074 +#: stock/models.py:2078 msgid "Result" 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:1669 templates/js/translated/stock.js:2340 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2350 msgid "Date" msgstr "" @@ -5796,20 +5786,20 @@ msgid "Installed Items" 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:2589 +#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724 +#: templates/js/translated/stock.js:2599 msgid "Serial" msgstr "" -#: stock/api.py:504 +#: stock/api.py:505 msgid "Quantity is required" msgstr "" -#: stock/api.py:511 +#: stock/api.py:512 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:536 +#: stock/api.py:537 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5917,7 +5907,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1826 msgid "Expiry Date" msgstr "" @@ -5971,79 +5961,79 @@ msgstr "" msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1325 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1324 +#: stock/models.py:1328 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1327 +#: stock/models.py:1331 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1334 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1333 +#: stock/models.py:1337 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1340 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1343 stock/serializers.py:908 +#: stock/models.py:1347 stock/serializers.py:895 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1347 +#: stock/models.py:1351 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1355 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1359 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1524 +#: stock/models.py:1528 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1986 +#: stock/models.py:1990 msgid "Entry notes" msgstr "" -#: stock/models.py:2044 +#: stock/models.py:2048 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2050 +#: stock/models.py:2054 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2069 +#: stock/models.py:2073 msgid "Test name" msgstr "" -#: stock/models.py:2075 +#: stock/models.py:2079 msgid "Test result" msgstr "" -#: stock/models.py:2081 +#: stock/models.py:2085 msgid "Test output value" msgstr "" -#: stock/models.py:2088 +#: stock/models.py:2092 msgid "Test result attachment" msgstr "" -#: stock/models.py:2094 +#: stock/models.py:2098 msgid "Test notes" msgstr "" @@ -6064,7 +6054,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:865 stock/serializers.py:1098 +#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 msgid "Destination stock location" msgstr "" @@ -6104,63 +6094,63 @@ msgstr "" msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:707 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:724 +#: stock/serializers.py:711 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:728 +#: stock/serializers.py:715 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:759 +#: stock/serializers.py:746 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:765 +#: stock/serializers.py:752 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:773 +#: stock/serializers.py:760 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:783 stock/serializers.py:1014 +#: stock/serializers.py:770 stock/serializers.py:1001 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:872 +#: stock/serializers.py:859 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:877 +#: stock/serializers.py:864 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:878 +#: stock/serializers.py:865 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:883 +#: stock/serializers.py:870 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:884 +#: stock/serializers.py:871 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:894 +#: stock/serializers.py:881 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:976 +#: stock/serializers.py:963 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1004 +#: stock/serializers.py:991 msgid "Stock transaction notes" msgstr "" @@ -6185,7 +6175,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:298 msgid "Delete Test Data" msgstr "" @@ -6197,11 +6187,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2733 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2743 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:292 templates/js/translated/stock.js:1455 +#: stock/templates/stock/item.html:290 +msgid "Delete all test results for this stock item" +msgstr "" + +#: stock/templates/stock/item.html:323 templates/js/translated/stock.js:1465 msgid "Add Test Result" msgstr "" @@ -6388,7 +6382,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/stock.js:1842 msgid "Last Updated" msgstr "" @@ -6529,7 +6523,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:182 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:144 msgid "Convert Stock Item" msgstr "" @@ -6550,31 +6544,19 @@ msgstr "" msgid "This action cannot be easily undone" msgstr "" -#: stock/views.py:113 +#: stock/views.py:111 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:131 -msgid "Delete All Test Data" -msgstr "" - -#: stock/views.py:149 -msgid "Confirm test data deletion" -msgstr "" - -#: stock/views.py:150 -msgid "Check the confirmation box" -msgstr "" - -#: stock/views.py:165 +#: stock/views.py:127 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:216 +#: stock/views.py:178 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:229 +#: stock/views.py:191 msgid "Delete Stock Item" msgstr "" @@ -7317,8 +7299,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:56 templates/js/translated/modals.js:595 -#: templates/js/translated/modals.js:689 templates/js/translated/modals.js:997 +#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 +#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 #: templates/js/translated/order.js:928 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7390,6 +7372,10 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:630 +msgid "Confirm" +msgstr "" + #: templates/account/email_confirm.html:27 #, python-format msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." @@ -7562,7 +7548,7 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:112 msgid "Delete Attachments" msgstr "" @@ -7596,15 +7582,15 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1425 +#: templates/js/translated/bom.js:1419 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: 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/bom.js:884 templates/js/translated/build.js:1787 +#: templates/js/translated/build.js:2650 templates/js/translated/part.js:571 +#: templates/js/translated/part.js:574 #: templates/js/translated/table_filters.js:178 msgid "Available" msgstr "" @@ -7622,6 +7608,13 @@ msgstr "" msgid "Minimum Quantity" msgstr "" +#: templates/email/new_order_assigned.html:9 +#: templates/email/overdue_build_order.html:9 +#: templates/email/overdue_purchase_order.html:9 +#: templates/email/overdue_sales_order.html:9 +msgid "Click on the following link to view this order" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -7638,91 +7631,91 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:235 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1073 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1074 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:242 +#: templates/js/translated/api.js:202 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:243 +#: templates/js/translated/api.js:203 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1083 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1084 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:252 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1088 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:253 templates/js/translated/modals.js:1083 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1089 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1093 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1088 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1094 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:262 +#: templates/js/translated/api.js:222 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:263 +#: templates/js/translated/api.js:223 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:267 templates/js/translated/modals.js:1092 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1098 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:268 templates/js/translated/modals.js:1093 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1099 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:271 +#: templates/js/translated/api.js:231 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:272 +#: templates/js/translated/api.js:232 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:96 +#: templates/js/translated/attachment.js:98 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:156 +#: templates/js/translated/attachment.js:152 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:180 +#: templates/js/translated/attachment.js:176 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:246 +#: templates/js/translated/attachment.js:242 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:262 +#: templates/js/translated/attachment.js:264 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:269 +#: templates/js/translated/attachment.js:271 msgid "Delete attachment" msgstr "" @@ -7755,7 +7748,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "Invalid server response" msgstr "" @@ -7783,7 +7776,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999 +#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:998 msgid "Remove stock item" msgstr "" @@ -7918,89 +7911,89 @@ msgstr "" msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:682 +#: templates/js/translated/bom.js:684 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:697 +#: templates/js/translated/bom.js:699 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:824 +#: templates/js/translated/bom.js:818 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:834 +#: templates/js/translated/bom.js:828 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:838 templates/js/translated/build.js:1769 +#: templates/js/translated/bom.js:832 templates/js/translated/build.js:1769 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/bom.js:900 templates/js/translated/build.js:1814 #: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:910 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:904 templates/js/translated/build.js:1818 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:912 templates/js/translated/build.js:1820 -#: templates/js/translated/part.js:690 +#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1820 +#: templates/js/translated/part.js:734 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:914 templates/js/translated/build.js:1822 +#: templates/js/translated/bom.js:908 templates/js/translated/build.js:1822 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:928 +#: templates/js/translated/bom.js:922 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:943 +#: templates/js/translated/bom.js:937 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:950 +#: templates/js/translated/bom.js:944 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:999 templates/js/translated/bom.js:1090 +#: templates/js/translated/bom.js:993 templates/js/translated/bom.js:1084 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1061 +#: templates/js/translated/bom.js:1055 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1063 +#: templates/js/translated/bom.js:1057 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1065 +#: templates/js/translated/bom.js:1059 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1067 templates/js/translated/bom.js:1228 +#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1222 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1069 +#: templates/js/translated/bom.js:1063 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1164 templates/js/translated/build.js:1615 +#: templates/js/translated/bom.js:1158 templates/js/translated/build.js:1615 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1408 templates/js/translated/build.js:1753 +#: templates/js/translated/bom.js:1402 templates/js/translated/build.js:1753 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1430 +#: templates/js/translated/bom.js:1424 msgid "Inherited from parent BOM" msgstr "" @@ -8040,13 +8033,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91 -#: templates/js/translated/stock.js:181 +#: templates/js/translated/build.js:259 templates/js/translated/stock.js:90 +#: templates/js/translated/stock.js:180 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93 -#: templates/js/translated/stock.js:183 +#: templates/js/translated/build.js:261 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:182 msgid "Latest serial number" msgstr "" @@ -8259,9 +8252,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: 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 +#: templates/js/translated/build.js:2448 templates/js/translated/part.js:1358 +#: templates/js/translated/part.js:1825 templates/js/translated/stock.js:1629 +#: templates/js/translated/stock.js:2287 msgid "Select" msgstr "" @@ -8273,7 +8266,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2519 +#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2529 msgid "No user information" msgstr "" @@ -8285,107 +8278,107 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:169 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:168 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:157 templates/js/translated/order.js:506 +#: templates/js/translated/company.js:156 templates/js/translated/order.js:506 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:185 +#: templates/js/translated/company.js:184 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:200 +#: templates/js/translated/company.js:199 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:249 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:263 +#: templates/js/translated/company.js:264 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:342 +#: templates/js/translated/company.js:336 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:413 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:428 +#: templates/js/translated/company.js:422 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:443 +#: templates/js/translated/company.js:437 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:478 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:492 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:526 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:548 +#: templates/js/translated/company.js:539 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:595 +#: templates/js/translated/company.js:580 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:615 -#: templates/js/translated/company.js:874 templates/js/translated/part.js:565 -#: templates/js/translated/part.js:650 +#: templates/js/translated/company.js:600 +#: templates/js/translated/company.js:859 templates/js/translated/part.js:609 +#: templates/js/translated/part.js:694 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:619 -#: templates/js/translated/company.js:878 templates/js/translated/part.js:569 -#: templates/js/translated/part.js:654 +#: templates/js/translated/company.js:604 +#: templates/js/translated/company.js:863 templates/js/translated/part.js:613 +#: templates/js/translated/part.js:698 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:747 templates/js/translated/part.js:757 +#: templates/js/translated/company.js:732 templates/js/translated/part.js:801 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:799 +#: templates/js/translated/company.js:769 templates/js/translated/part.js:843 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:785 templates/js/translated/part.js:800 +#: templates/js/translated/company.js:770 templates/js/translated/part.js:844 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:804 templates/js/translated/part.js:817 +#: templates/js/translated/company.js:789 templates/js/translated/part.js:861 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:815 templates/js/translated/part.js:829 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:873 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:854 +#: templates/js/translated/company.js:839 msgid "No supplier parts found" msgstr "" @@ -8448,36 +8441,36 @@ msgstr "" msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:756 +#: templates/js/translated/forms.js:757 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1248 templates/modals.html:19 +#: templates/js/translated/forms.js:1249 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1681 +#: templates/js/translated/forms.js:1682 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1896 templates/search.html:29 +#: templates/js/translated/forms.js:1897 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2149 +#: templates/js/translated/forms.js:2150 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2627 +#: templates/js/translated/forms.js:2628 msgid "Select Columns" msgstr "" @@ -8498,7 +8491,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1023 +#: templates/js/translated/stock.js:1022 msgid "Select Stock Items" msgstr "" @@ -8552,12 +8545,12 @@ msgid "Select Label Template" msgstr "" #: templates/js/translated/modals.js:82 templates/js/translated/modals.js:142 -#: templates/js/translated/modals.js:621 +#: templates/js/translated/modals.js:627 msgid "Cancel" msgstr "" #: 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/js/translated/modals.js:694 templates/js/translated/modals.js:1002 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" @@ -8566,47 +8559,47 @@ msgstr "" msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:403 +#: templates/js/translated/modals.js:421 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:562 +#: templates/js/translated/modals.js:568 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:620 +#: templates/js/translated/modals.js:626 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:677 +#: templates/js/translated/modals.js:683 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:960 +#: templates/js/translated/modals.js:966 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1072 +#: templates/js/translated/modals.js:1078 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1073 +#: templates/js/translated/modals.js:1079 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1096 +#: templates/js/translated/modals.js:1102 msgid "Error requesting form data" msgstr "" @@ -8656,11 +8649,11 @@ msgstr "" msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:259 +#: templates/js/translated/notification.js:260 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:300 templates/notifications.html:10 +#: templates/js/translated/notification.js:302 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" @@ -8804,7 +8797,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2080 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2090 msgid "Stock Status" msgstr "" @@ -8828,7 +8821,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1602 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1602 templates/js/translated/part.js:914 msgid "No purchase orders found" msgstr "" @@ -8863,7 +8856,7 @@ msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 #: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 -#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 +#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2397 msgid "Unit Price" msgstr "" @@ -8873,11 +8866,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:1993 templates/js/translated/order.js:3525 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:1023 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1069 msgid "Receive line item" msgstr "" @@ -8998,7 +8991,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1535 +#: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" @@ -9138,165 +9131,209 @@ msgstr "" msgid "Create Part Variant" msgstr "" +#: templates/js/translated/part.js:405 +msgid "Active Part" +msgstr "" + +#: templates/js/translated/part.js:406 +msgid "Part cannot be deleted as it is currently active" +msgstr "" + +#: templates/js/translated/part.js:420 +msgid "Deleting this part cannot be reversed" +msgstr "" + +#: templates/js/translated/part.js:422 +msgid "Any stock items for this part will be deleted" +msgstr "" + #: templates/js/translated/part.js:423 +msgid "This part will be removed from any Bills of Material" +msgstr "" + +#: templates/js/translated/part.js:424 +msgid "All manufacturer and supplier information for this part will be deleted" +msgstr "" + +#: templates/js/translated/part.js:431 +msgid "Delete Part" +msgstr "" + +#: templates/js/translated/part.js:467 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:425 +#: templates/js/translated/part.js:469 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:474 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:476 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:493 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:503 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:506 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:487 +#: templates/js/translated/part.js:531 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:513 templates/js/translated/part.js:1397 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1441 #: templates/js/translated/table_filters.js:452 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:523 templates/js/translated/part.js:1409 +#: templates/js/translated/part.js:567 templates/js/translated/part.js:1453 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:557 templates/js/translated/part.js:642 +#: templates/js/translated/part.js:601 templates/js/translated/part.js:686 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:561 templates/js/translated/part.js:646 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:690 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:617 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:577 +#: templates/js/translated/part.js:621 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:705 +#: templates/js/translated/part.js:749 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1095 +#: templates/js/translated/part.js:1139 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1119 +#: templates/js/translated/part.js:1163 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1184 templates/js/translated/part.js:1480 +#: templates/js/translated/part.js:1228 templates/js/translated/part.js:1524 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1223 +#: templates/js/translated/part.js:1267 msgid "Not available" msgstr "" -#: templates/js/translated/part.js:1374 +#: templates/js/translated/part.js:1418 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664 -#: templates/js/translated/stock.js:2238 +#: templates/js/translated/part.js:1548 templates/js/translated/part.js:1760 +#: templates/js/translated/stock.js:2248 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1520 +#: templates/js/translated/part.js:1564 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2257 +#: templates/js/translated/part.js:1630 +msgid "Set the part category for the selected parts" +msgstr "" + +#: templates/js/translated/part.js:1635 +msgid "Set Part Category" +msgstr "" + +#: templates/js/translated/part.js:1640 +msgid "Select Part Category" +msgstr "" + +#: templates/js/translated/part.js:1653 +msgid "Category is required" +msgstr "" + +#: templates/js/translated/part.js:1779 templates/js/translated/stock.js:2267 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1747 +#: templates/js/translated/part.js:1843 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2301 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2311 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:1901 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1233 +#: templates/js/translated/part.js:1952 templates/js/translated/stock.js:1243 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1234 -#: templates/js/translated/stock.js:1493 +#: templates/js/translated/part.js:1953 templates/js/translated/stock.js:1244 +#: templates/js/translated/stock.js:1503 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1863 +#: templates/js/translated/part.js:1959 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1885 +#: templates/js/translated/part.js:1981 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:1995 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1924 +#: templates/js/translated/part.js:2020 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1981 +#: templates/js/translated/part.js:2077 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1982 +#: templates/js/translated/part.js:2078 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:2096 +#: templates/js/translated/part.js:2192 msgid "Current Stock" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2225 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2155 +#: templates/js/translated/part.js:2251 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2225 +#: templates/js/translated/part.js:2321 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:2244 +#: templates/js/translated/part.js:2340 msgid "Single Price Difference" msgstr "" @@ -9378,360 +9415,360 @@ msgstr "" msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:72 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:101 +#: templates/js/translated/stock.js:100 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:109 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:139 +#: templates/js/translated/stock.js:138 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:153 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:194 +#: templates/js/translated/stock.js:193 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:233 +#: templates/js/translated/stock.js:232 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:239 +#: templates/js/translated/stock.js:238 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:303 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:324 +#: templates/js/translated/stock.js:323 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:344 +#: templates/js/translated/stock.js:343 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:394 +#: templates/js/translated/stock.js:393 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:407 +#: templates/js/translated/stock.js:406 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:431 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:453 +#: templates/js/translated/stock.js:452 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:472 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:481 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:605 +#: templates/js/translated/stock.js:604 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:606 +#: templates/js/translated/stock.js:605 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:683 +#: templates/js/translated/stock.js:682 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:684 +#: templates/js/translated/stock.js:683 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:686 +#: templates/js/translated/stock.js:685 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:687 +#: templates/js/translated/stock.js:686 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:772 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:774 +#: templates/js/translated/stock.js:773 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:869 +#: templates/js/translated/stock.js:868 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:869 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:876 +#: templates/js/translated/stock.js:875 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:876 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:881 +#: templates/js/translated/stock.js:880 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:882 +#: templates/js/translated/stock.js:881 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:886 +#: templates/js/translated/stock.js:885 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:887 users/models.py:215 +#: templates/js/translated/stock.js:886 users/models.py:215 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1024 +#: templates/js/translated/stock.js:1023 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1047 +#: templates/js/translated/stock.js:1046 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1172 +#: templates/js/translated/stock.js:1182 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1174 +#: templates/js/translated/stock.js:1184 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1179 +#: templates/js/translated/stock.js:1189 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1226 +#: templates/js/translated/stock.js:1236 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1229 +#: templates/js/translated/stock.js:1239 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1255 +#: templates/js/translated/stock.js:1265 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1321 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1476 +#: templates/js/translated/stock.js:1486 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1498 +#: templates/js/translated/stock.js:1508 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1527 +#: templates/js/translated/stock.js:1537 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1531 +#: templates/js/translated/stock.js:1541 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1539 +#: templates/js/translated/stock.js:1549 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1545 +#: templates/js/translated/stock.js:1555 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1712 +#: templates/js/translated/stock.js:1722 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1727 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1720 +#: templates/js/translated/stock.js:1730 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1723 +#: templates/js/translated/stock.js:1733 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1725 +#: templates/js/translated/stock.js:1735 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1727 +#: templates/js/translated/stock.js:1737 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1730 +#: templates/js/translated/stock.js:1740 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1734 +#: templates/js/translated/stock.js:1744 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1746 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1743 +#: templates/js/translated/stock.js:1753 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1755 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:1757 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1751 +#: templates/js/translated/stock.js:1761 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1802 +#: templates/js/translated/stock.js:1812 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1894 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1932 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2095 +#: templates/js/translated/stock.js:2105 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2109 +#: templates/js/translated/stock.js:2119 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2120 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2375 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2381 +#: templates/js/translated/stock.js:2391 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2403 +#: templates/js/translated/stock.js:2413 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2422 +#: templates/js/translated/stock.js:2432 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2441 +#: templates/js/translated/stock.js:2451 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2459 +#: templates/js/translated/stock.js:2469 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2482 +#: templates/js/translated/stock.js:2492 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2490 +#: templates/js/translated/stock.js:2500 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2566 +#: templates/js/translated/stock.js:2576 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2617 templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2663 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2666 +#: templates/js/translated/stock.js:2676 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2697 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2688 +#: templates/js/translated/stock.js:2698 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2690 +#: templates/js/translated/stock.js:2700 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/stock.js:2701 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2702 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2693 +#: templates/js/translated/stock.js:2703 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2716 msgid "Select part to install" msgstr "" diff --git a/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/InvenTree/locale/es_MX/LC_MESSAGES/django.po index b17d3d6faf..496dd91aef 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-06-03 10:21+0000\n" +"POT-Creation-Date: 2022-06-06 11:28+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -30,48 +30,39 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:630 -msgid "Confirm" -msgstr "" - -#: InvenTree/forms.py:134 +#: InvenTree/forms.py:117 msgid "Confirm delete" msgstr "" -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:118 msgid "Confirm item deletion" msgstr "" -#: InvenTree/forms.py:167 +#: InvenTree/forms.py:150 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:151 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:158 msgid "Confirm password" msgstr "" -#: InvenTree/forms.py:176 +#: InvenTree/forms.py:159 msgid "Confirm new password" msgstr "" -#: InvenTree/forms.py:213 -msgid "Select Category" -msgstr "" - -#: InvenTree/forms.py:234 +#: InvenTree/forms.py:184 msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:238 +#: InvenTree/forms.py:188 msgid "Email address confirmation" msgstr "" -#: InvenTree/forms.py:259 +#: InvenTree/forms.py:209 msgid "You must type the same email each time." msgstr "" @@ -80,7 +71,7 @@ msgstr "" msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 +#: InvenTree/helpers.py:409 order/models.py:369 order/models.py:521 msgid "Invalid quantity provided" msgstr "" @@ -117,114 +108,113 @@ msgstr "" msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:174 +#: InvenTree/models.py:178 msgid "Missing file" msgstr "" -#: InvenTree/models.py:175 +#: InvenTree/models.py:179 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:187 stock/models.py:2087 +#: InvenTree/models.py:191 stock/models.py:2091 #: templates/js/translated/attachment.js:101 #: templates/js/translated/attachment.js:198 msgid "Attachment" msgstr "" -#: InvenTree/models.py:188 +#: InvenTree/models.py:192 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 -#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: InvenTree/models.py:198 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:135 order/models.py:1239 #: 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 -#: templates/js/translated/part.js:1441 +#: templates/js/translated/part.js:1485 msgid "Link" msgstr "" -#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: InvenTree/models.py:199 build/models.py:320 part/models.py:796 #: stock/models.py:642 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 +#: InvenTree/models.py:202 templates/js/translated/attachment.js:102 #: templates/js/translated/attachment.js:242 msgid "Comment" msgstr "" -#: InvenTree/models.py:198 +#: InvenTree/models.py:202 msgid "File comment" msgstr "" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1506 +#: common/models.py:1507 common/models.py:1735 common/models.py:1736 +#: common/models.py:1998 common/models.py:1999 part/models.py:2141 +#: part/models.py:2161 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:208 +#: InvenTree/models.py:212 msgid "upload date" msgstr "" -#: InvenTree/models.py:230 +#: InvenTree/models.py:234 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:253 +#: InvenTree/models.py:257 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:263 +#: InvenTree/models.py:267 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:266 +#: InvenTree/models.py:270 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:273 +#: InvenTree/models.py:277 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:280 +#: InvenTree/models.py:284 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:314 +#: InvenTree/models.py:318 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 #: company/models.py:354 label/models.py:101 part/models.py:739 -#: part/models.py:2331 plugin/models.py:93 report/models.py:151 +#: part/models.py:2319 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 #: templates/InvenTree/settings/plugin.html:132 #: templates/InvenTree/settings/plugin_settings.html:23 -#: templates/InvenTree/settings/settings.html:327 +#: templates/InvenTree/settings/settings.html:346 #: 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/company.js:757 templates/js/translated/part.js:659 +#: templates/js/translated/part.js:811 templates/js/translated/part.js:1832 #: templates/js/translated/stock.js:2283 msgid "Name" msgstr "" -#: InvenTree/models.py:340 build/models.py:197 +#: InvenTree/models.py:344 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: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:164 +#: part/templates/part/part_base.html:167 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 @@ -234,71 +224,79 @@ msgstr "" #: 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:1676 +#: templates/js/translated/part.js:718 templates/js/translated/part.js:1126 +#: templates/js/translated/part.js:1399 templates/js/translated/part.js:1851 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:1676 #: templates/js/translated/stock.js:2295 templates/js/translated/stock.js:2350 msgid "Description" msgstr "" -#: InvenTree/models.py:341 +#: InvenTree/models.py:345 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:349 +#: InvenTree/models.py:353 msgid "parent" msgstr "" -#: InvenTree/serializers.py:52 part/models.py:2650 +#: InvenTree/models.py:466 +msgid "Server Error" +msgstr "" + +#: InvenTree/models.py:467 +msgid "An error has been logged by the server." +msgstr "" + +#: InvenTree/serializers.py:52 part/models.py:2640 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:271 +#: InvenTree/serializers.py:263 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:306 +#: InvenTree/serializers.py:298 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:320 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:321 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:342 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:348 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:377 +#: InvenTree/serializers.py:369 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:372 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:495 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:506 +#: InvenTree/serializers.py:498 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:583 +#: InvenTree/serializers.py:575 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:592 +#: InvenTree/serializers.py:584 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" @@ -441,7 +439,7 @@ msgstr "" msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:141 order/models.py:1114 +#: InvenTree/status_codes.py:141 order/models.py:1118 #: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "" @@ -598,27 +596,27 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:522 +#: InvenTree/views.py:521 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:571 +#: InvenTree/views.py:570 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:585 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:597 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "" -#: InvenTree/views.py:618 +#: InvenTree/views.py:617 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:842 templates/navbar.html:152 +#: InvenTree/views.py:807 templates/navbar.html:152 msgid "System Information" msgstr "" @@ -629,6 +627,7 @@ msgstr "" #: 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/email/overdue_build_order.html:15 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "" @@ -647,8 +646,8 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:189 order/models.py:288 order/models.py:638 -#: order/models.py:916 part/models.py:2568 +#: build/models.py:189 order/models.py:292 order/models.py:642 +#: order/models.py:920 part/models.py:2558 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 @@ -674,13 +673,12 @@ msgstr "" #: 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 +#: order/models.py:1016 order/models.py:1107 part/models.py:336 +#: part/models.py:2087 part/models.py:2102 part/models.py:2121 +#: part/models.py:2139 part/models.py:2238 part/models.py:2358 +#: part/models.py:2448 part/models.py:2533 part/models.py:2809 +#: part/serializers.py:795 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 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 @@ -688,6 +686,7 @@ msgstr "" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 +#: templates/email/overdue_build_order.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:805 #: templates/js/translated/build.js:1153 templates/js/translated/build.js:1647 @@ -699,8 +698,8 @@ msgstr "" #: templates/js/translated/order.js:883 templates/js/translated/order.js:1315 #: 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/part.js:1111 templates/js/translated/part.js:1181 +#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:531 #: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903 #: templates/js/translated/stock.js:1633 templates/js/translated/stock.js:2376 #: templates/js/translated/stock.js:2571 templates/js/translated/stock.js:2705 @@ -774,7 +773,7 @@ msgstr "" msgid "Creation Date" msgstr "" -#: build/models.py:286 order/models.py:660 +#: build/models.py:286 order/models.py:664 msgid "Target completion date" msgstr "" @@ -782,7 +781,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:290 order/models.py:331 +#: build/models.py:290 order/models.py:335 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "" @@ -823,14 +822,14 @@ msgstr "" #: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 #: company/models.py:519 company/templates/company/sidebar.html:25 -#: order/models.py:155 order/models.py:918 order/models.py:1213 +#: order/models.py:155 order/models.py:922 order/models.py:1217 #: order/templates/order/po_sidebar.html:11 #: 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:713 stock/models.py:1985 stock/models.py:2093 +#: stock/models.py:713 stock/models.py:1989 stock/models.py:2097 #: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:486 -#: stock/serializers.py:772 stock/serializers.py:871 stock/serializers.py:1003 +#: stock/serializers.py:759 stock/serializers.py:858 stock/serializers.py:990 #: 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 @@ -869,7 +868,7 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1133 order/models.py:1372 +#: build/models.py:1133 order/models.py:1376 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -891,9 +890,9 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 -#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:703 -#: stock/serializers.py:829 stock/templates/stock/item_base.html:10 +#: build/models.py:1282 build/serializers.py:603 order/serializers.py:996 +#: order/serializers.py:1017 stock/serializers.py:382 stock/serializers.py:690 +#: stock/serializers.py:816 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 @@ -912,11 +911,11 @@ msgstr "" #: build/models.py:1295 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1536 +#: build/templates/build/detail.html:34 common/models.py:1543 #: 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:91 -#: part/forms.py:106 part/forms.py:121 part/models.py:2559 +#: order/models.py:913 order/models.py:1416 order/serializers.py:1136 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 +#: part/forms.py:74 part/forms.py:89 part/models.py:2549 #: 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 @@ -938,9 +937,9 @@ msgstr "" #: 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: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 +#: templates/js/translated/part.js:1011 templates/js/translated/part.js:2065 +#: templates/js/translated/part.js:2296 templates/js/translated/part.js:2330 +#: templates/js/translated/part.js:2408 templates/js/translated/stock.js:403 #: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727 #: templates/js/translated/stock.js:2498 templates/js/translated/stock.js:2583 msgid "Quantity" @@ -983,9 +982,9 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: 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:1239 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:367 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:514 +#: part/serializers.py:958 stock/models.py:470 stock/models.py:1239 #: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" @@ -998,7 +997,7 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 #: 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" @@ -1026,7 +1025,7 @@ msgstr "" #: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 #: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:481 -#: stock/serializers.py:864 stock/serializers.py:1097 +#: stock/serializers.py:851 stock/serializers.py:1084 #: 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 @@ -1044,7 +1043,7 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:363 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:654 +#: build/templates/build/detail.html:62 order/models.py:658 #: 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 @@ -1109,8 +1108,8 @@ msgstr "" msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:535 build/serializers.py:580 part/models.py:2677 -#: part/models.py:2811 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2667 +#: part/models.py:2801 msgid "BOM Item" msgstr "" @@ -1126,11 +1125,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:716 +#: build/serializers.py:609 stock/serializers.py:703 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:667 order/serializers.py:1052 +#: build/serializers.py:667 order/serializers.py:1054 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1147,7 +1146,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:708 order/serializers.py:1298 +#: build/serializers.py:708 order/serializers.py:1300 msgid "Allocation items must be provided" msgstr "" @@ -1179,10 +1178,19 @@ msgstr "" msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:96 +#: build/tasks.py:100 msgid "Stock required for build order" msgstr "" +#: build/tasks.py:118 +msgid "Overdue Build Order" +msgstr "" + +#: build/tasks.py:123 +#, python-brace-format +msgid "Build order {bo} is now overdue" +msgstr "" + #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 #: order/templates/order/sales_order_base.html:38 @@ -1245,13 +1253,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:922 +#: build/templates/build/detail.html:131 order/models.py:926 #: 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: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 +#: templates/js/translated/order.js:3517 templates/js/translated/part.js:1015 msgid "Target Date" msgstr "" @@ -1278,13 +1286,14 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1100 -#: order/models.py:1185 order/models.py:1320 +#: build/templates/build/detail.html:94 order/models.py:1104 +#: order/models.py:1189 order/models.py:1324 #: 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/email/overdue_sales_order.html:15 #: templates/js/translated/order.js:2436 msgid "Sales Order" msgstr "" @@ -1320,7 +1329,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1034 +#: build/templates/build/detail.html:49 order/models.py:1038 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "" @@ -1717,7 +1726,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:820 part/models.py:2372 report/models.py:157 +#: common/models.py:820 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" @@ -1881,7 +1890,7 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:968 -msgid "Test Reports" +msgid "Enable Test Reports" msgstr "" #: common/models.py:969 @@ -1889,568 +1898,576 @@ msgid "Enable generation of test reports" msgstr "" #: common/models.py:975 -msgid "Batch Code Template" +msgid "Attach Test Reports" msgstr "" #: common/models.py:976 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:981 -msgid "Stock Expiry" +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" #: common/models.py:982 -msgid "Enable stock expiry functionality" +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:983 +msgid "Template for generating default batch codes for stock items" msgstr "" #: common/models.py:988 -msgid "Sell Expired Stock" +msgid "Stock Expiry" msgstr "" #: common/models.py:989 -msgid "Allow sale of expired stock" +msgid "Enable stock expiry functionality" msgstr "" #: common/models.py:995 -msgid "Stock Stale Time" +msgid "Sell Expired Stock" msgstr "" #: common/models.py:996 -msgid "Number of days stock items are considered stale before expiring" +msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:998 -msgid "days" +#: common/models.py:1002 +msgid "Stock Stale Time" msgstr "" #: common/models.py:1003 -msgid "Build Expired Stock" +msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1004 -msgid "Allow building with expired stock" +#: common/models.py:1005 +msgid "days" msgstr "" #: common/models.py:1010 -msgid "Stock Ownership Control" +msgid "Build Expired Stock" msgstr "" #: common/models.py:1011 -msgid "Enable ownership control over stock locations and items" +msgid "Allow building with expired stock" msgstr "" #: common/models.py:1017 -msgid "Build Order Reference Prefix" +msgid "Stock Ownership Control" msgstr "" #: common/models.py:1018 -msgid "Prefix value for build order reference" -msgstr "" - -#: common/models.py:1023 -msgid "Build Order Reference Regex" +msgid "Enable ownership control over stock locations and items" msgstr "" #: common/models.py:1024 +msgid "Build Order Reference Prefix" +msgstr "" + +#: common/models.py:1025 +msgid "Prefix value for build order reference" +msgstr "" + +#: common/models.py:1030 +msgid "Build Order Reference Regex" +msgstr "" + +#: common/models.py:1031 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1029 +#: common/models.py:1036 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1041 +#: common/models.py:1048 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1042 +#: common/models.py:1049 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1048 +#: common/models.py:1055 msgid "Enable password forgot" msgstr "" -#: common/models.py:1049 +#: common/models.py:1056 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1055 +#: common/models.py:1062 msgid "Enable registration" msgstr "" -#: common/models.py:1056 +#: common/models.py:1063 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1069 msgid "Enable SSO" msgstr "" -#: common/models.py:1063 +#: common/models.py:1070 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1069 +#: common/models.py:1076 msgid "Email required" msgstr "" -#: common/models.py:1070 +#: common/models.py:1077 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1076 +#: common/models.py:1083 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1077 +#: common/models.py:1084 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1083 +#: common/models.py:1090 msgid "Mail twice" msgstr "" -#: common/models.py:1084 +#: common/models.py:1091 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1090 +#: common/models.py:1097 msgid "Password twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1098 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1097 +#: common/models.py:1104 msgid "Group on signup" msgstr "" -#: common/models.py:1098 +#: common/models.py:1105 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1104 +#: common/models.py:1111 msgid "Enforce MFA" msgstr "" -#: common/models.py:1105 +#: common/models.py:1112 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1111 +#: common/models.py:1118 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1112 +#: common/models.py:1119 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1120 +#: common/models.py:1127 msgid "Enable URL integration" msgstr "" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1136 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1136 +#: common/models.py:1143 msgid "Enable app integration" msgstr "" -#: common/models.py:1137 +#: common/models.py:1144 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1144 +#: common/models.py:1151 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1145 +#: common/models.py:1152 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1152 +#: common/models.py:1159 msgid "Enable event integration" msgstr "" -#: common/models.py:1153 +#: common/models.py:1160 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1170 common/models.py:1492 +#: common/models.py:1177 common/models.py:1499 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1192 +#: common/models.py:1199 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1193 +#: common/models.py:1200 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1199 +#: common/models.py:1206 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1200 +#: common/models.py:1207 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1213 msgid "Show latest parts" msgstr "" -#: common/models.py:1207 +#: common/models.py:1214 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1213 +#: common/models.py:1220 msgid "Recent Part Count" msgstr "" -#: common/models.py:1214 +#: common/models.py:1221 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1220 +#: common/models.py:1227 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1221 +#: common/models.py:1228 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1227 +#: common/models.py:1234 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1228 +#: common/models.py:1235 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1235 +#: common/models.py:1242 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Show low stock" msgstr "" -#: common/models.py:1242 +#: common/models.py:1249 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Show depleted stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1256 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1262 msgid "Show needed stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1263 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1269 msgid "Show expired stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1270 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1276 msgid "Show stale stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Show pending builds" msgstr "" -#: common/models.py:1277 +#: common/models.py:1284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Show overdue builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1291 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1291 +#: common/models.py:1298 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Show overdue POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1305 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1312 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1318 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1319 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1317 +#: common/models.py:1324 msgid "Enable label printing" msgstr "" -#: common/models.py:1318 +#: common/models.py:1325 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1324 +#: common/models.py:1331 msgid "Inline label display" msgstr "" -#: common/models.py:1325 +#: common/models.py:1332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1331 +#: common/models.py:1338 msgid "Inline report display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1345 msgid "Search Parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1345 +#: common/models.py:1352 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1359 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1366 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1367 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1373 msgid "Search Categories" msgstr "" -#: common/models.py:1367 +#: common/models.py:1374 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1380 msgid "Search Stock" msgstr "" -#: common/models.py:1374 +#: common/models.py:1381 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1387 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1381 +#: common/models.py:1388 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1394 msgid "Search Locations" msgstr "" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1401 msgid "Search Companies" msgstr "" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1408 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1415 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1422 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1429 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Search Preview Results" msgstr "" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1457 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1457 +#: common/models.py:1464 msgid "Date Format" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1472 part/templates/part/detail.html:39 +#: common/models.py:1479 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1473 +#: common/models.py:1480 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1537 company/forms.py:37 +#: common/models.py:1544 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: 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 +#: common/models.py:1551 company/serializers.py:290 +#: company/templates/company/supplier_part.html:263 order/models.py:953 +#: templates/js/translated/part.js:1042 templates/js/translated/part.js:2070 msgid "Price" msgstr "" -#: common/models.py:1545 +#: common/models.py:1552 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1705 common/models.py:1883 +#: common/models.py:1712 common/models.py:1890 msgid "Endpoint" msgstr "" -#: common/models.py:1706 +#: common/models.py:1713 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1715 +#: common/models.py:1722 msgid "Name for this webhook" msgstr "" -#: common/models.py:1720 part/models.py:911 plugin/models.py:99 +#: common/models.py:1727 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 @@ -2458,79 +2475,79 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1721 +#: common/models.py:1728 msgid "Is this webhook active" msgstr "" -#: common/models.py:1735 +#: common/models.py:1742 msgid "Token" msgstr "" -#: common/models.py:1736 +#: common/models.py:1743 msgid "Token for access" msgstr "" -#: common/models.py:1743 +#: common/models.py:1750 msgid "Secret" msgstr "" -#: common/models.py:1744 +#: common/models.py:1751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Message ID" msgstr "" -#: common/models.py:1851 +#: common/models.py:1858 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1859 +#: common/models.py:1866 msgid "Host" msgstr "" -#: common/models.py:1860 +#: common/models.py:1867 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1867 +#: common/models.py:1874 msgid "Header" msgstr "" -#: common/models.py:1868 +#: common/models.py:1875 msgid "Header of this message" msgstr "" -#: common/models.py:1874 +#: common/models.py:1881 msgid "Body" msgstr "" -#: common/models.py:1875 +#: common/models.py:1882 msgid "Body of this message" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1889 +#: common/models.py:1896 msgid "Worked on" msgstr "" -#: common/models.py:1890 +#: common/models.py:1897 msgid "Was the work on this message finished?" msgstr "" #: common/views.py:87 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:193 +#: order/views.py:102 part/views.py:116 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:194 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:117 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -2546,19 +2563,19 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:511 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:16 part/forms.py:21 +#: company/forms.py:16 part/forms.py:18 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:17 part/forms.py:22 +#: company/forms.py:17 part/forms.py:19 msgid "Image URL" msgstr "" @@ -2645,9 +2662,9 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: 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 +#: company/models.py:144 company/serializers.py:296 +#: company/templates/company/company_base.html:106 part/serializers.py:139 +#: part/serializers.py:170 stock/serializers.py:162 msgid "Currency" msgstr "" @@ -2686,7 +2703,7 @@ msgstr "" #: 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 +#: templates/js/translated/part.js:246 templates/js/translated/part.js:1000 msgid "MPN" msgstr "" @@ -2715,8 +2732,8 @@ msgstr "" #: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2080 templates/js/translated/company.js:540 -#: templates/js/translated/company.js:763 templates/js/translated/part.js:776 +#: stock/models.py:2084 templates/js/translated/company.js:540 +#: templates/js/translated/company.js:763 templates/js/translated/part.js:820 #: templates/js/translated/stock.js:1294 msgid "Value" msgstr "" @@ -2725,10 +2742,10 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:368 part/models.py:878 part/models.py:2339 +#: company/models.py:368 part/models.py:878 part/models.py:2327 #: 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 +#: templates/InvenTree/settings/settings.html:351 +#: templates/js/translated/company.js:769 templates/js/translated/part.js:826 msgid "Units" msgstr "" @@ -2741,13 +2758,14 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:487 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:303 +#: company/templates/company/supplier_part.html:87 order/models.py:307 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:229 +#: templates/email/overdue_purchase_order.html:16 #: 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/part.js:216 templates/js/translated/part.js:968 #: templates/js/translated/table_filters.js:415 msgid "Supplier" msgstr "" @@ -2759,7 +2777,7 @@ msgstr "" #: 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 +#: templates/js/translated/part.js:986 msgid "SKU" msgstr "" @@ -2780,17 +2798,17 @@ msgid "Supplier part description" msgstr "" #: company/models.py:518 company/templates/company/supplier_part.html:125 -#: part/models.py:2571 part/templates/part/upload_bom.html:59 +#: part/models.py:2561 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:387 msgid "Note" msgstr "" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "base cost" msgstr "" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -2804,7 +2822,7 @@ msgstr "" msgid "Part packaging" msgstr "" -#: company/models.py:526 part/models.py:1690 +#: company/models.py:526 part/models.py:1685 msgid "multiple" msgstr "" @@ -2867,10 +2885,11 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:649 +#: company/templates/company/company_base.html:86 order/models.py:653 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:758 +#: stock/models.py:628 stock/serializers.py:745 #: stock/templates/stock/item_base.html:401 +#: templates/email/overdue_sales_order.html:16 #: 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 @@ -3000,7 +3019,7 @@ msgid "Supplier List" msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:45 -#: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 +#: part/templates/part/prices.html:172 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -3033,7 +3052,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:39 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 +#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" msgstr "" @@ -3145,7 +3164,7 @@ msgstr "" #: company/templates/company/supplier_part.html:191 #: company/templates/company/supplier_part.html:305 -#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046 +#: part/templates/part/prices.html:276 templates/js/translated/part.js:2142 msgid "Add Price Break" msgstr "" @@ -3154,12 +3173,12 @@ msgid "No price break information found" msgstr "" #: company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2152 msgid "Delete Price Break" msgstr "" #: company/templates/company/supplier_part.html:245 -#: templates/js/translated/part.js:2070 +#: templates/js/translated/part.js:2166 msgid "Edit Price Break" msgstr "" @@ -3181,8 +3200,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: 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/bom.js:554 templates/js/translated/part.js:722 +#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1431 #: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1687 #: templates/navbar.html:31 msgid "Stock" @@ -3239,20 +3258,20 @@ msgstr "" msgid "New Company" msgstr "" -#: company/views.py:112 part/views.py:578 +#: company/views.py:112 part/views.py:501 msgid "Download Image" msgstr "" -#: company/views.py:139 part/views.py:608 +#: company/views.py:139 part/views.py:531 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:146 part/views.py:615 +#: company/views.py:146 part/views.py:538 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:155 part/views.py:624 +#: company/views.py:155 part/views.py:547 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3325,7 +3344,7 @@ msgstr "" msgid "Order description" msgstr "" -#: order/models.py:135 order/models.py:1236 +#: order/models.py:135 order/models.py:1240 msgid "Link to external page" msgstr "" @@ -3341,293 +3360,294 @@ msgstr "" msgid "Order notes" msgstr "" -#: order/models.py:289 order/models.py:639 +#: order/models.py:293 order/models.py:643 msgid "Order reference" msgstr "" -#: order/models.py:294 order/models.py:654 +#: order/models.py:298 order/models.py:658 msgid "Purchase order status" msgstr "" -#: order/models.py:304 +#: order/models.py:308 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:307 order/templates/order/order_base.html:124 +#: order/models.py:311 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:307 +#: order/models.py:311 msgid "Supplier order reference code" msgstr "" -#: order/models.py:314 +#: order/models.py:318 msgid "received by" msgstr "" -#: order/models.py:319 +#: order/models.py:323 msgid "Issue Date" msgstr "" -#: order/models.py:320 +#: order/models.py:324 msgid "Date order was issued" msgstr "" -#: order/models.py:325 +#: order/models.py:329 msgid "Target Delivery Date" msgstr "" -#: order/models.py:326 +#: order/models.py:330 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:332 +#: order/models.py:336 msgid "Date order was completed" msgstr "" -#: order/models.py:368 +#: order/models.py:372 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:512 +#: order/models.py:516 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:650 +#: order/models.py:654 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:656 +#: order/models.py:660 msgid "Customer Reference " msgstr "" -#: order/models.py:656 +#: order/models.py:660 msgid "Customer order reference code" msgstr "" -#: order/models.py:661 +#: order/models.py:665 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:664 order/models.py:1190 +#: order/models.py:668 order/models.py:1194 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:671 +#: order/models.py:675 msgid "shipped by" msgstr "" -#: order/models.py:726 +#: order/models.py:730 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:730 +#: order/models.py:734 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:733 +#: order/models.py:737 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:736 +#: order/models.py:740 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:910 +#: order/models.py:914 msgid "Item quantity" msgstr "" -#: order/models.py:916 +#: order/models.py:920 msgid "Line item reference" msgstr "" -#: order/models.py:918 +#: order/models.py:922 msgid "Line item notes" msgstr "" -#: order/models.py:923 +#: order/models.py:927 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:941 +#: order/models.py:945 msgid "Context" msgstr "" -#: order/models.py:942 +#: order/models.py:946 msgid "Additional context for this line" msgstr "" -#: order/models.py:950 +#: order/models.py:954 msgid "Unit price" msgstr "" -#: order/models.py:980 +#: order/models.py:984 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:988 +#: order/models.py:992 msgid "deleted" msgstr "" -#: order/models.py:994 order/models.py:1074 order/models.py:1099 -#: order/models.py:1184 order/models.py:1320 +#: order/models.py:998 order/models.py:1078 order/models.py:1103 +#: order/models.py:1188 order/models.py:1324 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:995 order/models.py:1074 +#: order/models.py:999 order/models.py:1078 #: 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/email/overdue_purchase_order.html:15 #: 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/part.js:943 templates/js/translated/stock.js:1846 #: templates/js/translated/stock.js:2412 msgid "Purchase Order" msgstr "" -#: order/models.py:1013 +#: order/models.py:1017 msgid "Supplier part" msgstr "" -#: order/models.py:1020 order/templates/order/order_base.html:169 +#: order/models.py:1024 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/part.js:1037 templates/js/translated/part.js:1064 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1021 +#: order/models.py:1025 msgid "Number of items received" msgstr "" -#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: order/models.py:1032 part/templates/part/prices.html:181 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:1029 +#: order/models.py:1033 msgid "Unit purchase price" msgstr "" -#: order/models.py:1037 +#: order/models.py:1041 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1109 part/templates/part/part_pricing.html:112 -#: part/templates/part/prices.html:119 part/templates/part/prices.html:288 +#: order/models.py:1113 part/templates/part/part_pricing.html:115 +#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 msgid "Sale Price" msgstr "" -#: order/models.py:1110 +#: order/models.py:1114 msgid "Unit sale price" msgstr "" -#: order/models.py:1115 +#: order/models.py:1119 msgid "Shipped quantity" msgstr "" -#: order/models.py:1191 +#: order/models.py:1195 msgid "Date of shipment" msgstr "" -#: order/models.py:1198 +#: order/models.py:1202 msgid "Checked By" msgstr "" -#: order/models.py:1199 +#: order/models.py:1203 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1207 +#: order/models.py:1211 msgid "Shipment number" msgstr "" -#: order/models.py:1214 +#: order/models.py:1218 msgid "Shipment notes" msgstr "" -#: order/models.py:1221 +#: order/models.py:1225 msgid "Tracking Number" msgstr "" -#: order/models.py:1222 +#: order/models.py:1226 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1229 +#: order/models.py:1233 msgid "Invoice Number" msgstr "" -#: order/models.py:1230 +#: order/models.py:1234 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1248 +#: order/models.py:1252 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1251 +#: order/models.py:1255 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1354 order/models.py:1356 +#: order/models.py:1358 order/models.py:1360 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1360 +#: order/models.py:1364 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1362 +#: order/models.py:1366 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1365 +#: order/models.py:1369 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1369 +#: order/models.py:1373 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1375 order/serializers.py:1045 +#: order/models.py:1379 order/serializers.py:1047 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1378 +#: order/models.py:1382 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1379 +#: order/models.py:1383 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1387 +#: order/models.py:1391 msgid "Line" msgstr "" -#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 +#: order/models.py:1399 order/serializers.py:1151 order/serializers.py:1275 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1396 +#: order/models.py:1400 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1412 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1409 +#: order/models.py:1413 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1412 +#: order/models.py:1416 msgid "Enter stock allocation quantity" msgstr "" @@ -3663,7 +3683,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1117 +#: order/serializers.py:406 order/serializers.py:1119 msgid "Line Item" msgstr "" @@ -3711,42 +3731,60 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:866 +#: order/serializers.py:868 msgid "Sale price currency" msgstr "" -#: order/serializers.py:947 +#: order/serializers.py:949 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1006 order/serializers.py:1126 +#: order/serializers.py:1008 order/serializers.py:1128 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1028 +#: order/serializers.py:1030 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1139 +#: order/serializers.py:1141 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1161 order/serializers.py:1281 +#: order/serializers.py:1163 order/serializers.py:1283 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1164 order/serializers.py:1284 +#: order/serializers.py:1166 order/serializers.py:1286 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1216 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1224 +#: order/serializers.py:1226 msgid "The following serial numbers are already allocated" msgstr "" +#: order/tasks.py:26 +msgid "Overdue Purchase Order" +msgstr "" + +#: order/tasks.py:31 +#, python-brace-format +msgid "Purchase order {po} is now overdue" +msgstr "" + +#: order/tasks.py:88 +msgid "Overdue Sales Order" +msgstr "" + +#: order/tasks.py:93 +#, python-brace-format +msgid "Sales order {so} is now overdue" +msgstr "" + #: order/templates/order/order_base.html:33 msgid "Print purchase order report" msgstr "" @@ -4022,47 +4060,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:474 +#: part/api.py:481 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:494 +#: part/api.py:501 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:512 +#: part/api.py:519 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:544 +#: part/api.py:551 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:630 +#: part/api.py:637 msgid "Valid" msgstr "" -#: part/api.py:631 +#: part/api.py:638 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:637 +#: part/api.py:644 msgid "This option must be selected" msgstr "" -#: part/api.py:1003 +#: part/api.py:1010 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1007 +#: part/api.py:1014 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1022 +#: part/api.py:1029 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1053 part/api.py:1057 part/api.py:1072 part/api.py:1076 +#: part/api.py:1060 part/api.py:1064 part/api.py:1079 part/api.py:1083 msgid "This field is required" msgstr "" @@ -4081,25 +4119,13 @@ msgid "Available Stock" msgstr "" #: 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 +#: templates/js/translated/part.js:561 templates/js/translated/part.js:581 +#: templates/js/translated/part.js:1273 templates/js/translated/part.js:1445 +#: templates/js/translated/part.js:1461 msgid "On Order" msgstr "" -#: part/forms.py:59 -msgid "Select part category" -msgstr "" - -#: part/forms.py:67 -msgid "Add parameter template to same level categories" -msgstr "" - -#: part/forms.py:71 -msgid "Add parameter template to all categories" -msgstr "" - -#: part/forms.py:92 +#: part/forms.py:60 msgid "Input quantity for price calculation" msgstr "" @@ -4115,7 +4141,7 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:115 part/models.py:2413 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2403 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -4132,7 +4158,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:144 +#: templates/js/translated/part.js:1864 templates/js/translated/search.js:144 #: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "" @@ -4162,7 +4188,7 @@ msgstr "" msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:738 part/models.py:2467 +#: part/models.py:738 part/models.py:2457 msgid "Part name" msgstr "" @@ -4195,12 +4221,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:776 part/models.py:2171 part/models.py:2412 +#: part/models.py:776 part/models.py:2159 part/models.py:2402 #: part/templates/part/part_base.html:257 -#: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 #: templates/InvenTree/settings/settings.html:231 -#: templates/js/translated/part.js:1369 +#: templates/js/translated/part.js:1413 templates/js/translated/part.js:1639 msgid "Category" msgstr "" @@ -4209,7 +4234,7 @@ msgid "Part category" msgstr "" #: 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/part.js:710 templates/js/translated/part.js:1366 #: templates/js/translated/stock.js:1659 msgid "IPN" msgstr "" @@ -4223,7 +4248,7 @@ msgid "Part revision or version number" msgstr "" #: part/models.py:790 part/templates/part/part_base.html:273 -#: report/models.py:170 templates/js/translated/part.js:670 +#: report/models.py:170 templates/js/translated/part.js:714 msgid "Revision" msgstr "" @@ -4311,317 +4336,321 @@ msgstr "" msgid "Creation User" msgstr "" -#: part/models.py:1690 +#: part/models.py:1685 msgid "Sell multiple" msgstr "" -#: part/models.py:2218 +#: part/models.py:2206 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2235 +#: part/models.py:2223 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2255 templates/js/translated/part.js:1819 +#: part/models.py:2243 templates/js/translated/part.js:1915 #: templates/js/translated/stock.js:1274 msgid "Test Name" msgstr "" -#: part/models.py:2256 +#: part/models.py:2244 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2261 +#: part/models.py:2249 msgid "Test Description" msgstr "" -#: part/models.py:2262 +#: part/models.py:2250 msgid "Enter description for this test" msgstr "" -#: part/models.py:2267 templates/js/translated/part.js:1828 +#: part/models.py:2255 templates/js/translated/part.js:1924 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2268 +#: part/models.py:2256 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2273 templates/js/translated/part.js:1836 +#: part/models.py:2261 templates/js/translated/part.js:1932 msgid "Requires Value" msgstr "" -#: part/models.py:2274 +#: part/models.py:2262 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2279 templates/js/translated/part.js:1843 +#: part/models.py:2267 templates/js/translated/part.js:1939 msgid "Requires Attachment" msgstr "" -#: part/models.py:2280 +#: part/models.py:2268 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2288 +#: part/models.py:2276 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2324 +#: part/models.py:2312 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2332 +#: part/models.py:2320 msgid "Parameter Name" msgstr "" -#: part/models.py:2339 +#: part/models.py:2327 msgid "Parameter Units" msgstr "" -#: part/models.py:2370 +#: part/models.py:2358 msgid "Parent Part" msgstr "" -#: part/models.py:2372 part/models.py:2418 part/models.py:2419 +#: part/models.py:2360 part/models.py:2408 part/models.py:2409 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Data" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Parameter Value" msgstr "" -#: part/models.py:2423 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2413 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2424 +#: part/models.py:2414 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2459 +#: part/models.py:2449 msgid "Part ID or part name" msgstr "" -#: part/models.py:2462 templates/js/translated/model_renderers.js:200 +#: part/models.py:2452 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2463 +#: part/models.py:2453 msgid "Unique part ID value" msgstr "" -#: part/models.py:2466 +#: part/models.py:2456 msgid "Part Name" msgstr "" -#: part/models.py:2470 +#: part/models.py:2460 msgid "Part IPN" msgstr "" -#: part/models.py:2471 +#: part/models.py:2461 msgid "Part IPN value" msgstr "" -#: part/models.py:2474 +#: part/models.py:2464 msgid "Level" msgstr "" -#: part/models.py:2475 +#: part/models.py:2465 msgid "BOM level" msgstr "" -#: part/models.py:2544 +#: part/models.py:2534 msgid "Select parent part" msgstr "" -#: part/models.py:2552 +#: part/models.py:2542 msgid "Sub part" msgstr "" -#: part/models.py:2553 +#: part/models.py:2543 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2559 +#: part/models.py:2549 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2561 part/templates/part/upload_bom.html:58 +#: part/models.py:2551 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:2561 +#: part/models.py:2551 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2564 part/templates/part/upload_bom.html:55 +#: part/models.py:2554 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2565 +#: part/models.py:2555 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2568 +#: part/models.py:2558 msgid "BOM item reference" msgstr "" -#: part/models.py:2571 +#: part/models.py:2561 msgid "BOM item notes" msgstr "" -#: part/models.py:2573 +#: part/models.py:2563 msgid "Checksum" msgstr "" -#: part/models.py:2573 +#: part/models.py:2563 msgid "BOM line checksum" msgstr "" -#: part/models.py:2577 part/templates/part/upload_bom.html:57 +#: part/models.py:2567 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:2578 +#: part/models.py:2568 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2583 part/templates/part/upload_bom.html:56 +#: part/models.py:2573 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:980 msgid "Allow Variants" msgstr "" -#: part/models.py:2584 +#: part/models.py:2574 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2662 stock/models.py:460 +#: part/models.py:2652 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2671 part/models.py:2673 +#: part/models.py:2661 part/models.py:2663 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2778 +#: part/models.py:2768 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2799 +#: part/models.py:2789 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2812 +#: part/models.py:2802 msgid "Parent BOM item" msgstr "" -#: part/models.py:2820 +#: part/models.py:2810 msgid "Substitute part" msgstr "" -#: part/models.py:2831 +#: part/models.py:2825 msgid "Part 1" msgstr "" -#: part/models.py:2835 +#: part/models.py:2829 msgid "Part 2" msgstr "" -#: part/models.py:2835 +#: part/models.py:2829 msgid "Select Related Part" msgstr "" -#: part/models.py:2866 -msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" +#: part/models.py:2847 +msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 +#: part/models.py:2851 +msgid "Duplicate relationship already exists" +msgstr "" + +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:794 +#: part/serializers.py:796 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:804 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:805 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:810 msgid "Include Inherited" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:811 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:816 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:817 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:820 +#: part/serializers.py:822 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:821 +#: part/serializers.py:823 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:861 +#: part/serializers.py:863 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:864 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:894 msgid "No part column specified" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:937 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:938 +#: part/serializers.py:940 msgid "No matching part found" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:943 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:950 +#: part/serializers.py:952 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:958 +#: part/serializers.py:960 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:979 +#: part/serializers.py:981 msgid "At least one BOM item is required" msgstr "" @@ -5100,7 +5129,7 @@ msgstr "" #: 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 +#: templates/js/translated/part.js:625 templates/js/translated/part.js:702 msgid "Inactive" msgstr "" @@ -5133,9 +5162,9 @@ msgstr "" msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/part.js:520 -#: templates/js/translated/part.js:540 templates/js/translated/part.js:1233 -#: templates/js/translated/part.js:1405 templates/js/translated/part.js:1421 +#: part/templates/part/part_base.html:238 templates/js/translated/part.js:564 +#: templates/js/translated/part.js:584 templates/js/translated/part.js:1277 +#: templates/js/translated/part.js:1449 templates/js/translated/part.js:1465 msgid "Building" msgstr "" @@ -5152,7 +5181,7 @@ msgstr "" msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:443 part/templates/part/prices.html:147 +#: part/templates/part/part_base.html:443 part/templates/part/prices.html:149 msgid "Calculate" msgstr "" @@ -5170,19 +5199,19 @@ msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:106 -#: part/templates/part/prices.html:123 +#: part/templates/part/part_pricing.html:103 +#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 +#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:104 -#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:111 -#: part/templates/part/prices.html:128 +#: part/templates/part/part_pricing.html:107 +#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 +#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 +#: part/templates/part/prices.html:130 msgid "Total Cost" msgstr "" @@ -5192,32 +5221,33 @@ msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:246 +#: part/templates/part/prices.html:248 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:89 +#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:96 +#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:105 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/prices.html:107 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:128 -#: part/templates/part/prices.html:137 +#: part/templates/part/part_pricing.html:131 +#: part/templates/part/prices.html:139 msgid "No pricing information is available for this part." msgstr "" @@ -5241,44 +5271,6 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:9 -#, python-format -msgid "" -"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" -"
Disable the \"Active\" part attribute and re-try.\n" -" " -msgstr "" - -#: part/templates/part/partial_delete.html:17 -#, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" -msgstr "" - -#: part/templates/part/partial_delete.html:22 -#, python-format -msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" -msgstr "" - -#: part/templates/part/partial_delete.html:32 -#, python-format -msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:43 -#, python-format -msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:54 -#, python-format -msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:67 -#, python-format -msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." -msgstr "" - #: part/templates/part/prices.html:19 msgid "Pricing ranges" msgstr "" @@ -5295,66 +5287,58 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:120 +#: part/templates/part/prices.html:122 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:123 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:143 +#: part/templates/part/prices.html:145 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:957 +#: part/templates/part/prices.html:160 templates/js/translated/bom.js:957 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:159 part/templates/part/prices.html:180 -#: part/templates/part/prices.html:204 part/templates/part/prices.html:234 -#: part/templates/part/prices.html:260 part/templates/part/prices.html:289 +#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 +#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 +#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:184 +#: part/templates/part/prices.html:186 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:193 +#: part/templates/part/prices.html:195 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:203 +#: part/templates/part/prices.html:205 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:218 +#: part/templates/part/prices.html:220 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:233 +#: part/templates/part/prices.html:235 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:259 +#: part/templates/part/prices.html:261 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:300 +#: part/templates/part/prices.html:302 msgid "No sale pice history available for this part." msgstr "" -#: part/templates/part/set_category.html:9 -msgid "Set category for the following parts" -msgstr "" - -#: part/templates/part/set_category.html:32 -msgid "Remove part" -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543 -#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:587 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:1469 msgid "No Stock" msgstr "" @@ -5417,71 +5401,42 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:76 -msgid "Set Part Category" -msgstr "" - -#: part/views.py:124 -#, python-brace-format -msgid "Set category for {n} parts" -msgstr "" - -#: part/views.py:195 +#: part/views.py:118 msgid "Match References" msgstr "" -#: part/views.py:496 +#: part/views.py:419 msgid "None" msgstr "" -#: part/views.py:558 +#: part/views.py:481 msgid "Part QR Code" msgstr "" -#: part/views.py:652 +#: part/views.py:575 msgid "Select Part Image" msgstr "" -#: part/views.py:678 +#: part/views.py:601 msgid "Updated part image" msgstr "" -#: part/views.py:681 +#: part/views.py:604 msgid "Part image not found" msgstr "" -#: part/views.py:770 -msgid "Confirm Part Deletion" -msgstr "" - -#: part/views.py:778 -msgid "Part was deleted" -msgstr "" - -#: part/views.py:787 +#: part/views.py:693 msgid "Part Pricing" msgstr "" -#: part/views.py:978 +#: part/views.py:884 msgid "Delete Part Category" msgstr "" -#: part/views.py:985 +#: part/views.py:891 msgid "Part category was deleted" msgstr "" -#: part/views.py:994 -msgid "Create Category Parameter Template" -msgstr "" - -#: part/views.py:1094 -msgid "Edit Category Parameter Template" -msgstr "" - -#: part/views.py:1155 -msgid "Delete Category Parameter Template" -msgstr "" - #: plugin/apps.py:56 msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" @@ -5538,21 +5493,21 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:28 +#: plugin/builtin/integration/core_notifications.py:29 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 +#: plugin/builtin/integration/core_notifications.py:30 msgid "Integrated outgoing notificaton methods" msgstr "" -#: 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:34 #: plugin/builtin/integration/core_notifications.py:53 +msgid "Enable email notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:35 +#: plugin/builtin/integration/core_notifications.py:54 msgid "Allow sending of emails for event notifications" msgstr "" @@ -5668,15 +5623,19 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:166 +#: report/api.py:179 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:198 report/api.py:239 +#: report/api.py:215 report/api.py:256 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" +#: report/api.py:359 +msgid "Test report" +msgstr "" + #: report/models.py:152 msgid "Template name" msgstr "" @@ -5788,12 +5747,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2068 +#: stock/models.py:2072 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2074 +#: stock/models.py:2078 msgid "Result" msgstr "" @@ -5993,79 +5952,79 @@ msgstr "" msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1325 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1324 +#: stock/models.py:1328 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1327 +#: stock/models.py:1331 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1334 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1333 +#: stock/models.py:1337 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1340 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1343 stock/serializers.py:908 +#: stock/models.py:1347 stock/serializers.py:895 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1347 +#: stock/models.py:1351 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1355 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1359 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1524 +#: stock/models.py:1528 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1986 +#: stock/models.py:1990 msgid "Entry notes" msgstr "" -#: stock/models.py:2044 +#: stock/models.py:2048 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2050 +#: stock/models.py:2054 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2069 +#: stock/models.py:2073 msgid "Test name" msgstr "" -#: stock/models.py:2075 +#: stock/models.py:2079 msgid "Test result" msgstr "" -#: stock/models.py:2081 +#: stock/models.py:2085 msgid "Test output value" msgstr "" -#: stock/models.py:2088 +#: stock/models.py:2092 msgid "Test result attachment" msgstr "" -#: stock/models.py:2094 +#: stock/models.py:2098 msgid "Test notes" msgstr "" @@ -6086,7 +6045,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:865 stock/serializers.py:1098 +#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 msgid "Destination stock location" msgstr "" @@ -6126,63 +6085,63 @@ msgstr "" msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:707 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:724 +#: stock/serializers.py:711 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:728 +#: stock/serializers.py:715 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:759 +#: stock/serializers.py:746 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:765 +#: stock/serializers.py:752 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:773 +#: stock/serializers.py:760 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:783 stock/serializers.py:1014 +#: stock/serializers.py:770 stock/serializers.py:1001 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:872 +#: stock/serializers.py:859 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:877 +#: stock/serializers.py:864 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:878 +#: stock/serializers.py:865 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:883 +#: stock/serializers.py:870 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:884 +#: stock/serializers.py:871 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:894 +#: stock/serializers.py:881 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:976 +#: stock/serializers.py:963 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1004 +#: stock/serializers.py:991 msgid "Stock transaction notes" msgstr "" @@ -6207,7 +6166,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:295 msgid "Delete Test Data" msgstr "" @@ -6223,7 +6182,11 @@ msgstr "" msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:292 templates/js/translated/stock.js:1455 +#: stock/templates/stock/item.html:290 +msgid "Delete all test results for this stock item" +msgstr "" + +#: stock/templates/stock/item.html:331 templates/js/translated/stock.js:1455 msgid "Add Test Result" msgstr "" @@ -6551,7 +6514,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:182 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:144 msgid "Convert Stock Item" msgstr "" @@ -6572,31 +6535,19 @@ msgstr "" msgid "This action cannot be easily undone" msgstr "" -#: stock/views.py:113 +#: stock/views.py:111 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:131 -msgid "Delete All Test Data" -msgstr "" - -#: stock/views.py:149 -msgid "Confirm test data deletion" -msgstr "" - -#: stock/views.py:150 -msgid "Check the confirmation box" -msgstr "" - -#: stock/views.py:165 +#: stock/views.py:127 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:216 +#: stock/views.py:178 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:229 +#: stock/views.py:191 msgid "Delete Stock Item" msgstr "" @@ -6731,7 +6682,7 @@ msgid "Notifications" msgstr "" #: templates/InvenTree/notifications/notifications.html:51 -#: templates/InvenTree/settings/settings.html:321 +#: templates/InvenTree/settings/settings.html:340 msgid "ID" msgstr "" @@ -7005,32 +6956,40 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings.html:238 -#: templates/InvenTree/settings/settings.html:337 +#: templates/InvenTree/settings/settings.html:356 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings.html:239 -#: templates/InvenTree/settings/settings.html:338 +#: templates/InvenTree/settings/settings.html:357 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:317 +#: templates/InvenTree/settings/settings.html:279 +msgid "Create Category Parameter Template" +msgstr "" + +#: templates/InvenTree/settings/settings.html:324 +msgid "Delete Category Parameter Template" +msgstr "" + +#: templates/InvenTree/settings/settings.html:336 msgid "No part parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:355 +#: templates/InvenTree/settings/settings.html:374 msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:373 +#: templates/InvenTree/settings/settings.html:392 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:387 +#: templates/InvenTree/settings/settings.html:406 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings.html:395 +#: templates/InvenTree/settings/settings.html:414 msgid "Delete Part Parameter Template" msgstr "" @@ -7331,8 +7290,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:56 templates/js/translated/modals.js:595 -#: templates/js/translated/modals.js:689 templates/js/translated/modals.js:997 +#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 +#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 #: templates/js/translated/order.js:928 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7404,6 +7363,10 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:630 +msgid "Confirm" +msgstr "" + #: templates/account/email_confirm.html:27 #, python-format msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." @@ -7619,8 +7582,8 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 #: 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/build.js:2650 templates/js/translated/part.js:571 +#: templates/js/translated/part.js:574 #: templates/js/translated/table_filters.js:178 msgid "Available" msgstr "" @@ -7638,6 +7601,12 @@ msgstr "" msgid "Minimum Quantity" msgstr "" +#: templates/email/overdue_build_order.html:9 +#: templates/email/overdue_purchase_order.html:9 +#: templates/email/overdue_sales_order.html:9 +msgid "Click on the following link to view this order" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -7654,11 +7623,11 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:235 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:235 templates/js/translated/modals.js:1073 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1074 msgid "No response from the InvenTree server" msgstr "" @@ -7670,27 +7639,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1083 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1084 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:252 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:252 templates/js/translated/modals.js:1088 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:253 templates/js/translated/modals.js:1083 +#: templates/js/translated/api.js:253 templates/js/translated/modals.js:1089 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1093 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1088 +#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1094 msgid "The requested resource could not be located on the server" msgstr "" @@ -7702,11 +7671,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:267 templates/js/translated/modals.js:1092 +#: templates/js/translated/api.js:267 templates/js/translated/modals.js:1098 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:268 templates/js/translated/modals.js:1093 +#: templates/js/translated/api.js:268 templates/js/translated/modals.js:1099 msgid "Connection timeout while requesting data from server" msgstr "" @@ -7734,11 +7703,11 @@ msgstr "" msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:262 +#: templates/js/translated/attachment.js:268 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:269 +#: templates/js/translated/attachment.js:275 msgid "Delete attachment" msgstr "" @@ -7771,7 +7740,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "Invalid server response" msgstr "" @@ -7964,7 +7933,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:912 templates/js/translated/build.js:1820 -#: templates/js/translated/part.js:690 +#: templates/js/translated/part.js:734 msgid "Includes variant stock" msgstr "" @@ -8275,8 +8244,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: 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/build.js:2448 templates/js/translated/part.js:1358 +#: templates/js/translated/part.js:1825 templates/js/translated/stock.js:1619 #: templates/js/translated/stock.js:2277 msgid "Select" msgstr "" @@ -8370,34 +8339,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:615 -#: templates/js/translated/company.js:874 templates/js/translated/part.js:565 -#: templates/js/translated/part.js:650 +#: templates/js/translated/company.js:874 templates/js/translated/part.js:609 +#: templates/js/translated/part.js:694 msgid "Template part" msgstr "" #: templates/js/translated/company.js:619 -#: templates/js/translated/company.js:878 templates/js/translated/part.js:569 -#: templates/js/translated/part.js:654 +#: templates/js/translated/company.js:878 templates/js/translated/part.js:613 +#: templates/js/translated/part.js:698 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:747 templates/js/translated/part.js:757 +#: templates/js/translated/company.js:747 templates/js/translated/part.js:801 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:799 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:843 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:785 templates/js/translated/part.js:800 +#: templates/js/translated/company.js:785 templates/js/translated/part.js:844 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:804 templates/js/translated/part.js:817 +#: templates/js/translated/company.js:804 templates/js/translated/part.js:861 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:815 templates/js/translated/part.js:829 +#: templates/js/translated/company.js:815 templates/js/translated/part.js:873 msgid "Delete Parameter" msgstr "" @@ -8568,12 +8537,12 @@ msgid "Select Label Template" msgstr "" #: templates/js/translated/modals.js:82 templates/js/translated/modals.js:142 -#: templates/js/translated/modals.js:621 +#: templates/js/translated/modals.js:627 msgid "Cancel" msgstr "" #: 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/js/translated/modals.js:694 templates/js/translated/modals.js:1002 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" @@ -8582,47 +8551,47 @@ msgstr "" msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:403 +#: templates/js/translated/modals.js:421 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:562 +#: templates/js/translated/modals.js:568 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:620 +#: templates/js/translated/modals.js:626 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:677 +#: templates/js/translated/modals.js:683 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:960 +#: templates/js/translated/modals.js:966 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1072 +#: templates/js/translated/modals.js:1078 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1073 +#: templates/js/translated/modals.js:1079 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1096 +#: templates/js/translated/modals.js:1102 msgid "Error requesting form data" msgstr "" @@ -8672,11 +8641,11 @@ msgstr "" msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:259 +#: templates/js/translated/notification.js:260 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:300 templates/notifications.html:10 +#: templates/js/translated/notification.js:302 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" @@ -8844,7 +8813,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1602 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1602 templates/js/translated/part.js:914 msgid "No purchase orders found" msgstr "" @@ -8879,7 +8848,7 @@ msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 #: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 -#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 +#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2397 msgid "Unit Price" msgstr "" @@ -8889,11 +8858,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:1993 templates/js/translated/order.js:3525 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:1023 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1069 msgid "Receive line item" msgstr "" @@ -9154,165 +9123,209 @@ msgstr "" msgid "Create Part Variant" msgstr "" +#: templates/js/translated/part.js:405 +msgid "Active Part" +msgstr "" + +#: templates/js/translated/part.js:406 +msgid "Part cannot be deleted as it is currently active" +msgstr "" + +#: templates/js/translated/part.js:420 +msgid "Deleting this part cannot be reversed" +msgstr "" + +#: templates/js/translated/part.js:422 +msgid "Any stock items for this part will be deleted" +msgstr "" + #: templates/js/translated/part.js:423 +msgid "This part will be removed from any Bills of Material" +msgstr "" + +#: templates/js/translated/part.js:424 +msgid "All manufacturer and supplier information for this part will be deleted" +msgstr "" + +#: templates/js/translated/part.js:431 +msgid "Delete Part" +msgstr "" + +#: templates/js/translated/part.js:467 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:425 +#: templates/js/translated/part.js:469 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:474 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:476 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:493 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:503 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:506 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:487 +#: templates/js/translated/part.js:531 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:513 templates/js/translated/part.js:1397 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1441 #: templates/js/translated/table_filters.js:452 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:523 templates/js/translated/part.js:1409 +#: templates/js/translated/part.js:567 templates/js/translated/part.js:1453 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:557 templates/js/translated/part.js:642 +#: templates/js/translated/part.js:601 templates/js/translated/part.js:686 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:561 templates/js/translated/part.js:646 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:690 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:617 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:577 +#: templates/js/translated/part.js:621 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:705 +#: templates/js/translated/part.js:749 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1095 +#: templates/js/translated/part.js:1139 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1119 +#: templates/js/translated/part.js:1163 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1184 templates/js/translated/part.js:1480 +#: templates/js/translated/part.js:1228 templates/js/translated/part.js:1524 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1223 +#: templates/js/translated/part.js:1267 msgid "Not available" msgstr "" -#: templates/js/translated/part.js:1374 +#: templates/js/translated/part.js:1418 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664 +#: templates/js/translated/part.js:1548 templates/js/translated/part.js:1760 #: templates/js/translated/stock.js:2238 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1520 +#: templates/js/translated/part.js:1564 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2257 +#: templates/js/translated/part.js:1630 +msgid "Set the part category for the selected parts" +msgstr "" + +#: templates/js/translated/part.js:1635 +msgid "Set Part Category" +msgstr "" + +#: templates/js/translated/part.js:1640 +msgid "Select Part Category" +msgstr "" + +#: templates/js/translated/part.js:1653 +msgid "Category is required" +msgstr "" + +#: templates/js/translated/part.js:1779 templates/js/translated/stock.js:2257 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1747 +#: templates/js/translated/part.js:1843 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2301 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2301 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:1901 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1233 +#: templates/js/translated/part.js:1952 templates/js/translated/stock.js:1233 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1234 +#: templates/js/translated/part.js:1953 templates/js/translated/stock.js:1234 #: templates/js/translated/stock.js:1493 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1863 +#: templates/js/translated/part.js:1959 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1885 +#: templates/js/translated/part.js:1981 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:1995 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1924 +#: templates/js/translated/part.js:2020 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1981 +#: templates/js/translated/part.js:2077 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1982 +#: templates/js/translated/part.js:2078 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:2096 +#: templates/js/translated/part.js:2192 msgid "Current Stock" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2225 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2155 +#: templates/js/translated/part.js:2251 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2225 +#: templates/js/translated/part.js:2321 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:2244 +#: templates/js/translated/part.js:2340 msgid "Single Price Difference" msgstr "" diff --git a/InvenTree/locale/fa/LC_MESSAGES/django.po b/InvenTree/locale/fa/LC_MESSAGES/django.po index 4d854e017f..e4af7a23c2 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-06-05 14:26+0000\n" -"PO-Revision-Date: 2022-06-05 14:34\n" +"POT-Creation-Date: 2022-06-06 22:59+0000\n" +"PO-Revision-Date: 2022-06-07 14:34\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:46 +#: InvenTree/api.py:49 msgid "API endpoint not found" msgstr "Address e API peida nashod" @@ -29,275 +29,273 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:630 -msgid "Confirm" -msgstr "تایید" - -#: InvenTree/forms.py:134 +#: InvenTree/forms.py:117 msgid "Confirm delete" msgstr "تائید حذف" -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:118 msgid "Confirm item deletion" msgstr "" -#: InvenTree/forms.py:167 +#: InvenTree/forms.py:150 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:151 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:158 msgid "Confirm password" msgstr "" -#: InvenTree/forms.py:176 +#: InvenTree/forms.py:159 msgid "Confirm new password" msgstr "" -#: InvenTree/forms.py:213 -msgid "Select Category" -msgstr "" - -#: InvenTree/forms.py:234 +#: InvenTree/forms.py:184 msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:238 +#: InvenTree/forms.py:188 msgid "Email address confirmation" msgstr "" -#: InvenTree/forms.py:259 +#: InvenTree/forms.py:209 msgid "You must type the same email each time." msgstr "" -#: InvenTree/helpers.py:402 +#: InvenTree/helpers.py:404 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 +#: InvenTree/helpers.py:411 order/models.py:370 order/models.py:522 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:412 +#: InvenTree/helpers.py:414 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:444 +#: InvenTree/helpers.py:446 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:447 +#: InvenTree/helpers.py:449 #, python-brace-format msgid "Invalid group: {g}" msgstr "" -#: InvenTree/helpers.py:475 +#: InvenTree/helpers.py:477 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:483 +#: InvenTree/helpers.py:485 #, python-brace-format msgid "Invalid/no group {group}" msgstr "" -#: InvenTree/helpers.py:489 +#: InvenTree/helpers.py:491 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:493 +#: InvenTree/helpers.py:495 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:174 +#: InvenTree/models.py:178 msgid "Missing file" msgstr "" -#: InvenTree/models.py:175 +#: InvenTree/models.py:179 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:187 stock/models.py:2087 -#: templates/js/translated/attachment.js:101 -#: templates/js/translated/attachment.js:198 +#: InvenTree/models.py:191 stock/models.py:2091 +#: templates/js/translated/attachment.js:103 +#: templates/js/translated/attachment.js:194 msgid "Attachment" msgstr "" -#: InvenTree/models.py:188 +#: InvenTree/models.py:192 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 -#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: InvenTree/models.py:198 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:136 order/models.py:1251 #: 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 -#: templates/js/translated/part.js:1441 +#: templates/js/translated/company.js:640 +#: templates/js/translated/company.js:931 templates/js/translated/order.js:2676 +#: templates/js/translated/part.js:1485 msgid "Link" msgstr "" -#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: InvenTree/models.py:199 build/models.py:320 part/models.py:796 #: stock/models.py:642 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 -#: templates/js/translated/attachment.js:242 +#: InvenTree/models.py:202 templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:238 msgid "Comment" msgstr "" -#: InvenTree/models.py:198 +#: InvenTree/models.py:202 msgid "File comment" msgstr "" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1506 +#: common/models.py:1507 common/models.py:1735 common/models.py:1736 +#: common/models.py:1998 common/models.py:1999 part/models.py:2141 +#: part/models.py:2161 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:2523 msgid "User" msgstr "" -#: InvenTree/models.py:208 +#: InvenTree/models.py:212 msgid "upload date" msgstr "" -#: InvenTree/models.py:230 +#: InvenTree/models.py:234 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:253 +#: InvenTree/models.py:257 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:263 +#: InvenTree/models.py:267 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:266 +#: InvenTree/models.py:270 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:273 +#: InvenTree/models.py:277 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:280 +#: InvenTree/models.py:284 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:314 +#: InvenTree/models.py:318 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 #: company/models.py:354 label/models.py:101 part/models.py:739 -#: part/models.py:2331 plugin/models.py:93 report/models.py:151 +#: part/models.py:2319 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 #: templates/InvenTree/settings/plugin.html:132 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:346 -#: 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:2283 +#: templates/js/translated/company.js:530 +#: templates/js/translated/company.js:742 templates/js/translated/part.js:659 +#: templates/js/translated/part.js:811 templates/js/translated/part.js:1832 +#: templates/js/translated/stock.js:2293 msgid "Name" msgstr "" -#: InvenTree/models.py:340 build/models.py:197 +#: InvenTree/models.py:344 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: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:164 +#: order/models.py:134 part/models.py:762 part/templates/part/category.html:74 +#: part/templates/part/part_base.html:167 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 -#: 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/bom.js:553 templates/js/translated/bom.js:845 +#: templates/js/translated/build.js:2476 templates/js/translated/company.js:395 +#: templates/js/translated/company.js:651 +#: templates/js/translated/company.js:942 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:1676 -#: templates/js/translated/stock.js:2295 templates/js/translated/stock.js:2350 +#: templates/js/translated/part.js:718 templates/js/translated/part.js:1126 +#: templates/js/translated/part.js:1399 templates/js/translated/part.js:1851 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:1686 +#: templates/js/translated/stock.js:2305 templates/js/translated/stock.js:2360 msgid "Description" msgstr "" -#: InvenTree/models.py:341 +#: InvenTree/models.py:345 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:349 +#: InvenTree/models.py:353 msgid "parent" msgstr "" -#: InvenTree/serializers.py:52 part/models.py:2652 +#: InvenTree/models.py:466 +msgid "Server Error" +msgstr "" + +#: InvenTree/models.py:467 +msgid "An error has been logged by the server." +msgstr "" + +#: InvenTree/serializers.py:52 part/models.py:2640 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:271 +#: InvenTree/serializers.py:263 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:306 +#: InvenTree/serializers.py:298 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:320 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:321 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:342 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:348 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:377 +#: InvenTree/serializers.py:369 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:372 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:495 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:506 +#: InvenTree/serializers.py:498 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:583 +#: InvenTree/serializers.py:575 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:592 +#: InvenTree/serializers.py:584 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" @@ -440,7 +438,7 @@ msgstr "" msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:141 order/models.py:1114 +#: InvenTree/status_codes.py:141 order/models.py:1130 #: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "" @@ -525,7 +523,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2020 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2030 msgid "Merged stock items" msgstr "" @@ -597,27 +595,27 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:522 +#: InvenTree/views.py:521 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:571 +#: InvenTree/views.py:570 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:585 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:597 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "" -#: InvenTree/views.py:618 +#: InvenTree/views.py:617 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:842 templates/navbar.html:152 +#: InvenTree/views.py:807 templates/navbar.html:152 msgid "System Information" msgstr "" @@ -628,6 +626,7 @@ msgstr "" #: 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/email/overdue_build_order.html:15 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "" @@ -646,12 +645,12 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:189 order/models.py:288 order/models.py:638 -#: order/models.py:916 part/models.py:2570 +#: build/models.py:189 order/models.py:293 order/models.py:654 +#: order/models.py:932 part/models.py:2558 #: 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/bom.js:690 templates/js/translated/bom.js:852 #: 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:3959 @@ -673,13 +672,12 @@ msgstr "" #: 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:2460 part/models.py:2545 part/models.py:2821 -#: part/serializers.py:793 part/templates/part/part_app_base.html:8 +#: order/models.py:1028 order/models.py:1119 part/models.py:336 +#: part/models.py:2087 part/models.py:2102 part/models.py:2121 +#: part/models.py:2139 part/models.py:2238 part/models.py:2358 +#: part/models.py:2448 part/models.py:2533 part/models.py:2809 +#: part/serializers.py:795 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 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 @@ -687,22 +685,23 @@ msgstr "" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 +#: templates/email/overdue_build_order.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:805 +#: templates/js/translated/bom.js:689 templates/js/translated/bom.js:799 #: 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/company.js:253 +#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:592 +#: templates/js/translated/company.js:851 templates/js/translated/order.js:100 #: templates/js/translated/order.js:883 templates/js/translated/order.js:1315 #: 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:1633 templates/js/translated/stock.js:2376 -#: templates/js/translated/stock.js:2571 templates/js/translated/stock.js:2705 +#: templates/js/translated/part.js:1111 templates/js/translated/part.js:1181 +#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:695 templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2386 +#: templates/js/translated/stock.js:2581 templates/js/translated/stock.js:2715 msgid "Part" msgstr "" @@ -768,12 +767,12 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:282 order/models.py:137 part/models.py:932 +#: build/models.py:282 order/models.py:138 part/models.py:932 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "" -#: build/models.py:286 order/models.py:660 +#: build/models.py:286 order/models.py:676 msgid "Target completion date" msgstr "" @@ -781,7 +780,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:290 order/models.py:331 +#: build/models.py:290 order/models.py:336 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "" @@ -799,7 +798,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:313 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:151 +#: build/templates/build/detail.html:115 order/models.py:152 #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 @@ -822,20 +821,20 @@ msgstr "" #: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 #: company/models.py:519 company/templates/company/sidebar.html:25 -#: order/models.py:155 order/models.py:918 order/models.py:1213 +#: order/models.py:156 order/models.py:934 order/models.py:1229 #: order/templates/order/po_sidebar.html:11 #: 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:713 stock/models.py:1985 stock/models.py:2093 +#: stock/models.py:713 stock/models.py:1989 stock/models.py:2097 #: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:486 -#: stock/serializers.py:772 stock/serializers.py:871 stock/serializers.py:1003 +#: stock/serializers.py:759 stock/serializers.py:858 stock/serializers.py:990 #: 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/barcode.js:100 templates/js/translated/bom.js:1038 +#: templates/js/translated/company.js:947 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 -#: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 +#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1926 msgid "Notes" msgstr "" @@ -855,44 +854,44 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1108 +#: build/models.py:1111 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1117 +#: build/models.py:1120 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1127 +#: build/models.py:1130 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1133 order/models.py:1372 +#: build/models.py:1136 order/models.py:1388 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1139 +#: build/models.py:1142 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1196 +#: build/models.py:1199 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1265 stock/templates/stock/item_base.html:177 +#: build/models.py:1268 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:1266 +#: build/models.py:1269 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 -#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:703 -#: stock/serializers.py:829 stock/templates/stock/item_base.html:10 +#: build/models.py:1285 build/serializers.py:603 order/serializers.py:996 +#: order/serializers.py:1017 stock/serializers.py:382 stock/serializers.py:690 +#: stock/serializers.py:816 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 @@ -900,22 +899,22 @@ msgstr "" #: 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:2449 +#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696 +#: templates/js/translated/stock.js:2459 msgid "Stock Item" msgstr "" -#: build/models.py:1283 +#: build/models.py:1286 msgid "Source stock item" msgstr "" -#: build/models.py:1295 build/serializers.py:183 +#: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1536 +#: build/templates/build/detail.html:34 common/models.py:1543 #: 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:68 -#: part/forms.py:83 part/forms.py:98 part/models.py:2561 +#: order/models.py:925 order/models.py:1428 order/serializers.py:1136 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 +#: part/forms.py:74 part/forms.py:89 part/models.py:2549 #: 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 @@ -926,8 +925,8 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:139 #: 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 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:691 +#: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 #: templates/js/translated/build.js:574 templates/js/translated/build.js:765 #: templates/js/translated/build.js:1175 templates/js/translated/build.js:1673 #: templates/js/translated/build.js:2086 @@ -937,23 +936,23 @@ msgstr "" #: 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: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 -#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727 -#: templates/js/translated/stock.js:2498 templates/js/translated/stock.js:2583 +#: templates/js/translated/part.js:1011 templates/js/translated/part.js:2065 +#: templates/js/translated/part.js:2296 templates/js/translated/part.js:2330 +#: templates/js/translated/part.js:2408 templates/js/translated/stock.js:402 +#: templates/js/translated/stock.js:556 templates/js/translated/stock.js:726 +#: templates/js/translated/stock.js:2508 templates/js/translated/stock.js:2593 msgid "Quantity" msgstr "" -#: build/models.py:1296 +#: build/models.py:1299 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1304 +#: build/models.py:1307 msgid "Install into" msgstr "" -#: build/models.py:1305 +#: build/models.py:1308 msgid "Destination stock item" msgstr "" @@ -982,9 +981,9 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: 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:1239 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:368 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:514 +#: part/serializers.py:958 stock/models.py:470 stock/models.py:1239 #: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" @@ -997,9 +996,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 #: stock/serializers.py:297 templates/js/translated/order.js:1186 -#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:237 templates/js/translated/stock.js:403 msgid "Serial Numbers" msgstr "" @@ -1015,7 +1014,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:552 +#: build/serializers.py:268 stock/api.py:553 msgid "The following serial numbers already exist" msgstr "" @@ -1025,16 +1024,16 @@ msgstr "" #: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 #: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:481 -#: stock/serializers.py:864 stock/serializers.py:1097 +#: stock/serializers.py:851 stock/serializers.py:1084 #: 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 #: 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:1787 templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532 +#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904 +#: templates/js/translated/stock.js:1797 templates/js/translated/stock.js:2400 msgid "Location" msgstr "" @@ -1043,12 +1042,12 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:363 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:654 +#: build/templates/build/detail.html:62 order/models.py:670 #: 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 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1772 +#: templates/js/translated/stock.js:2477 templates/js/translated/stock.js:2609 msgid "Status" msgstr "" @@ -1108,8 +1107,8 @@ msgstr "" msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:535 build/serializers.py:580 part/models.py:2679 -#: part/models.py:2813 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2667 +#: part/models.py:2801 msgid "BOM Item" msgstr "" @@ -1125,11 +1124,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:716 +#: build/serializers.py:609 stock/serializers.py:703 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:667 order/serializers.py:1052 +#: build/serializers.py:667 order/serializers.py:1054 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1146,7 +1145,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:708 order/serializers.py:1298 +#: build/serializers.py:708 order/serializers.py:1300 msgid "Allocation items must be provided" msgstr "" @@ -1178,10 +1177,19 @@ msgstr "" msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:96 +#: build/tasks.py:100 msgid "Stock required for build order" msgstr "" +#: build/tasks.py:118 +msgid "Overdue Build Order" +msgstr "" + +#: build/tasks.py:123 +#, python-brace-format +msgid "Build order {bo} is now overdue" +msgstr "" + #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 #: order/templates/order/sales_order_base.html:38 @@ -1244,13 +1252,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:922 +#: build/templates/build/detail.html:131 order/models.py:938 #: 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: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 +#: templates/js/translated/order.js:3517 templates/js/translated/part.js:1015 msgid "Target Date" msgstr "" @@ -1277,13 +1285,14 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1100 -#: order/models.py:1185 order/models.py:1320 +#: build/templates/build/detail.html:94 order/models.py:1116 +#: order/models.py:1201 order/models.py:1336 #: 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/email/overdue_sales_order.html:15 #: templates/js/translated/order.js:2436 msgid "Sales Order" msgstr "" @@ -1319,7 +1328,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1034 +#: build/templates/build/detail.html:49 order/models.py:1050 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "" @@ -1336,8 +1345,8 @@ msgstr "" #: stock/templates/stock/item_base.html:170 #: templates/js/translated/build.js:1179 #: templates/js/translated/model_renderers.js:112 -#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1776 -#: templates/js/translated/stock.js:2606 +#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:2616 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1716,7 +1725,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:820 part/models.py:2372 report/models.py:157 +#: common/models.py:820 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" @@ -1726,7 +1735,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" @@ -1880,7 +1889,7 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:968 -msgid "Test Reports" +msgid "Enable Test Reports" msgstr "" #: common/models.py:969 @@ -1888,568 +1897,576 @@ msgid "Enable generation of test reports" msgstr "" #: common/models.py:975 -msgid "Batch Code Template" +msgid "Attach Test Reports" msgstr "" #: common/models.py:976 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:981 -msgid "Stock Expiry" +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" #: common/models.py:982 -msgid "Enable stock expiry functionality" +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:983 +msgid "Template for generating default batch codes for stock items" msgstr "" #: common/models.py:988 -msgid "Sell Expired Stock" +msgid "Stock Expiry" msgstr "" #: common/models.py:989 -msgid "Allow sale of expired stock" +msgid "Enable stock expiry functionality" msgstr "" #: common/models.py:995 -msgid "Stock Stale Time" +msgid "Sell Expired Stock" msgstr "" #: common/models.py:996 -msgid "Number of days stock items are considered stale before expiring" +msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:998 -msgid "days" +#: common/models.py:1002 +msgid "Stock Stale Time" msgstr "" #: common/models.py:1003 -msgid "Build Expired Stock" +msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1004 -msgid "Allow building with expired stock" +#: common/models.py:1005 +msgid "days" msgstr "" #: common/models.py:1010 -msgid "Stock Ownership Control" +msgid "Build Expired Stock" msgstr "" #: common/models.py:1011 -msgid "Enable ownership control over stock locations and items" +msgid "Allow building with expired stock" msgstr "" #: common/models.py:1017 -msgid "Build Order Reference Prefix" +msgid "Stock Ownership Control" msgstr "" #: common/models.py:1018 -msgid "Prefix value for build order reference" -msgstr "" - -#: common/models.py:1023 -msgid "Build Order Reference Regex" +msgid "Enable ownership control over stock locations and items" msgstr "" #: common/models.py:1024 +msgid "Build Order Reference Prefix" +msgstr "" + +#: common/models.py:1025 +msgid "Prefix value for build order reference" +msgstr "" + +#: common/models.py:1030 +msgid "Build Order Reference Regex" +msgstr "" + +#: common/models.py:1031 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1029 +#: common/models.py:1036 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1041 +#: common/models.py:1048 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1042 +#: common/models.py:1049 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1048 +#: common/models.py:1055 msgid "Enable password forgot" msgstr "" -#: common/models.py:1049 +#: common/models.py:1056 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1055 +#: common/models.py:1062 msgid "Enable registration" msgstr "" -#: common/models.py:1056 +#: common/models.py:1063 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1069 msgid "Enable SSO" msgstr "" -#: common/models.py:1063 +#: common/models.py:1070 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1069 +#: common/models.py:1076 msgid "Email required" msgstr "" -#: common/models.py:1070 +#: common/models.py:1077 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1076 +#: common/models.py:1083 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1077 +#: common/models.py:1084 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1083 +#: common/models.py:1090 msgid "Mail twice" msgstr "" -#: common/models.py:1084 +#: common/models.py:1091 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1090 +#: common/models.py:1097 msgid "Password twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1098 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1097 +#: common/models.py:1104 msgid "Group on signup" msgstr "" -#: common/models.py:1098 +#: common/models.py:1105 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1104 +#: common/models.py:1111 msgid "Enforce MFA" msgstr "" -#: common/models.py:1105 +#: common/models.py:1112 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1111 +#: common/models.py:1118 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1112 +#: common/models.py:1119 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1120 +#: common/models.py:1127 msgid "Enable URL integration" msgstr "" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1136 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1136 +#: common/models.py:1143 msgid "Enable app integration" msgstr "" -#: common/models.py:1137 +#: common/models.py:1144 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1144 +#: common/models.py:1151 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1145 +#: common/models.py:1152 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1152 +#: common/models.py:1159 msgid "Enable event integration" msgstr "" -#: common/models.py:1153 +#: common/models.py:1160 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1170 common/models.py:1492 +#: common/models.py:1177 common/models.py:1499 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1192 +#: common/models.py:1199 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1193 +#: common/models.py:1200 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1199 +#: common/models.py:1206 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1200 +#: common/models.py:1207 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1213 msgid "Show latest parts" msgstr "" -#: common/models.py:1207 +#: common/models.py:1214 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1213 +#: common/models.py:1220 msgid "Recent Part Count" msgstr "" -#: common/models.py:1214 +#: common/models.py:1221 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1220 +#: common/models.py:1227 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1221 +#: common/models.py:1228 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1227 +#: common/models.py:1234 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1228 +#: common/models.py:1235 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1235 +#: common/models.py:1242 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Show low stock" msgstr "" -#: common/models.py:1242 +#: common/models.py:1249 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Show depleted stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1256 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1262 msgid "Show needed stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1263 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1269 msgid "Show expired stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1270 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1276 msgid "Show stale stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Show pending builds" msgstr "" -#: common/models.py:1277 +#: common/models.py:1284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Show overdue builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1291 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1291 +#: common/models.py:1298 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Show overdue POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1305 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1312 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1318 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1319 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1317 +#: common/models.py:1324 msgid "Enable label printing" msgstr "" -#: common/models.py:1318 +#: common/models.py:1325 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1324 +#: common/models.py:1331 msgid "Inline label display" msgstr "" -#: common/models.py:1325 +#: common/models.py:1332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1331 +#: common/models.py:1338 msgid "Inline report display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1345 msgid "Search Parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1345 +#: common/models.py:1352 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1359 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1366 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1367 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1373 msgid "Search Categories" msgstr "" -#: common/models.py:1367 +#: common/models.py:1374 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1380 msgid "Search Stock" msgstr "" -#: common/models.py:1374 +#: common/models.py:1381 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1387 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1381 +#: common/models.py:1388 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1394 msgid "Search Locations" msgstr "" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1401 msgid "Search Companies" msgstr "" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1408 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1415 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1422 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1429 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Search Preview Results" msgstr "" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1457 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1457 +#: common/models.py:1464 msgid "Date Format" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1472 part/templates/part/detail.html:39 +#: common/models.py:1479 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1473 +#: common/models.py:1480 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1537 company/forms.py:37 +#: common/models.py:1544 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: 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 +#: common/models.py:1551 company/serializers.py:290 +#: company/templates/company/supplier_part.html:263 order/models.py:965 +#: templates/js/translated/part.js:1042 templates/js/translated/part.js:2070 msgid "Price" msgstr "" -#: common/models.py:1545 +#: common/models.py:1552 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1705 common/models.py:1883 +#: common/models.py:1712 common/models.py:1890 msgid "Endpoint" msgstr "" -#: common/models.py:1706 +#: common/models.py:1713 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1715 +#: common/models.py:1722 msgid "Name for this webhook" msgstr "" -#: common/models.py:1720 part/models.py:911 plugin/models.py:99 +#: common/models.py:1727 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 @@ -2457,79 +2474,89 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1721 +#: common/models.py:1728 msgid "Is this webhook active" msgstr "" -#: common/models.py:1735 +#: common/models.py:1742 msgid "Token" msgstr "" -#: common/models.py:1736 +#: common/models.py:1743 msgid "Token for access" msgstr "" -#: common/models.py:1743 +#: common/models.py:1750 msgid "Secret" msgstr "" -#: common/models.py:1744 +#: common/models.py:1751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Message ID" msgstr "" -#: common/models.py:1851 +#: common/models.py:1858 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1859 +#: common/models.py:1866 msgid "Host" msgstr "" -#: common/models.py:1860 +#: common/models.py:1867 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1867 +#: common/models.py:1874 msgid "Header" msgstr "" -#: common/models.py:1868 +#: common/models.py:1875 msgid "Header of this message" msgstr "" -#: common/models.py:1874 +#: common/models.py:1881 msgid "Body" msgstr "" -#: common/models.py:1875 +#: common/models.py:1882 msgid "Body of this message" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1889 +#: common/models.py:1896 msgid "Worked on" msgstr "" -#: common/models.py:1890 +#: common/models.py:1897 msgid "Was the work on this message finished?" msgstr "" +#: common/notifications.py:292 +#, python-brace-format +msgid "New {verbose_name}" +msgstr "" + +#: common/notifications.py:294 +#, python-brace-format +msgid "A new {verbose_name} has been created and ,assigned to you" +msgstr "" + #: common/views.py:87 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:191 +#: order/views.py:102 part/views.py:116 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:192 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:117 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -2545,19 +2572,19 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:511 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:16 part/forms.py:21 +#: company/forms.py:16 part/forms.py:18 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:17 part/forms.py:22 +#: company/forms.py:17 part/forms.py:19 msgid "Image URL" msgstr "" @@ -2571,7 +2598,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:405 +#: templates/js/translated/company.js:399 msgid "Website" msgstr "" @@ -2644,9 +2671,9 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: 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 +#: company/models.py:144 company/serializers.py:296 +#: company/templates/company/company_base.html:106 part/serializers.py:139 +#: part/serializers.py:170 stock/serializers.py:162 msgid "Currency" msgstr "" @@ -2667,10 +2694,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: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/company.js:383 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:617 +#: templates/js/translated/company.js:902 templates/js/translated/part.js:235 #: templates/js/translated/table_filters.js:411 msgid "Manufacturer" msgstr "" @@ -2681,11 +2708,11 @@ msgstr "" #: 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 -#: 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 +#: templates/js/translated/company.js:256 +#: templates/js/translated/company.js:483 +#: templates/js/translated/company.js:633 +#: templates/js/translated/company.js:920 templates/js/translated/order.js:1907 +#: templates/js/translated/part.js:246 templates/js/translated/part.js:1000 msgid "MPN" msgstr "" @@ -2714,9 +2741,9 @@ msgstr "" #: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2080 templates/js/translated/company.js:540 -#: templates/js/translated/company.js:763 templates/js/translated/part.js:776 -#: templates/js/translated/stock.js:1294 +#: stock/models.py:2084 templates/js/translated/company.js:531 +#: templates/js/translated/company.js:748 templates/js/translated/part.js:820 +#: templates/js/translated/stock.js:1304 msgid "Value" msgstr "" @@ -2724,10 +2751,10 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:368 part/models.py:878 part/models.py:2339 +#: company/models.py:368 part/models.py:878 part/models.py:2327 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:351 -#: templates/js/translated/company.js:769 templates/js/translated/part.js:782 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:826 msgid "Units" msgstr "" @@ -2740,13 +2767,14 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:487 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:303 +#: company/templates/company/supplier_part.html:87 order/models.py:308 #: 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 -#: 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/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:255 +#: templates/js/translated/company.js:387 +#: templates/js/translated/company.js:876 templates/js/translated/order.js:1643 +#: templates/js/translated/part.js:216 templates/js/translated/part.js:968 #: templates/js/translated/table_filters.js:415 msgid "Supplier" msgstr "" @@ -2756,9 +2784,9 @@ msgid "Select supplier" msgstr "" #: 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 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:254 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 -#: templates/js/translated/part.js:942 +#: templates/js/translated/part.js:986 msgid "SKU" msgstr "" @@ -2779,23 +2807,23 @@ msgid "Supplier part description" msgstr "" #: company/models.py:518 company/templates/company/supplier_part.html:125 -#: part/models.py:2573 part/templates/part/upload_bom.html:59 +#: part/models.py:2561 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:387 msgid "Note" msgstr "" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "base cost" msgstr "" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: 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 +#: templates/js/translated/company.js:952 templates/js/translated/stock.js:1922 msgid "Packaging" msgstr "" @@ -2803,7 +2831,7 @@ msgstr "" msgid "Part packaging" msgstr "" -#: company/models.py:526 part/models.py:1690 +#: company/models.py:526 part/models.py:1685 msgid "multiple" msgstr "" @@ -2825,7 +2853,7 @@ msgstr "" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:177 templates/js/translated/company.js:378 +#: templates/InvenTree/search.html:177 templates/js/translated/company.js:372 msgid "Company" msgstr "" @@ -2843,7 +2871,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:321 +#: templates/js/translated/company.js:315 msgid "Edit Company" msgstr "" @@ -2866,12 +2894,13 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:649 +#: company/templates/company/company_base.html:86 order/models.py:665 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:758 +#: stock/models.py:628 stock/serializers.py:745 #: 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 +#: templates/email/overdue_sales_order.html:16 +#: templates/js/translated/company.js:379 templates/js/translated/order.js:2458 +#: templates/js/translated/stock.js:2441 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "" @@ -2999,7 +3028,7 @@ msgid "Supplier List" msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:45 -#: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 +#: part/templates/part/prices.html:172 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -3012,12 +3041,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:680 +#: templates/js/translated/company.js:665 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:681 +#: templates/js/translated/company.js:666 msgid "Delete manufacturer part" msgstr "" @@ -3032,7 +3061,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:39 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 +#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" msgstr "" @@ -3092,18 +3121,18 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: 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 +#: templates/js/translated/company.js:892 templates/js/translated/order.js:884 +#: templates/js/translated/stock.js:1879 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:38 -#: templates/js/translated/company.js:980 +#: templates/js/translated/company.js:965 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:42 -#: templates/js/translated/company.js:981 +#: templates/js/translated/company.js:966 msgid "Delete supplier part" msgstr "" @@ -3123,7 +3152,7 @@ msgstr "" #: company/templates/company/supplier_part.html:148 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 -#: templates/js/translated/stock.js:380 +#: templates/js/translated/stock.js:379 msgid "New Stock Item" msgstr "" @@ -3144,7 +3173,7 @@ msgstr "" #: company/templates/company/supplier_part.html:191 #: company/templates/company/supplier_part.html:305 -#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046 +#: part/templates/part/prices.html:276 templates/js/translated/part.js:2142 msgid "Add Price Break" msgstr "" @@ -3153,12 +3182,12 @@ msgid "No price break information found" msgstr "" #: company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2152 msgid "Delete Price Break" msgstr "" #: company/templates/company/supplier_part.html:245 -#: templates/js/translated/part.js:2070 +#: templates/js/translated/part.js:2166 msgid "Edit Price Break" msgstr "" @@ -3180,9 +3209,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: 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:1687 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:722 +#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1431 +#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3209,7 +3238,7 @@ msgstr "" #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 -#: templates/js/translated/stock.js:2307 users/models.py:39 +#: templates/js/translated/stock.js:2317 users/models.py:39 msgid "Stock Items" msgstr "" @@ -3238,20 +3267,20 @@ msgstr "" msgid "New Company" msgstr "" -#: company/views.py:112 part/views.py:576 +#: company/views.py:112 part/views.py:501 msgid "Download Image" msgstr "" -#: company/views.py:139 part/views.py:606 +#: company/views.py:139 part/views.py:531 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:146 part/views.py:613 +#: company/views.py:146 part/views.py:538 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:155 part/views.py:622 +#: company/views.py:155 part/views.py:547 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3320,313 +3349,314 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:133 +#: order/models.py:134 msgid "Order description" msgstr "" -#: order/models.py:135 order/models.py:1236 +#: order/models.py:136 order/models.py:1252 msgid "Link to external page" msgstr "" -#: order/models.py:143 +#: order/models.py:144 msgid "Created By" msgstr "" -#: order/models.py:150 +#: order/models.py:151 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:155 +#: order/models.py:156 msgid "Order notes" msgstr "" -#: order/models.py:289 order/models.py:639 +#: order/models.py:294 order/models.py:655 msgid "Order reference" msgstr "" -#: order/models.py:294 order/models.py:654 +#: order/models.py:299 order/models.py:670 msgid "Purchase order status" msgstr "" -#: order/models.py:304 +#: order/models.py:309 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:307 order/templates/order/order_base.html:124 +#: order/models.py:312 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:307 +#: order/models.py:312 msgid "Supplier order reference code" msgstr "" -#: order/models.py:314 +#: order/models.py:319 msgid "received by" msgstr "" -#: order/models.py:319 +#: order/models.py:324 msgid "Issue Date" msgstr "" -#: order/models.py:320 +#: order/models.py:325 msgid "Date order was issued" msgstr "" -#: order/models.py:325 +#: order/models.py:330 msgid "Target Delivery Date" msgstr "" -#: order/models.py:326 +#: order/models.py:331 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:332 +#: order/models.py:337 msgid "Date order was completed" msgstr "" -#: order/models.py:368 +#: order/models.py:373 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:512 +#: order/models.py:517 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:650 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer Reference " msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer order reference code" msgstr "" -#: order/models.py:661 +#: order/models.py:677 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:664 order/models.py:1190 +#: order/models.py:680 order/models.py:1206 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:671 +#: order/models.py:687 msgid "shipped by" msgstr "" -#: order/models.py:726 +#: order/models.py:742 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:730 +#: order/models.py:746 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:733 +#: order/models.py:749 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:736 +#: order/models.py:752 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:910 +#: order/models.py:926 msgid "Item quantity" msgstr "" -#: order/models.py:916 +#: order/models.py:932 msgid "Line item reference" msgstr "" -#: order/models.py:918 +#: order/models.py:934 msgid "Line item notes" msgstr "" -#: order/models.py:923 +#: order/models.py:939 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:941 +#: order/models.py:957 msgid "Context" msgstr "" -#: order/models.py:942 +#: order/models.py:958 msgid "Additional context for this line" msgstr "" -#: order/models.py:950 +#: order/models.py:966 msgid "Unit price" msgstr "" -#: order/models.py:980 +#: order/models.py:996 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:988 +#: order/models.py:1004 msgid "deleted" msgstr "" -#: order/models.py:994 order/models.py:1074 order/models.py:1099 -#: order/models.py:1184 order/models.py:1320 +#: order/models.py:1010 order/models.py:1090 order/models.py:1115 +#: order/models.py:1200 order/models.py:1336 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:995 order/models.py:1074 +#: order/models.py:1011 order/models.py:1090 #: 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/email/overdue_purchase_order.html:15 #: 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 +#: templates/js/translated/part.js:943 templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:2422 msgid "Purchase Order" msgstr "" -#: order/models.py:1013 +#: order/models.py:1029 msgid "Supplier part" msgstr "" -#: order/models.py:1020 order/templates/order/order_base.html:169 +#: order/models.py:1036 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/part.js:1037 templates/js/translated/part.js:1064 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1021 +#: order/models.py:1037 msgid "Number of items received" msgstr "" -#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: order/models.py:1044 part/templates/part/prices.html:181 stock/models.py:722 #: stock/serializers.py:153 stock/templates/stock/item_base.html:191 -#: templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:1910 msgid "Purchase Price" msgstr "" -#: order/models.py:1029 +#: order/models.py:1045 msgid "Unit purchase price" msgstr "" -#: order/models.py:1037 +#: order/models.py:1053 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1109 part/templates/part/part_pricing.html:112 -#: part/templates/part/prices.html:119 part/templates/part/prices.html:288 +#: order/models.py:1125 part/templates/part/part_pricing.html:115 +#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 msgid "Sale Price" msgstr "" -#: order/models.py:1110 +#: order/models.py:1126 msgid "Unit sale price" msgstr "" -#: order/models.py:1115 +#: order/models.py:1131 msgid "Shipped quantity" msgstr "" -#: order/models.py:1191 +#: order/models.py:1207 msgid "Date of shipment" msgstr "" -#: order/models.py:1198 +#: order/models.py:1214 msgid "Checked By" msgstr "" -#: order/models.py:1199 +#: order/models.py:1215 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1207 +#: order/models.py:1223 msgid "Shipment number" msgstr "" -#: order/models.py:1214 +#: order/models.py:1230 msgid "Shipment notes" msgstr "" -#: order/models.py:1221 +#: order/models.py:1237 msgid "Tracking Number" msgstr "" -#: order/models.py:1222 +#: order/models.py:1238 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1229 +#: order/models.py:1245 msgid "Invoice Number" msgstr "" -#: order/models.py:1230 +#: order/models.py:1246 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1248 +#: order/models.py:1264 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1251 +#: order/models.py:1267 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1354 order/models.py:1356 +#: order/models.py:1370 order/models.py:1372 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1360 +#: order/models.py:1376 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1362 +#: order/models.py:1378 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1365 +#: order/models.py:1381 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1369 +#: order/models.py:1385 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1375 order/serializers.py:1045 +#: order/models.py:1391 order/serializers.py:1047 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1378 +#: order/models.py:1394 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1379 +#: order/models.py:1395 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1387 +#: order/models.py:1403 msgid "Line" msgstr "" -#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 +#: order/models.py:1411 order/serializers.py:1151 order/serializers.py:1275 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1396 +#: order/models.py:1412 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1424 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1409 +#: order/models.py:1425 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Enter stock allocation quantity" msgstr "" @@ -3662,7 +3692,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1117 +#: order/serializers.py:406 order/serializers.py:1119 msgid "Line Item" msgstr "" @@ -3710,42 +3740,60 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:866 +#: order/serializers.py:868 msgid "Sale price currency" msgstr "" -#: order/serializers.py:947 +#: order/serializers.py:949 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1006 order/serializers.py:1126 +#: order/serializers.py:1008 order/serializers.py:1128 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1028 +#: order/serializers.py:1030 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1139 +#: order/serializers.py:1141 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1161 order/serializers.py:1281 +#: order/serializers.py:1163 order/serializers.py:1283 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1164 order/serializers.py:1284 +#: order/serializers.py:1166 order/serializers.py:1286 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1216 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1224 +#: order/serializers.py:1226 msgid "The following serial numbers are already allocated" msgstr "" +#: order/tasks.py:26 +msgid "Overdue Purchase Order" +msgstr "" + +#: order/tasks.py:31 +#, python-brace-format +msgid "Purchase order {po} is now overdue" +msgstr "" + +#: order/tasks.py:88 +msgid "Overdue Sales Order" +msgstr "" + +#: order/tasks.py:93 +#, python-brace-format +msgid "Sales order {so} is now overdue" +msgstr "" + #: order/templates/order/order_base.html:33 msgid "Print purchase order report" msgstr "" @@ -3870,8 +3918,8 @@ msgstr "" #: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: 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:2731 templates/js/translated/stock.js:570 -#: templates/js/translated/stock.js:738 +#: templates/js/translated/order.js:2731 templates/js/translated/stock.js:569 +#: templates/js/translated/stock.js:737 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -3990,7 +4038,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1047 #: templates/js/translated/build.js:1880 msgid "Actions" msgstr "" @@ -4021,47 +4069,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:481 +#: part/api.py:482 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:501 +#: part/api.py:502 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:519 +#: part/api.py:520 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:551 +#: part/api.py:552 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:637 +#: part/api.py:638 msgid "Valid" msgstr "" -#: part/api.py:638 +#: part/api.py:639 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:644 +#: part/api.py:645 msgid "This option must be selected" msgstr "" -#: part/api.py:1010 +#: part/api.py:1011 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1014 +#: part/api.py:1015 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1029 +#: part/api.py:1030 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1060 part/api.py:1064 part/api.py:1079 part/api.py:1083 +#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 msgid "This field is required" msgstr "" @@ -4080,17 +4128,13 @@ msgid "Available Stock" msgstr "" #: 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 +#: templates/js/translated/part.js:561 templates/js/translated/part.js:581 +#: templates/js/translated/part.js:1273 templates/js/translated/part.js:1445 +#: templates/js/translated/part.js:1461 msgid "On Order" msgstr "" -#: part/forms.py:59 -msgid "Select part category" -msgstr "" - -#: part/forms.py:69 +#: part/forms.py:60 msgid "Input quantity for price calculation" msgstr "" @@ -4106,7 +4150,7 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:115 part/models.py:2415 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2403 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -4123,7 +4167,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:144 +#: templates/js/translated/part.js:1864 templates/js/translated/search.js:144 #: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "" @@ -4153,7 +4197,7 @@ msgstr "" msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:738 part/models.py:2469 +#: part/models.py:738 part/models.py:2457 msgid "Part name" msgstr "" @@ -4186,12 +4230,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:776 part/models.py:2171 part/models.py:2414 +#: part/models.py:776 part/models.py:2159 part/models.py:2402 #: part/templates/part/part_base.html:257 -#: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 #: templates/InvenTree/settings/settings.html:231 -#: templates/js/translated/part.js:1369 +#: templates/js/translated/part.js:1413 templates/js/translated/part.js:1639 msgid "Category" msgstr "" @@ -4200,8 +4243,8 @@ msgid "Part category" msgstr "" #: 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 +#: templates/js/translated/part.js:710 templates/js/translated/part.js:1366 +#: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" @@ -4214,7 +4257,7 @@ msgid "Part revision or version number" msgstr "" #: part/models.py:790 part/templates/part/part_base.html:273 -#: report/models.py:170 templates/js/translated/part.js:670 +#: report/models.py:170 templates/js/translated/part.js:714 msgid "Revision" msgstr "" @@ -4302,317 +4345,321 @@ msgstr "" msgid "Creation User" msgstr "" -#: part/models.py:1690 +#: part/models.py:1685 msgid "Sell multiple" msgstr "" -#: part/models.py:2218 +#: part/models.py:2206 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2235 +#: part/models.py:2223 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2255 templates/js/translated/part.js:1819 -#: templates/js/translated/stock.js:1274 +#: part/models.py:2243 templates/js/translated/part.js:1915 +#: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2256 +#: part/models.py:2244 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2261 +#: part/models.py:2249 msgid "Test Description" msgstr "" -#: part/models.py:2262 +#: part/models.py:2250 msgid "Enter description for this test" msgstr "" -#: part/models.py:2267 templates/js/translated/part.js:1828 +#: part/models.py:2255 templates/js/translated/part.js:1924 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2268 +#: part/models.py:2256 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2273 templates/js/translated/part.js:1836 +#: part/models.py:2261 templates/js/translated/part.js:1932 msgid "Requires Value" msgstr "" -#: part/models.py:2274 +#: part/models.py:2262 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2279 templates/js/translated/part.js:1843 +#: part/models.py:2267 templates/js/translated/part.js:1939 msgid "Requires Attachment" msgstr "" -#: part/models.py:2280 +#: part/models.py:2268 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2288 +#: part/models.py:2276 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2324 +#: part/models.py:2312 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2332 +#: part/models.py:2320 msgid "Parameter Name" msgstr "" -#: part/models.py:2339 +#: part/models.py:2327 msgid "Parameter Units" msgstr "" -#: part/models.py:2370 +#: part/models.py:2358 msgid "Parent Part" msgstr "" -#: part/models.py:2372 part/models.py:2420 part/models.py:2421 +#: part/models.py:2360 part/models.py:2408 part/models.py:2409 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Data" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Parameter Value" msgstr "" -#: part/models.py:2425 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2413 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2426 +#: part/models.py:2414 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2461 +#: part/models.py:2449 msgid "Part ID or part name" msgstr "" -#: part/models.py:2464 templates/js/translated/model_renderers.js:200 +#: part/models.py:2452 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2465 +#: part/models.py:2453 msgid "Unique part ID value" msgstr "" -#: part/models.py:2468 +#: part/models.py:2456 msgid "Part Name" msgstr "" -#: part/models.py:2472 +#: part/models.py:2460 msgid "Part IPN" msgstr "" -#: part/models.py:2473 +#: part/models.py:2461 msgid "Part IPN value" msgstr "" -#: part/models.py:2476 +#: part/models.py:2464 msgid "Level" msgstr "" -#: part/models.py:2477 +#: part/models.py:2465 msgid "BOM level" msgstr "" -#: part/models.py:2546 +#: part/models.py:2534 msgid "Select parent part" msgstr "" -#: part/models.py:2554 +#: part/models.py:2542 msgid "Sub part" msgstr "" -#: part/models.py:2555 +#: part/models.py:2543 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2561 +#: part/models.py:2549 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2563 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 +#: part/models.py:2551 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:871 templates/js/translated/bom.js:965 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2563 +#: part/models.py:2551 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2566 part/templates/part/upload_bom.html:55 +#: part/models.py:2554 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2567 +#: part/models.py:2555 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2570 +#: part/models.py:2558 msgid "BOM item reference" msgstr "" -#: part/models.py:2573 +#: part/models.py:2561 msgid "BOM item notes" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "Checksum" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "BOM line checksum" msgstr "" -#: part/models.py:2579 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:988 +#: part/models.py:2567 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:982 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2580 +#: part/models.py:2568 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2585 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:980 +#: part/models.py:2573 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:974 msgid "Allow Variants" msgstr "" -#: part/models.py:2586 +#: part/models.py:2574 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2664 stock/models.py:460 +#: part/models.py:2652 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2673 part/models.py:2675 +#: part/models.py:2661 part/models.py:2663 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2780 +#: part/models.py:2768 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2801 +#: part/models.py:2789 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2814 +#: part/models.py:2802 msgid "Parent BOM item" msgstr "" -#: part/models.py:2822 +#: part/models.py:2810 msgid "Substitute part" msgstr "" -#: part/models.py:2833 +#: part/models.py:2825 msgid "Part 1" msgstr "" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Part 2" msgstr "" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Select Related Part" msgstr "" -#: part/models.py:2868 -msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" +#: part/models.py:2847 +msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 +#: part/models.py:2851 +msgid "Duplicate relationship already exists" +msgstr "" + +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:794 +#: part/serializers.py:796 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:804 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:805 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:810 msgid "Include Inherited" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:811 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:816 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:817 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:820 +#: part/serializers.py:822 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:821 +#: part/serializers.py:823 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:861 +#: part/serializers.py:863 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:864 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:894 msgid "No part column specified" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:937 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:938 +#: part/serializers.py:940 msgid "No matching part found" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:943 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:950 +#: part/serializers.py:952 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:958 +#: part/serializers.py:960 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:979 +#: part/serializers.py:981 msgid "At least one BOM item is required" msgstr "" @@ -5088,10 +5135,10 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:143 -#: templates/js/translated/company.js:623 -#: templates/js/translated/company.js:882 +#: templates/js/translated/company.js:608 +#: templates/js/translated/company.js:867 #: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:658 +#: templates/js/translated/part.js:625 templates/js/translated/part.js:702 msgid "Inactive" msgstr "" @@ -5120,13 +5167,13 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1009 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1003 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/part.js:520 -#: templates/js/translated/part.js:540 templates/js/translated/part.js:1233 -#: templates/js/translated/part.js:1405 templates/js/translated/part.js:1421 +#: part/templates/part/part_base.html:238 templates/js/translated/part.js:564 +#: templates/js/translated/part.js:584 templates/js/translated/part.js:1277 +#: templates/js/translated/part.js:1449 templates/js/translated/part.js:1465 msgid "Building" msgstr "" @@ -5143,7 +5190,7 @@ msgstr "" msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:443 part/templates/part/prices.html:147 +#: part/templates/part/part_base.html:443 part/templates/part/prices.html:149 msgid "Calculate" msgstr "" @@ -5161,54 +5208,55 @@ msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:106 -#: part/templates/part/prices.html:123 +#: part/templates/part/part_pricing.html:103 +#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 +#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:104 -#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:111 -#: part/templates/part/prices.html:128 +#: part/templates/part/part_pricing.html:107 +#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 +#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 +#: part/templates/part/prices.html:130 msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:963 +#: templates/js/translated/bom.js:957 msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:246 +#: part/templates/part/prices.html:248 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:89 +#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:96 +#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:105 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/prices.html:107 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:128 -#: part/templates/part/prices.html:137 +#: part/templates/part/part_pricing.html:131 +#: part/templates/part/prices.html:139 msgid "No pricing information is available for this part." msgstr "" @@ -5232,43 +5280,6 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:9 -#, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" -"
Disable the \"Active\" part attribute and re-try.\n" -" " -msgstr "" - -#: part/templates/part/partial_delete.html:17 -#, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" -msgstr "" - -#: part/templates/part/partial_delete.html:22 -#, python-format -msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" -msgstr "" - -#: part/templates/part/partial_delete.html:32 -#, python-format -msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:43 -#, python-format -msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:54 -#, python-format -msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:67 -#, python-format -msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." -msgstr "" - #: part/templates/part/prices.html:19 msgid "Pricing ranges" msgstr "" @@ -5285,66 +5296,58 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:120 +#: part/templates/part/prices.html:122 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:123 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:143 +#: part/templates/part/prices.html:145 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:957 +#: part/templates/part/prices.html:160 templates/js/translated/bom.js:951 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:159 part/templates/part/prices.html:180 -#: part/templates/part/prices.html:204 part/templates/part/prices.html:234 -#: part/templates/part/prices.html:260 part/templates/part/prices.html:289 +#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 +#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 +#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:184 +#: part/templates/part/prices.html:186 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:193 +#: part/templates/part/prices.html:195 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:203 +#: part/templates/part/prices.html:205 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:218 +#: part/templates/part/prices.html:220 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:233 +#: part/templates/part/prices.html:235 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:259 +#: part/templates/part/prices.html:261 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:300 +#: part/templates/part/prices.html:302 msgid "No sale pice history available for this part." msgstr "" -#: part/templates/part/set_category.html:9 -msgid "Set category for the following parts" -msgstr "" - -#: part/templates/part/set_category.html:32 -msgid "Remove part" -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543 -#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:587 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:1469 msgid "No Stock" msgstr "" @@ -5407,56 +5410,39 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:74 -msgid "Set Part Category" -msgstr "" - -#: part/views.py:122 -#, python-brace-format -msgid "Set category for {n} parts" -msgstr "" - -#: part/views.py:193 +#: part/views.py:118 msgid "Match References" msgstr "" -#: part/views.py:494 +#: part/views.py:419 msgid "None" msgstr "" -#: part/views.py:556 +#: part/views.py:481 msgid "Part QR Code" msgstr "" -#: part/views.py:650 +#: part/views.py:575 msgid "Select Part Image" msgstr "" -#: part/views.py:676 +#: part/views.py:601 msgid "Updated part image" msgstr "" -#: part/views.py:679 +#: part/views.py:604 msgid "Part image not found" msgstr "" -#: part/views.py:768 -msgid "Confirm Part Deletion" -msgstr "" - -#: part/views.py:776 -msgid "Part was deleted" -msgstr "" - -#: part/views.py:785 +#: part/views.py:693 msgid "Part Pricing" msgstr "" -#: part/views.py:976 +#: part/views.py:884 msgid "Delete Part Category" msgstr "" -#: part/views.py:983 +#: part/views.py:891 msgid "Part category was deleted" msgstr "" @@ -5516,21 +5502,21 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:28 +#: plugin/builtin/integration/core_notifications.py:29 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 +#: plugin/builtin/integration/core_notifications.py:30 msgid "Integrated outgoing notificaton methods" msgstr "" -#: 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:34 #: plugin/builtin/integration/core_notifications.py:53 +msgid "Enable email notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:35 +#: plugin/builtin/integration/core_notifications.py:54 msgid "Allow sending of emails for event notifications" msgstr "" @@ -5646,15 +5632,19 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:166 +#: report/api.py:179 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:198 report/api.py:239 +#: report/api.py:215 report/api.py:256 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" +#: report/api.py:359 +msgid "Test report" +msgstr "" + #: report/models.py:152 msgid "Template name" msgstr "" @@ -5757,7 +5747,7 @@ msgstr "" #: 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:3229 -#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:434 msgid "Serial Number" msgstr "" @@ -5766,19 +5756,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2068 +#: stock/models.py:2072 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2074 +#: stock/models.py:2078 msgid "Result" 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:1669 templates/js/translated/stock.js:2340 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2350 msgid "Date" msgstr "" @@ -5796,20 +5786,20 @@ msgid "Installed Items" 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:2589 +#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724 +#: templates/js/translated/stock.js:2599 msgid "Serial" msgstr "" -#: stock/api.py:504 +#: stock/api.py:505 msgid "Quantity is required" msgstr "" -#: stock/api.py:511 +#: stock/api.py:512 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:536 +#: stock/api.py:537 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5917,7 +5907,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1826 msgid "Expiry Date" msgstr "" @@ -5971,79 +5961,79 @@ msgstr "" msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1325 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1324 +#: stock/models.py:1328 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1327 +#: stock/models.py:1331 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1334 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1333 +#: stock/models.py:1337 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1340 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1343 stock/serializers.py:908 +#: stock/models.py:1347 stock/serializers.py:895 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1347 +#: stock/models.py:1351 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1355 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1359 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1524 +#: stock/models.py:1528 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1986 +#: stock/models.py:1990 msgid "Entry notes" msgstr "" -#: stock/models.py:2044 +#: stock/models.py:2048 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2050 +#: stock/models.py:2054 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2069 +#: stock/models.py:2073 msgid "Test name" msgstr "" -#: stock/models.py:2075 +#: stock/models.py:2079 msgid "Test result" msgstr "" -#: stock/models.py:2081 +#: stock/models.py:2085 msgid "Test output value" msgstr "" -#: stock/models.py:2088 +#: stock/models.py:2092 msgid "Test result attachment" msgstr "" -#: stock/models.py:2094 +#: stock/models.py:2098 msgid "Test notes" msgstr "" @@ -6064,7 +6054,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:865 stock/serializers.py:1098 +#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 msgid "Destination stock location" msgstr "" @@ -6104,63 +6094,63 @@ msgstr "" msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:707 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:724 +#: stock/serializers.py:711 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:728 +#: stock/serializers.py:715 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:759 +#: stock/serializers.py:746 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:765 +#: stock/serializers.py:752 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:773 +#: stock/serializers.py:760 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:783 stock/serializers.py:1014 +#: stock/serializers.py:770 stock/serializers.py:1001 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:872 +#: stock/serializers.py:859 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:877 +#: stock/serializers.py:864 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:878 +#: stock/serializers.py:865 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:883 +#: stock/serializers.py:870 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:884 +#: stock/serializers.py:871 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:894 +#: stock/serializers.py:881 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:976 +#: stock/serializers.py:963 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1004 +#: stock/serializers.py:991 msgid "Stock transaction notes" msgstr "" @@ -6185,7 +6175,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:298 msgid "Delete Test Data" msgstr "" @@ -6197,11 +6187,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2733 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2743 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:292 templates/js/translated/stock.js:1455 +#: stock/templates/stock/item.html:290 +msgid "Delete all test results for this stock item" +msgstr "" + +#: stock/templates/stock/item.html:323 templates/js/translated/stock.js:1465 msgid "Add Test Result" msgstr "" @@ -6388,7 +6382,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/stock.js:1842 msgid "Last Updated" msgstr "" @@ -6529,7 +6523,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:182 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:144 msgid "Convert Stock Item" msgstr "" @@ -6550,31 +6544,19 @@ msgstr "" msgid "This action cannot be easily undone" msgstr "" -#: stock/views.py:113 +#: stock/views.py:111 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:131 -msgid "Delete All Test Data" -msgstr "" - -#: stock/views.py:149 -msgid "Confirm test data deletion" -msgstr "" - -#: stock/views.py:150 -msgid "Check the confirmation box" -msgstr "" - -#: stock/views.py:165 +#: stock/views.py:127 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:216 +#: stock/views.py:178 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:229 +#: stock/views.py:191 msgid "Delete Stock Item" msgstr "" @@ -7317,8 +7299,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:56 templates/js/translated/modals.js:595 -#: templates/js/translated/modals.js:689 templates/js/translated/modals.js:997 +#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 +#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 #: templates/js/translated/order.js:928 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7390,6 +7372,10 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:630 +msgid "Confirm" +msgstr "تایید" + #: templates/account/email_confirm.html:27 #, python-format msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." @@ -7562,7 +7548,7 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:112 msgid "Delete Attachments" msgstr "" @@ -7596,15 +7582,15 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1425 +#: templates/js/translated/bom.js:1419 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: 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/bom.js:884 templates/js/translated/build.js:1787 +#: templates/js/translated/build.js:2650 templates/js/translated/part.js:571 +#: templates/js/translated/part.js:574 #: templates/js/translated/table_filters.js:178 msgid "Available" msgstr "" @@ -7622,6 +7608,13 @@ msgstr "" msgid "Minimum Quantity" msgstr "" +#: templates/email/new_order_assigned.html:9 +#: templates/email/overdue_build_order.html:9 +#: templates/email/overdue_purchase_order.html:9 +#: templates/email/overdue_sales_order.html:9 +msgid "Click on the following link to view this order" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -7638,91 +7631,91 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:235 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1073 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1074 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:242 +#: templates/js/translated/api.js:202 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:243 +#: templates/js/translated/api.js:203 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1083 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1084 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:252 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1088 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:253 templates/js/translated/modals.js:1083 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1089 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1093 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1088 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1094 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:262 +#: templates/js/translated/api.js:222 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:263 +#: templates/js/translated/api.js:223 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:267 templates/js/translated/modals.js:1092 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1098 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:268 templates/js/translated/modals.js:1093 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1099 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:271 +#: templates/js/translated/api.js:231 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:272 +#: templates/js/translated/api.js:232 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:96 +#: templates/js/translated/attachment.js:98 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:156 +#: templates/js/translated/attachment.js:152 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:180 +#: templates/js/translated/attachment.js:176 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:246 +#: templates/js/translated/attachment.js:242 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:262 +#: templates/js/translated/attachment.js:264 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:269 +#: templates/js/translated/attachment.js:271 msgid "Delete attachment" msgstr "" @@ -7755,7 +7748,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "Invalid server response" msgstr "" @@ -7783,7 +7776,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999 +#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:998 msgid "Remove stock item" msgstr "" @@ -7918,89 +7911,89 @@ msgstr "" msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:682 +#: templates/js/translated/bom.js:684 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:697 +#: templates/js/translated/bom.js:699 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:824 +#: templates/js/translated/bom.js:818 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:834 +#: templates/js/translated/bom.js:828 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:838 templates/js/translated/build.js:1769 +#: templates/js/translated/bom.js:832 templates/js/translated/build.js:1769 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/bom.js:900 templates/js/translated/build.js:1814 #: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:910 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:904 templates/js/translated/build.js:1818 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:912 templates/js/translated/build.js:1820 -#: templates/js/translated/part.js:690 +#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1820 +#: templates/js/translated/part.js:734 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:914 templates/js/translated/build.js:1822 +#: templates/js/translated/bom.js:908 templates/js/translated/build.js:1822 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:928 +#: templates/js/translated/bom.js:922 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:943 +#: templates/js/translated/bom.js:937 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:950 +#: templates/js/translated/bom.js:944 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:999 templates/js/translated/bom.js:1090 +#: templates/js/translated/bom.js:993 templates/js/translated/bom.js:1084 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1061 +#: templates/js/translated/bom.js:1055 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1063 +#: templates/js/translated/bom.js:1057 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1065 +#: templates/js/translated/bom.js:1059 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1067 templates/js/translated/bom.js:1228 +#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1222 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1069 +#: templates/js/translated/bom.js:1063 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1164 templates/js/translated/build.js:1615 +#: templates/js/translated/bom.js:1158 templates/js/translated/build.js:1615 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1408 templates/js/translated/build.js:1753 +#: templates/js/translated/bom.js:1402 templates/js/translated/build.js:1753 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1430 +#: templates/js/translated/bom.js:1424 msgid "Inherited from parent BOM" msgstr "" @@ -8040,13 +8033,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91 -#: templates/js/translated/stock.js:181 +#: templates/js/translated/build.js:259 templates/js/translated/stock.js:90 +#: templates/js/translated/stock.js:180 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93 -#: templates/js/translated/stock.js:183 +#: templates/js/translated/build.js:261 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:182 msgid "Latest serial number" msgstr "" @@ -8259,9 +8252,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: 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 +#: templates/js/translated/build.js:2448 templates/js/translated/part.js:1358 +#: templates/js/translated/part.js:1825 templates/js/translated/stock.js:1629 +#: templates/js/translated/stock.js:2287 msgid "Select" msgstr "" @@ -8273,7 +8266,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2519 +#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2529 msgid "No user information" msgstr "" @@ -8285,107 +8278,107 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:169 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:168 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:157 templates/js/translated/order.js:506 +#: templates/js/translated/company.js:156 templates/js/translated/order.js:506 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:185 +#: templates/js/translated/company.js:184 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:200 +#: templates/js/translated/company.js:199 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:249 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:263 +#: templates/js/translated/company.js:264 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:342 +#: templates/js/translated/company.js:336 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:413 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:428 +#: templates/js/translated/company.js:422 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:443 +#: templates/js/translated/company.js:437 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:478 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:492 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:526 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:548 +#: templates/js/translated/company.js:539 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:595 +#: templates/js/translated/company.js:580 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:615 -#: templates/js/translated/company.js:874 templates/js/translated/part.js:565 -#: templates/js/translated/part.js:650 +#: templates/js/translated/company.js:600 +#: templates/js/translated/company.js:859 templates/js/translated/part.js:609 +#: templates/js/translated/part.js:694 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:619 -#: templates/js/translated/company.js:878 templates/js/translated/part.js:569 -#: templates/js/translated/part.js:654 +#: templates/js/translated/company.js:604 +#: templates/js/translated/company.js:863 templates/js/translated/part.js:613 +#: templates/js/translated/part.js:698 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:747 templates/js/translated/part.js:757 +#: templates/js/translated/company.js:732 templates/js/translated/part.js:801 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:799 +#: templates/js/translated/company.js:769 templates/js/translated/part.js:843 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:785 templates/js/translated/part.js:800 +#: templates/js/translated/company.js:770 templates/js/translated/part.js:844 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:804 templates/js/translated/part.js:817 +#: templates/js/translated/company.js:789 templates/js/translated/part.js:861 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:815 templates/js/translated/part.js:829 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:873 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:854 +#: templates/js/translated/company.js:839 msgid "No supplier parts found" msgstr "" @@ -8448,36 +8441,36 @@ msgstr "" msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:756 +#: templates/js/translated/forms.js:757 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1248 templates/modals.html:19 +#: templates/js/translated/forms.js:1249 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1681 +#: templates/js/translated/forms.js:1682 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1896 templates/search.html:29 +#: templates/js/translated/forms.js:1897 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2149 +#: templates/js/translated/forms.js:2150 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2627 +#: templates/js/translated/forms.js:2628 msgid "Select Columns" msgstr "" @@ -8498,7 +8491,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1023 +#: templates/js/translated/stock.js:1022 msgid "Select Stock Items" msgstr "" @@ -8552,12 +8545,12 @@ msgid "Select Label Template" msgstr "" #: templates/js/translated/modals.js:82 templates/js/translated/modals.js:142 -#: templates/js/translated/modals.js:621 +#: templates/js/translated/modals.js:627 msgid "Cancel" msgstr "" #: 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/js/translated/modals.js:694 templates/js/translated/modals.js:1002 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" @@ -8566,47 +8559,47 @@ msgstr "" msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:403 +#: templates/js/translated/modals.js:421 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:562 +#: templates/js/translated/modals.js:568 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:620 +#: templates/js/translated/modals.js:626 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:677 +#: templates/js/translated/modals.js:683 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:960 +#: templates/js/translated/modals.js:966 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1072 +#: templates/js/translated/modals.js:1078 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1073 +#: templates/js/translated/modals.js:1079 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1096 +#: templates/js/translated/modals.js:1102 msgid "Error requesting form data" msgstr "" @@ -8656,11 +8649,11 @@ msgstr "" msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:259 +#: templates/js/translated/notification.js:260 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:300 templates/notifications.html:10 +#: templates/js/translated/notification.js:302 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" @@ -8804,7 +8797,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2080 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2090 msgid "Stock Status" msgstr "" @@ -8828,7 +8821,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1602 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1602 templates/js/translated/part.js:914 msgid "No purchase orders found" msgstr "" @@ -8863,7 +8856,7 @@ msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 #: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 -#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 +#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2397 msgid "Unit Price" msgstr "" @@ -8873,11 +8866,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:1993 templates/js/translated/order.js:3525 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:1023 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1069 msgid "Receive line item" msgstr "" @@ -8998,7 +8991,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1535 +#: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" @@ -9138,165 +9131,209 @@ msgstr "" msgid "Create Part Variant" msgstr "" +#: templates/js/translated/part.js:405 +msgid "Active Part" +msgstr "" + +#: templates/js/translated/part.js:406 +msgid "Part cannot be deleted as it is currently active" +msgstr "" + +#: templates/js/translated/part.js:420 +msgid "Deleting this part cannot be reversed" +msgstr "" + +#: templates/js/translated/part.js:422 +msgid "Any stock items for this part will be deleted" +msgstr "" + #: templates/js/translated/part.js:423 +msgid "This part will be removed from any Bills of Material" +msgstr "" + +#: templates/js/translated/part.js:424 +msgid "All manufacturer and supplier information for this part will be deleted" +msgstr "" + +#: templates/js/translated/part.js:431 +msgid "Delete Part" +msgstr "" + +#: templates/js/translated/part.js:467 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:425 +#: templates/js/translated/part.js:469 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:474 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:476 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:493 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:503 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:506 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:487 +#: templates/js/translated/part.js:531 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:513 templates/js/translated/part.js:1397 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1441 #: templates/js/translated/table_filters.js:452 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:523 templates/js/translated/part.js:1409 +#: templates/js/translated/part.js:567 templates/js/translated/part.js:1453 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:557 templates/js/translated/part.js:642 +#: templates/js/translated/part.js:601 templates/js/translated/part.js:686 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:561 templates/js/translated/part.js:646 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:690 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:617 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:577 +#: templates/js/translated/part.js:621 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:705 +#: templates/js/translated/part.js:749 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1095 +#: templates/js/translated/part.js:1139 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1119 +#: templates/js/translated/part.js:1163 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1184 templates/js/translated/part.js:1480 +#: templates/js/translated/part.js:1228 templates/js/translated/part.js:1524 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1223 +#: templates/js/translated/part.js:1267 msgid "Not available" msgstr "" -#: templates/js/translated/part.js:1374 +#: templates/js/translated/part.js:1418 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664 -#: templates/js/translated/stock.js:2238 +#: templates/js/translated/part.js:1548 templates/js/translated/part.js:1760 +#: templates/js/translated/stock.js:2248 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1520 +#: templates/js/translated/part.js:1564 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2257 +#: templates/js/translated/part.js:1630 +msgid "Set the part category for the selected parts" +msgstr "" + +#: templates/js/translated/part.js:1635 +msgid "Set Part Category" +msgstr "" + +#: templates/js/translated/part.js:1640 +msgid "Select Part Category" +msgstr "" + +#: templates/js/translated/part.js:1653 +msgid "Category is required" +msgstr "" + +#: templates/js/translated/part.js:1779 templates/js/translated/stock.js:2267 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1747 +#: templates/js/translated/part.js:1843 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2301 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2311 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:1901 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1233 +#: templates/js/translated/part.js:1952 templates/js/translated/stock.js:1243 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1234 -#: templates/js/translated/stock.js:1493 +#: templates/js/translated/part.js:1953 templates/js/translated/stock.js:1244 +#: templates/js/translated/stock.js:1503 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1863 +#: templates/js/translated/part.js:1959 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1885 +#: templates/js/translated/part.js:1981 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:1995 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1924 +#: templates/js/translated/part.js:2020 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1981 +#: templates/js/translated/part.js:2077 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1982 +#: templates/js/translated/part.js:2078 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:2096 +#: templates/js/translated/part.js:2192 msgid "Current Stock" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2225 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2155 +#: templates/js/translated/part.js:2251 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2225 +#: templates/js/translated/part.js:2321 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:2244 +#: templates/js/translated/part.js:2340 msgid "Single Price Difference" msgstr "" @@ -9378,360 +9415,360 @@ msgstr "" msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:72 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:101 +#: templates/js/translated/stock.js:100 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:109 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:139 +#: templates/js/translated/stock.js:138 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:153 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:194 +#: templates/js/translated/stock.js:193 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:233 +#: templates/js/translated/stock.js:232 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:239 +#: templates/js/translated/stock.js:238 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:303 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:324 +#: templates/js/translated/stock.js:323 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:344 +#: templates/js/translated/stock.js:343 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:394 +#: templates/js/translated/stock.js:393 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:407 +#: templates/js/translated/stock.js:406 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:431 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:453 +#: templates/js/translated/stock.js:452 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:472 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:481 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:605 +#: templates/js/translated/stock.js:604 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:606 +#: templates/js/translated/stock.js:605 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:683 +#: templates/js/translated/stock.js:682 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:684 +#: templates/js/translated/stock.js:683 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:686 +#: templates/js/translated/stock.js:685 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:687 +#: templates/js/translated/stock.js:686 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:772 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:774 +#: templates/js/translated/stock.js:773 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:869 +#: templates/js/translated/stock.js:868 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:869 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:876 +#: templates/js/translated/stock.js:875 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:876 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:881 +#: templates/js/translated/stock.js:880 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:882 +#: templates/js/translated/stock.js:881 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:886 +#: templates/js/translated/stock.js:885 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:887 users/models.py:215 +#: templates/js/translated/stock.js:886 users/models.py:215 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1024 +#: templates/js/translated/stock.js:1023 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1047 +#: templates/js/translated/stock.js:1046 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1172 +#: templates/js/translated/stock.js:1182 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1174 +#: templates/js/translated/stock.js:1184 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1179 +#: templates/js/translated/stock.js:1189 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1226 +#: templates/js/translated/stock.js:1236 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1229 +#: templates/js/translated/stock.js:1239 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1255 +#: templates/js/translated/stock.js:1265 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1321 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1476 +#: templates/js/translated/stock.js:1486 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1498 +#: templates/js/translated/stock.js:1508 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1527 +#: templates/js/translated/stock.js:1537 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1531 +#: templates/js/translated/stock.js:1541 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1539 +#: templates/js/translated/stock.js:1549 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1545 +#: templates/js/translated/stock.js:1555 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1712 +#: templates/js/translated/stock.js:1722 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1727 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1720 +#: templates/js/translated/stock.js:1730 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1723 +#: templates/js/translated/stock.js:1733 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1725 +#: templates/js/translated/stock.js:1735 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1727 +#: templates/js/translated/stock.js:1737 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1730 +#: templates/js/translated/stock.js:1740 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1734 +#: templates/js/translated/stock.js:1744 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1746 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1743 +#: templates/js/translated/stock.js:1753 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1755 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:1757 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1751 +#: templates/js/translated/stock.js:1761 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1802 +#: templates/js/translated/stock.js:1812 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1894 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1932 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2095 +#: templates/js/translated/stock.js:2105 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2109 +#: templates/js/translated/stock.js:2119 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2120 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2375 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2381 +#: templates/js/translated/stock.js:2391 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2403 +#: templates/js/translated/stock.js:2413 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2422 +#: templates/js/translated/stock.js:2432 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2441 +#: templates/js/translated/stock.js:2451 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2459 +#: templates/js/translated/stock.js:2469 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2482 +#: templates/js/translated/stock.js:2492 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2490 +#: templates/js/translated/stock.js:2500 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2566 +#: templates/js/translated/stock.js:2576 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2617 templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2663 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2666 +#: templates/js/translated/stock.js:2676 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2697 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2688 +#: templates/js/translated/stock.js:2698 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2690 +#: templates/js/translated/stock.js:2700 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/stock.js:2701 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2702 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2693 +#: templates/js/translated/stock.js:2703 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2716 msgid "Select part to install" msgstr "" diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po index a542ca17c1..5434e6978a 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-06-05 14:26+0000\n" -"PO-Revision-Date: 2022-06-05 14:34\n" +"POT-Creation-Date: 2022-06-06 22:59+0000\n" +"PO-Revision-Date: 2022-06-07 14:34\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:46 +#: InvenTree/api.py:49 msgid "API endpoint not found" msgstr "Point de terminaison de l'API introuvable" @@ -29,275 +29,273 @@ msgstr "Les détails de l'erreur peuvent être trouvées dans le panneau d'admin msgid "Enter date" msgstr "Entrer la date" -#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:630 -msgid "Confirm" -msgstr "Confirmer" - -#: InvenTree/forms.py:134 +#: InvenTree/forms.py:117 msgid "Confirm delete" msgstr "Confirmer la suppression" -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:118 msgid "Confirm item deletion" msgstr "Confirmer la suppression de cet élément" -#: InvenTree/forms.py:167 +#: InvenTree/forms.py:150 msgid "Enter password" msgstr "Entrer le mot de passe" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:151 msgid "Enter new password" msgstr "Entrer le nouveau mot de passe" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:158 msgid "Confirm password" msgstr "Confirmez le mot de passe" -#: InvenTree/forms.py:176 +#: InvenTree/forms.py:159 msgid "Confirm new password" msgstr "Confirmer le nouveau mot de passe" -#: InvenTree/forms.py:213 -msgid "Select Category" -msgstr "Sélectionnez une catégorie" - -#: InvenTree/forms.py:234 +#: InvenTree/forms.py:184 msgid "Email (again)" msgstr "Email (encore)" -#: InvenTree/forms.py:238 +#: InvenTree/forms.py:188 msgid "Email address confirmation" msgstr "Confirmation de l'adresse email" -#: InvenTree/forms.py:259 +#: InvenTree/forms.py:209 msgid "You must type the same email each time." msgstr "Vous devez taper le même e-mail à chaque fois." -#: InvenTree/helpers.py:402 +#: InvenTree/helpers.py:404 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "Dupliquer le numéro : {sn}" -#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 +#: InvenTree/helpers.py:411 order/models.py:370 order/models.py:522 msgid "Invalid quantity provided" msgstr "Quantité fournie invalide" -#: InvenTree/helpers.py:412 +#: InvenTree/helpers.py:414 msgid "Empty serial number string" msgstr "Chaîne de numéro de série vide" -#: InvenTree/helpers.py:444 +#: InvenTree/helpers.py:446 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Plage de groupe invalide : {g}" -#: InvenTree/helpers.py:447 +#: InvenTree/helpers.py:449 #, python-brace-format msgid "Invalid group: {g}" msgstr "Groupe invalide : {g}" -#: InvenTree/helpers.py:475 +#: InvenTree/helpers.py:477 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "Séquence de groupe invalide : {g}" -#: InvenTree/helpers.py:483 +#: InvenTree/helpers.py:485 #, python-brace-format msgid "Invalid/no group {group}" msgstr "Invalide/aucun groupe {group}" -#: InvenTree/helpers.py:489 +#: InvenTree/helpers.py:491 msgid "No serial numbers found" msgstr "Aucun numéro de série trouvé" -#: InvenTree/helpers.py:493 +#: InvenTree/helpers.py:495 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:174 +#: InvenTree/models.py:178 msgid "Missing file" msgstr "Fichier manquant" -#: InvenTree/models.py:175 +#: InvenTree/models.py:179 msgid "Missing external link" msgstr "Lien externe manquant" -#: InvenTree/models.py:187 stock/models.py:2087 -#: templates/js/translated/attachment.js:101 -#: templates/js/translated/attachment.js:198 +#: InvenTree/models.py:191 stock/models.py:2091 +#: templates/js/translated/attachment.js:103 +#: templates/js/translated/attachment.js:194 msgid "Attachment" msgstr "Pièce jointe" -#: InvenTree/models.py:188 +#: InvenTree/models.py:192 msgid "Select file to attach" msgstr "Sélectionnez un fichier à joindre" -#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 -#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: InvenTree/models.py:198 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:136 order/models.py:1251 #: 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 -#: templates/js/translated/part.js:1441 +#: templates/js/translated/company.js:640 +#: templates/js/translated/company.js:931 templates/js/translated/order.js:2676 +#: templates/js/translated/part.js:1485 msgid "Link" msgstr "Lien" -#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: InvenTree/models.py:199 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:198 templates/js/translated/attachment.js:102 -#: templates/js/translated/attachment.js:242 +#: InvenTree/models.py:202 templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:238 msgid "Comment" msgstr "Commentaire" -#: InvenTree/models.py:198 +#: InvenTree/models.py:202 msgid "File comment" msgstr "Commentaire du fichier" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1506 +#: common/models.py:1507 common/models.py:1735 common/models.py:1736 +#: common/models.py:1998 common/models.py:1999 part/models.py:2141 +#: part/models.py:2161 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:2523 msgid "User" msgstr "Utilisateur" -#: InvenTree/models.py:208 +#: InvenTree/models.py:212 msgid "upload date" msgstr "date de chargement" -#: InvenTree/models.py:230 +#: InvenTree/models.py:234 msgid "Filename must not be empty" msgstr "Le nom de fichier ne doit pas être vide" -#: InvenTree/models.py:253 +#: InvenTree/models.py:257 msgid "Invalid attachment directory" msgstr "Répertoire de pièce jointe invalide" -#: InvenTree/models.py:263 +#: InvenTree/models.py:267 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Le nom de fichier contient le caractère illégal '{c}'" -#: InvenTree/models.py:266 +#: InvenTree/models.py:270 msgid "Filename missing extension" msgstr "Extension manquante du nom de fichier" -#: InvenTree/models.py:273 +#: InvenTree/models.py:277 msgid "Attachment with this filename already exists" msgstr "Une pièce jointe avec ce nom de fichier existe déjà" -#: InvenTree/models.py:280 +#: InvenTree/models.py:284 msgid "Error renaming file" msgstr "Erreur lors du renommage du fichier" -#: InvenTree/models.py:314 +#: InvenTree/models.py:318 msgid "Invalid choice" msgstr "Choix invalide" -#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 #: company/models.py:354 label/models.py:101 part/models.py:739 -#: part/models.py:2331 plugin/models.py:93 report/models.py:151 +#: part/models.py:2319 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 #: templates/InvenTree/settings/plugin.html:132 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:346 -#: 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:2283 +#: templates/js/translated/company.js:530 +#: templates/js/translated/company.js:742 templates/js/translated/part.js:659 +#: templates/js/translated/part.js:811 templates/js/translated/part.js:1832 +#: templates/js/translated/stock.js:2293 msgid "Name" msgstr "Nom" -#: InvenTree/models.py:340 build/models.py:197 +#: InvenTree/models.py:344 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: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:164 +#: order/models.py:134 part/models.py:762 part/templates/part/category.html:74 +#: part/templates/part/part_base.html:167 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 -#: 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/bom.js:553 templates/js/translated/bom.js:845 +#: templates/js/translated/build.js:2476 templates/js/translated/company.js:395 +#: templates/js/translated/company.js:651 +#: templates/js/translated/company.js:942 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:1676 -#: templates/js/translated/stock.js:2295 templates/js/translated/stock.js:2350 +#: templates/js/translated/part.js:718 templates/js/translated/part.js:1126 +#: templates/js/translated/part.js:1399 templates/js/translated/part.js:1851 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:1686 +#: templates/js/translated/stock.js:2305 templates/js/translated/stock.js:2360 msgid "Description" msgstr "Description" -#: InvenTree/models.py:341 +#: InvenTree/models.py:345 msgid "Description (optional)" msgstr "Description (facultative)" -#: InvenTree/models.py:349 +#: InvenTree/models.py:353 msgid "parent" msgstr "parent" -#: InvenTree/serializers.py:52 part/models.py:2652 +#: InvenTree/models.py:466 +msgid "Server Error" +msgstr "" + +#: InvenTree/models.py:467 +msgid "An error has been logged by the server." +msgstr "" + +#: InvenTree/serializers.py:52 part/models.py:2640 msgid "Must be a valid number" msgstr "Doit être un nombre valide" -#: InvenTree/serializers.py:271 +#: InvenTree/serializers.py:263 msgid "Filename" msgstr "Nom du fichier" -#: InvenTree/serializers.py:306 +#: InvenTree/serializers.py:298 msgid "Invalid value" msgstr "Valeur non valide" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:320 msgid "Data File" msgstr "Fichier de données" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:321 msgid "Select data file for upload" msgstr "Sélectionnez le fichier de données à envoyer" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:342 msgid "Unsupported file type" msgstr "Format de fichier non supporté" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:348 msgid "File is too large" msgstr "Fichier trop volumineux" -#: InvenTree/serializers.py:377 +#: InvenTree/serializers.py:369 msgid "No columns found in file" msgstr "Pas de colonnes trouvées dans le fichier" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:372 msgid "No data rows found in file" msgstr "Par de lignes de données trouvées dans le fichier" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:495 msgid "No data rows provided" msgstr "Pas de lignes de données fournies" -#: InvenTree/serializers.py:506 +#: InvenTree/serializers.py:498 msgid "No data columns supplied" msgstr "Pas de colonne de données fournie" -#: InvenTree/serializers.py:583 +#: InvenTree/serializers.py:575 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Colonne requise manquante : {name}" -#: InvenTree/serializers.py:592 +#: InvenTree/serializers.py:584 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Colonne duliquée : '{col}'" @@ -440,7 +438,7 @@ msgstr "Perdu" msgid "Returned" msgstr "Retourné" -#: InvenTree/status_codes.py:141 order/models.py:1114 +#: InvenTree/status_codes.py:141 order/models.py:1130 #: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "Expédié" @@ -525,7 +523,7 @@ msgstr "Séparer de l'élément parent" msgid "Split child item" msgstr "Fractionner l'élément enfant" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2020 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2030 msgid "Merged stock items" msgstr "Articles de stock fusionnés" @@ -597,27 +595,27 @@ msgstr "Le surplus ne doit pas dépasser 100%" msgid "Invalid value for overage" msgstr "Valeur invalide pour le dépassement" -#: InvenTree/views.py:522 +#: InvenTree/views.py:521 msgid "Delete Item" msgstr "Supprimer cet élément" -#: InvenTree/views.py:571 +#: InvenTree/views.py:570 msgid "Check box to confirm item deletion" msgstr "Cochez la case pour confirmer la suppression de l'élément" -#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:585 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Modifier les informations utilisateur" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:597 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Définir le mot de passe" -#: InvenTree/views.py:618 +#: InvenTree/views.py:617 msgid "Password fields must match" msgstr "Les mots de passe doivent correspondre" -#: InvenTree/views.py:842 templates/navbar.html:152 +#: InvenTree/views.py:807 templates/navbar.html:152 msgid "System Information" msgstr "Informations système" @@ -628,6 +626,7 @@ msgstr "Choix invalide pour la fabrication parente" #: 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/email/overdue_build_order.html:15 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "Ordre de Fabrication" @@ -646,12 +645,12 @@ msgstr "Ordres de Fabrication" msgid "Build Order Reference" msgstr "Référence de l' Ordre de Fabrication" -#: build/models.py:189 order/models.py:288 order/models.py:638 -#: order/models.py:916 part/models.py:2570 +#: build/models.py:189 order/models.py:293 order/models.py:654 +#: order/models.py:932 part/models.py:2558 #: 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/bom.js:690 templates/js/translated/bom.js:852 #: 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:3959 @@ -673,13 +672,12 @@ msgstr "BuildOrder associé a cette fabrication" #: 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:2460 part/models.py:2545 part/models.py:2821 -#: part/serializers.py:793 part/templates/part/part_app_base.html:8 +#: order/models.py:1028 order/models.py:1119 part/models.py:336 +#: part/models.py:2087 part/models.py:2102 part/models.py:2121 +#: part/models.py:2139 part/models.py:2238 part/models.py:2358 +#: part/models.py:2448 part/models.py:2533 part/models.py:2809 +#: part/serializers.py:795 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 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 @@ -687,22 +685,23 @@ msgstr "BuildOrder associé a cette fabrication" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 +#: templates/email/overdue_build_order.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:805 +#: templates/js/translated/bom.js:689 templates/js/translated/bom.js:799 #: 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/company.js:253 +#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:592 +#: templates/js/translated/company.js:851 templates/js/translated/order.js:100 #: templates/js/translated/order.js:883 templates/js/translated/order.js:1315 #: 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:1633 templates/js/translated/stock.js:2376 -#: templates/js/translated/stock.js:2571 templates/js/translated/stock.js:2705 +#: templates/js/translated/part.js:1111 templates/js/translated/part.js:1181 +#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:695 templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2386 +#: templates/js/translated/stock.js:2581 templates/js/translated/stock.js:2715 msgid "Part" msgstr "Pièce" @@ -768,12 +767,12 @@ msgstr "Code de lot" msgid "Batch code for this build output" msgstr "Code de lot pour ce build output" -#: build/models.py:282 order/models.py:137 part/models.py:932 +#: build/models.py:282 order/models.py:138 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:286 order/models.py:660 +#: build/models.py:286 order/models.py:676 msgid "Target completion date" msgstr "Date d'achèvement cible" @@ -781,7 +780,7 @@ msgstr "Date d'achèvement cible" 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:290 order/models.py:331 +#: build/models.py:290 order/models.py:336 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "Date d'achèvement" @@ -799,7 +798,7 @@ msgid "User who issued this build order" msgstr "Utilisateur ayant émis cette commande de construction" #: build/models.py:313 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:151 +#: build/templates/build/detail.html:115 order/models.py:152 #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 @@ -822,20 +821,20 @@ msgstr "Lien Externe" #: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 #: company/models.py:519 company/templates/company/sidebar.html:25 -#: order/models.py:155 order/models.py:918 order/models.py:1213 +#: order/models.py:156 order/models.py:934 order/models.py:1229 #: order/templates/order/po_sidebar.html:11 #: 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:713 stock/models.py:1985 stock/models.py:2093 +#: stock/models.py:713 stock/models.py:1989 stock/models.py:2097 #: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:486 -#: stock/serializers.py:772 stock/serializers.py:871 stock/serializers.py:1003 +#: stock/serializers.py:759 stock/serializers.py:858 stock/serializers.py:990 #: 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/barcode.js:100 templates/js/translated/bom.js:1038 +#: templates/js/translated/company.js:947 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 -#: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 +#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1926 msgid "Notes" msgstr "Notes" @@ -855,44 +854,44 @@ msgstr "L'ordre de production a déjà été réalisé" msgid "Build output does not match Build Order" msgstr "L'ordre de production de correspond pas à l'ordre de commande" -#: build/models.py:1108 +#: build/models.py:1111 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:1117 +#: build/models.py:1120 #, 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:1127 +#: build/models.py:1130 msgid "Stock item is over-allocated" msgstr "L'article de stock est suralloué" -#: build/models.py:1133 order/models.py:1372 +#: build/models.py:1136 order/models.py:1388 msgid "Allocation quantity must be greater than zero" msgstr "La quantité allouée doit être supérieure à zéro" -#: build/models.py:1139 +#: build/models.py:1142 msgid "Quantity must be 1 for serialized stock" msgstr "La quantité doit être de 1 pour stock sérialisé" -#: build/models.py:1196 +#: build/models.py:1199 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:1265 stock/templates/stock/item_base.html:177 +#: build/models.py:1268 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:1266 +#: build/models.py:1269 msgid "Build to allocate parts" msgstr "Construction à laquelle allouer des pièces" -#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 -#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:703 -#: stock/serializers.py:829 stock/templates/stock/item_base.html:10 +#: build/models.py:1285 build/serializers.py:603 order/serializers.py:996 +#: order/serializers.py:1017 stock/serializers.py:382 stock/serializers.py:690 +#: stock/serializers.py:816 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 @@ -900,22 +899,22 @@ msgstr "Construction à laquelle allouer des pièces" #: 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:2449 +#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696 +#: templates/js/translated/stock.js:2459 msgid "Stock Item" msgstr "Article en stock" -#: build/models.py:1283 +#: build/models.py:1286 msgid "Source stock item" msgstr "Stock d'origine de l'article" -#: build/models.py:1295 build/serializers.py:183 +#: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1536 +#: build/templates/build/detail.html:34 common/models.py:1543 #: 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:68 -#: part/forms.py:83 part/forms.py:98 part/models.py:2561 +#: order/models.py:925 order/models.py:1428 order/serializers.py:1136 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 +#: part/forms.py:74 part/forms.py:89 part/models.py:2549 #: 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 @@ -926,8 +925,8 @@ msgstr "Stock d'origine de l'article" #: report/templates/report/inventree_test_report_base.html:139 #: 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 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:691 +#: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 #: templates/js/translated/build.js:574 templates/js/translated/build.js:765 #: templates/js/translated/build.js:1175 templates/js/translated/build.js:1673 #: templates/js/translated/build.js:2086 @@ -937,23 +936,23 @@ msgstr "Stock d'origine de l'article" #: 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: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 -#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727 -#: templates/js/translated/stock.js:2498 templates/js/translated/stock.js:2583 +#: templates/js/translated/part.js:1011 templates/js/translated/part.js:2065 +#: templates/js/translated/part.js:2296 templates/js/translated/part.js:2330 +#: templates/js/translated/part.js:2408 templates/js/translated/stock.js:402 +#: templates/js/translated/stock.js:556 templates/js/translated/stock.js:726 +#: templates/js/translated/stock.js:2508 templates/js/translated/stock.js:2593 msgid "Quantity" msgstr "Quantité" -#: build/models.py:1296 +#: build/models.py:1299 msgid "Stock quantity to allocate to build" msgstr "Quantité de stock à allouer à la construction" -#: build/models.py:1304 +#: build/models.py:1307 msgid "Install into" msgstr "Installer dans" -#: build/models.py:1305 +#: build/models.py:1308 msgid "Destination stock item" msgstr "Stock de destination de l'article" @@ -982,9 +981,9 @@ msgstr "Cet ordre de production n'est pas complètement attribué" msgid "Enter quantity for build output" msgstr "Entrer la quantité désiré pour la fabrication" -#: 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:1239 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:368 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:514 +#: part/serializers.py:958 stock/models.py:470 stock/models.py:1239 #: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "La quantité doit être supérieure à zéro" @@ -997,9 +996,9 @@ msgstr "Quantité entière requise pour les pièces à suivre" 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:222 order/serializers.py:448 order/serializers.py:1138 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 #: stock/serializers.py:297 templates/js/translated/order.js:1186 -#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:237 templates/js/translated/stock.js:403 msgid "Serial Numbers" msgstr "Numéros de série" @@ -1015,7 +1014,7 @@ msgstr "Allouer automatiquement les numéros de série" 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:268 stock/api.py:552 +#: build/serializers.py:268 stock/api.py:553 msgid "The following serial numbers already exist" msgstr "Le numéro de série suivant existe déjà" @@ -1025,16 +1024,16 @@ msgstr "Une liste d'ordre de production doit être fourni" #: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 #: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:481 -#: stock/serializers.py:864 stock/serializers.py:1097 +#: stock/serializers.py:851 stock/serializers.py:1084 #: 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 #: 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:1787 templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532 +#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904 +#: templates/js/translated/stock.js:1797 templates/js/translated/stock.js:2400 msgid "Location" msgstr "Emplacement" @@ -1043,12 +1042,12 @@ msgid "Location for completed build outputs" msgstr "Emplacement des ordres de production achevés" #: build/serializers.py:363 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:654 +#: build/templates/build/detail.html:62 order/models.py:670 #: 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 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1772 +#: templates/js/translated/stock.js:2477 templates/js/translated/stock.js:2609 msgid "Status" msgstr "État" @@ -1108,8 +1107,8 @@ msgstr "L'ordre de production a des sorties incomplètes" 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:535 build/serializers.py:580 part/models.py:2679 -#: part/models.py:2813 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2667 +#: part/models.py:2801 msgid "BOM Item" msgstr "" @@ -1125,11 +1124,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:716 +#: build/serializers.py:609 stock/serializers.py:703 msgid "Item must be in stock" msgstr "L'article doit être en stock" -#: build/serializers.py:667 order/serializers.py:1052 +#: build/serializers.py:667 order/serializers.py:1054 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantité disponible ({q}) dépassée" @@ -1146,7 +1145,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:708 order/serializers.py:1298 +#: build/serializers.py:708 order/serializers.py:1300 msgid "Allocation items must be provided" msgstr "" @@ -1178,10 +1177,19 @@ msgstr "" msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:96 +#: build/tasks.py:100 msgid "Stock required for build order" msgstr "Stock requis pour la commande de construction" +#: build/tasks.py:118 +msgid "Overdue Build Order" +msgstr "" + +#: build/tasks.py:123 +#, python-brace-format +msgid "Build order {bo} is now overdue" +msgstr "" + #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 #: order/templates/order/sales_order_base.html:38 @@ -1244,13 +1252,13 @@ 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:922 +#: build/templates/build/detail.html:131 order/models.py:938 #: 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: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 +#: templates/js/translated/order.js:3517 templates/js/translated/part.js:1015 msgid "Target Date" msgstr "Date Cible" @@ -1277,13 +1285,14 @@ msgid "Completed" msgstr "Terminé" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1100 -#: order/models.py:1185 order/models.py:1320 +#: build/templates/build/detail.html:94 order/models.py:1116 +#: order/models.py:1201 order/models.py:1336 #: 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/email/overdue_sales_order.html:15 #: templates/js/translated/order.js:2436 msgid "Sales Order" msgstr "Commandes" @@ -1319,7 +1328,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:1034 +#: build/templates/build/detail.html:49 order/models.py:1050 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "Destination" @@ -1336,8 +1345,8 @@ msgstr "Pièces allouées" #: stock/templates/stock/item_base.html:170 #: templates/js/translated/build.js:1179 #: templates/js/translated/model_renderers.js:112 -#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1776 -#: templates/js/translated/stock.js:2606 +#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:2616 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1716,7 +1725,7 @@ msgstr "Copier les templates de paramètres de catégorie" 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:820 part/models.py:2372 report/models.py:157 +#: common/models.py:820 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" @@ -1726,7 +1735,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "Les pièces sont des templates par défaut" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" @@ -1880,576 +1889,584 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:968 -msgid "Test Reports" -msgstr "Rapports de test" +msgid "Enable Test Reports" +msgstr "" #: common/models.py:969 msgid "Enable generation of test reports" msgstr "" #: common/models.py:975 -msgid "Batch Code Template" +msgid "Attach Test Reports" msgstr "" #: common/models.py:976 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:981 -msgid "Stock Expiry" +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" #: common/models.py:982 -msgid "Enable stock expiry functionality" +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:983 +msgid "Template for generating default batch codes for stock items" msgstr "" #: common/models.py:988 -msgid "Sell Expired Stock" +msgid "Stock Expiry" msgstr "" #: common/models.py:989 -msgid "Allow sale of expired stock" +msgid "Enable stock expiry functionality" msgstr "" #: common/models.py:995 -msgid "Stock Stale Time" +msgid "Sell Expired Stock" msgstr "" #: common/models.py:996 +msgid "Allow sale of expired stock" +msgstr "" + +#: common/models.py:1002 +msgid "Stock Stale Time" +msgstr "" + +#: common/models.py:1003 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:998 +#: common/models.py:1005 msgid "days" msgstr "jours" -#: common/models.py:1003 +#: common/models.py:1010 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1004 +#: common/models.py:1011 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1010 +#: common/models.py:1017 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1011 +#: common/models.py:1018 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1017 +#: common/models.py:1024 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1018 +#: common/models.py:1025 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1023 +#: common/models.py:1030 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1024 +#: common/models.py:1031 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1029 +#: common/models.py:1036 msgid "Prefix value for sales order reference" msgstr "Valeur préfixe référence commande client" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1041 +#: common/models.py:1048 msgid "Purchase Order Reference Prefix" msgstr "Préfixe des commandes d'achats" -#: common/models.py:1042 +#: common/models.py:1049 msgid "Prefix value for purchase order reference" msgstr "Valeur préfixe référence bon de commande" -#: common/models.py:1048 +#: common/models.py:1055 msgid "Enable password forgot" msgstr "Activer les mots de passe oubliés" -#: common/models.py:1049 +#: common/models.py:1056 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1055 +#: common/models.py:1062 msgid "Enable registration" msgstr "Activer les inscriptions" -#: common/models.py:1056 +#: common/models.py:1063 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1069 msgid "Enable SSO" msgstr "Activer le SSO" -#: common/models.py:1063 +#: common/models.py:1070 msgid "Enable SSO on the login pages" msgstr "Activer le SSO sur les pages de connexion" -#: common/models.py:1069 +#: common/models.py:1076 msgid "Email required" msgstr "Email requis" -#: common/models.py:1070 +#: common/models.py:1077 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1076 +#: common/models.py:1083 msgid "Auto-fill SSO users" msgstr "Saisie automatique des utilisateurs SSO" -#: common/models.py:1077 +#: common/models.py:1084 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1083 +#: common/models.py:1090 msgid "Mail twice" msgstr "Courriel en double" -#: common/models.py:1084 +#: common/models.py:1091 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1090 +#: common/models.py:1097 msgid "Password twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1098 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1097 +#: common/models.py:1104 msgid "Group on signup" msgstr "" -#: common/models.py:1098 +#: common/models.py:1105 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1104 +#: common/models.py:1111 msgid "Enforce MFA" msgstr "" -#: common/models.py:1105 +#: common/models.py:1112 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1111 +#: common/models.py:1118 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1112 +#: common/models.py:1119 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1120 +#: common/models.py:1127 msgid "Enable URL integration" msgstr "" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1136 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1136 +#: common/models.py:1143 msgid "Enable app integration" msgstr "Activer l'intégration de plugins" -#: common/models.py:1137 +#: common/models.py:1144 msgid "Enable plugins to add apps" msgstr "Activer l'intégration de plugin pour ajouter des apps" -#: common/models.py:1144 +#: common/models.py:1151 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1145 +#: common/models.py:1152 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1152 +#: common/models.py:1159 msgid "Enable event integration" msgstr "" -#: common/models.py:1153 +#: common/models.py:1160 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1170 common/models.py:1492 +#: common/models.py:1177 common/models.py:1499 msgid "Settings key (must be unique - case insensitive" msgstr "Clé du paramètre (doit être unique - insensible à la casse)" -#: common/models.py:1192 +#: common/models.py:1199 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1193 +#: common/models.py:1200 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1199 +#: common/models.py:1206 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1200 +#: common/models.py:1207 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1213 msgid "Show latest parts" msgstr "Afficher les dernières pièces" -#: common/models.py:1207 +#: common/models.py:1214 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1213 +#: common/models.py:1220 msgid "Recent Part Count" msgstr "" -#: common/models.py:1214 +#: common/models.py:1221 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1220 +#: common/models.py:1227 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1221 +#: common/models.py:1228 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1227 +#: common/models.py:1234 msgid "Show recent stock changes" msgstr "Afficher les dernières modifications du stock" -#: common/models.py:1228 +#: common/models.py:1235 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1235 +#: common/models.py:1242 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Show low stock" msgstr "" -#: common/models.py:1242 +#: common/models.py:1249 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Show depleted stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1256 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1262 msgid "Show needed stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1263 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1269 msgid "Show expired stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1270 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1276 msgid "Show stale stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Show pending builds" msgstr "" -#: common/models.py:1277 +#: common/models.py:1284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Show overdue builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1291 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1291 +#: common/models.py:1298 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Show overdue POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1305 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1312 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1318 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1319 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1317 +#: common/models.py:1324 msgid "Enable label printing" msgstr "" -#: common/models.py:1318 +#: common/models.py:1325 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1324 +#: common/models.py:1331 msgid "Inline label display" msgstr "" -#: common/models.py:1325 +#: common/models.py:1332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1331 +#: common/models.py:1338 msgid "Inline report display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1345 msgid "Search Parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1345 +#: common/models.py:1352 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1359 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1366 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1367 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1373 msgid "Search Categories" msgstr "" -#: common/models.py:1367 +#: common/models.py:1374 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1380 msgid "Search Stock" msgstr "" -#: common/models.py:1374 +#: common/models.py:1381 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1387 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1381 +#: common/models.py:1388 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1394 msgid "Search Locations" msgstr "" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1401 msgid "Search Companies" msgstr "" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1408 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1415 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1422 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1429 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Search Preview Results" msgstr "" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1457 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1457 +#: common/models.py:1464 msgid "Date Format" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Preferred format for displaying dates" msgstr "Format préféré pour l'affichage des dates" -#: common/models.py:1472 part/templates/part/detail.html:39 +#: common/models.py:1479 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1473 +#: common/models.py:1480 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1537 company/forms.py:37 +#: common/models.py:1544 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: 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 +#: common/models.py:1551 company/serializers.py:290 +#: company/templates/company/supplier_part.html:263 order/models.py:965 +#: templates/js/translated/part.js:1042 templates/js/translated/part.js:2070 msgid "Price" msgstr "Prix" -#: common/models.py:1545 +#: common/models.py:1552 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1705 common/models.py:1883 +#: common/models.py:1712 common/models.py:1890 msgid "Endpoint" msgstr "" -#: common/models.py:1706 +#: common/models.py:1713 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1715 +#: common/models.py:1722 msgid "Name for this webhook" msgstr "" -#: common/models.py:1720 part/models.py:911 plugin/models.py:99 +#: common/models.py:1727 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 @@ -2457,79 +2474,89 @@ msgstr "" msgid "Active" msgstr "Actif" -#: common/models.py:1721 +#: common/models.py:1728 msgid "Is this webhook active" msgstr "" -#: common/models.py:1735 +#: common/models.py:1742 msgid "Token" msgstr "" -#: common/models.py:1736 +#: common/models.py:1743 msgid "Token for access" msgstr "" -#: common/models.py:1743 +#: common/models.py:1750 msgid "Secret" msgstr "" -#: common/models.py:1744 +#: common/models.py:1751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Message ID" msgstr "" -#: common/models.py:1851 +#: common/models.py:1858 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1859 +#: common/models.py:1866 msgid "Host" msgstr "" -#: common/models.py:1860 +#: common/models.py:1867 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1867 +#: common/models.py:1874 msgid "Header" msgstr "" -#: common/models.py:1868 +#: common/models.py:1875 msgid "Header of this message" msgstr "" -#: common/models.py:1874 +#: common/models.py:1881 msgid "Body" msgstr "" -#: common/models.py:1875 +#: common/models.py:1882 msgid "Body of this message" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1889 +#: common/models.py:1896 msgid "Worked on" msgstr "" -#: common/models.py:1890 +#: common/models.py:1897 msgid "Was the work on this message finished?" msgstr "" +#: common/notifications.py:292 +#, python-brace-format +msgid "New {verbose_name}" +msgstr "" + +#: common/notifications.py:294 +#, python-brace-format +msgid "A new {verbose_name} has been created and ,assigned to you" +msgstr "" + #: common/views.py:87 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:191 +#: order/views.py:102 part/views.py:116 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:192 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:117 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -2545,19 +2572,19 @@ msgstr "" msgid "Parts imported" msgstr "Composantes importées" -#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:511 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:16 part/forms.py:21 +#: company/forms.py:16 part/forms.py:18 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:17 part/forms.py:22 +#: company/forms.py:17 part/forms.py:19 msgid "Image URL" msgstr "URL de l'image" @@ -2571,7 +2598,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:405 +#: templates/js/translated/company.js:399 msgid "Website" msgstr "" @@ -2644,9 +2671,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:294 -#: company/templates/company/company_base.html:106 part/serializers.py:137 -#: part/serializers.py:168 stock/serializers.py:162 +#: company/models.py:144 company/serializers.py:296 +#: company/templates/company/company_base.html:106 part/serializers.py:139 +#: part/serializers.py:170 stock/serializers.py:162 msgid "Currency" msgstr "Devise" @@ -2667,10 +2694,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: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/company.js:383 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:617 +#: templates/js/translated/company.js:902 templates/js/translated/part.js:235 #: templates/js/translated/table_filters.js:411 msgid "Manufacturer" msgstr "Fabricant" @@ -2681,11 +2708,11 @@ msgstr "Sélectionner un fabricant" #: 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 -#: 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 +#: templates/js/translated/company.js:256 +#: templates/js/translated/company.js:483 +#: templates/js/translated/company.js:633 +#: templates/js/translated/company.js:920 templates/js/translated/order.js:1907 +#: templates/js/translated/part.js:246 templates/js/translated/part.js:1000 msgid "MPN" msgstr "" @@ -2714,9 +2741,9 @@ msgstr "" #: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2080 templates/js/translated/company.js:540 -#: templates/js/translated/company.js:763 templates/js/translated/part.js:776 -#: templates/js/translated/stock.js:1294 +#: stock/models.py:2084 templates/js/translated/company.js:531 +#: templates/js/translated/company.js:748 templates/js/translated/part.js:820 +#: templates/js/translated/stock.js:1304 msgid "Value" msgstr "Valeur" @@ -2724,10 +2751,10 @@ msgstr "Valeur" msgid "Parameter value" msgstr "" -#: company/models.py:368 part/models.py:878 part/models.py:2339 +#: company/models.py:368 part/models.py:878 part/models.py:2327 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:351 -#: templates/js/translated/company.js:769 templates/js/translated/part.js:782 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:826 msgid "Units" msgstr "" @@ -2740,13 +2767,14 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:487 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:303 +#: company/templates/company/supplier_part.html:87 order/models.py:308 #: 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 -#: 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/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:255 +#: templates/js/translated/company.js:387 +#: templates/js/translated/company.js:876 templates/js/translated/order.js:1643 +#: templates/js/translated/part.js:216 templates/js/translated/part.js:968 #: templates/js/translated/table_filters.js:415 msgid "Supplier" msgstr "Fournisseur" @@ -2756,9 +2784,9 @@ msgid "Select supplier" msgstr "" #: 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 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:254 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 -#: templates/js/translated/part.js:942 +#: templates/js/translated/part.js:986 msgid "SKU" msgstr "" @@ -2779,23 +2807,23 @@ msgid "Supplier part description" msgstr "" #: company/models.py:518 company/templates/company/supplier_part.html:125 -#: part/models.py:2573 part/templates/part/upload_bom.html:59 +#: part/models.py:2561 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:387 msgid "Note" msgstr "" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "base cost" msgstr "coût de base" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: 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 +#: templates/js/translated/company.js:952 templates/js/translated/stock.js:1922 msgid "Packaging" msgstr "" @@ -2803,7 +2831,7 @@ msgstr "" msgid "Part packaging" msgstr "" -#: company/models.py:526 part/models.py:1690 +#: company/models.py:526 part/models.py:1685 msgid "multiple" msgstr "" @@ -2825,7 +2853,7 @@ msgstr "" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:177 templates/js/translated/company.js:378 +#: templates/InvenTree/search.html:177 templates/js/translated/company.js:372 msgid "Company" msgstr "" @@ -2843,7 +2871,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:321 +#: templates/js/translated/company.js:315 msgid "Edit Company" msgstr "" @@ -2866,12 +2894,13 @@ 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:649 +#: company/templates/company/company_base.html:86 order/models.py:665 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:758 +#: stock/models.py:628 stock/serializers.py:745 #: 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 +#: templates/email/overdue_sales_order.html:16 +#: templates/js/translated/company.js:379 templates/js/translated/order.js:2458 +#: templates/js/translated/stock.js:2441 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "" @@ -2999,7 +3028,7 @@ msgid "Supplier List" msgstr "Liste des Fournisseurs" #: company/templates/company/manufacturer_part.html:15 company/views.py:45 -#: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 +#: part/templates/part/prices.html:172 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" msgstr "Fabricants" @@ -3012,12 +3041,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:680 +#: templates/js/translated/company.js:665 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:681 +#: templates/js/translated/company.js:666 msgid "Delete manufacturer part" msgstr "" @@ -3032,7 +3061,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:39 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 +#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" msgstr "Fournisseurs" @@ -3092,18 +3121,18 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: 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 +#: templates/js/translated/company.js:892 templates/js/translated/order.js:884 +#: templates/js/translated/stock.js:1879 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:38 -#: templates/js/translated/company.js:980 +#: templates/js/translated/company.js:965 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:42 -#: templates/js/translated/company.js:981 +#: templates/js/translated/company.js:966 msgid "Delete supplier part" msgstr "" @@ -3123,7 +3152,7 @@ msgstr "" #: company/templates/company/supplier_part.html:148 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 -#: templates/js/translated/stock.js:380 +#: templates/js/translated/stock.js:379 msgid "New Stock Item" msgstr "" @@ -3144,7 +3173,7 @@ msgstr "Information sur les prix" #: company/templates/company/supplier_part.html:191 #: company/templates/company/supplier_part.html:305 -#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046 +#: part/templates/part/prices.html:276 templates/js/translated/part.js:2142 msgid "Add Price Break" msgstr "" @@ -3153,12 +3182,12 @@ msgid "No price break information found" msgstr "" #: company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2152 msgid "Delete Price Break" msgstr "" #: company/templates/company/supplier_part.html:245 -#: templates/js/translated/part.js:2070 +#: templates/js/translated/part.js:2166 msgid "Edit Price Break" msgstr "" @@ -3180,9 +3209,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: 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:1687 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:722 +#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1431 +#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3209,7 +3238,7 @@ msgstr "Tarif" #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 -#: templates/js/translated/stock.js:2307 users/models.py:39 +#: templates/js/translated/stock.js:2317 users/models.py:39 msgid "Stock Items" msgstr "Éléments en stock" @@ -3238,20 +3267,20 @@ msgstr "Entreprises" msgid "New Company" msgstr "Nouvelle Entreprise" -#: company/views.py:112 part/views.py:576 +#: company/views.py:112 part/views.py:501 msgid "Download Image" msgstr "" -#: company/views.py:139 part/views.py:606 +#: company/views.py:139 part/views.py:531 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:146 part/views.py:613 +#: company/views.py:146 part/views.py:538 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:155 part/views.py:622 +#: company/views.py:155 part/views.py:547 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3320,313 +3349,314 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:133 +#: order/models.py:134 msgid "Order description" msgstr "Description de la commande" -#: order/models.py:135 order/models.py:1236 +#: order/models.py:136 order/models.py:1252 msgid "Link to external page" msgstr "Lien vers une page externe" -#: order/models.py:143 +#: order/models.py:144 msgid "Created By" msgstr "Créé par" -#: order/models.py:150 +#: order/models.py:151 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:155 +#: order/models.py:156 msgid "Order notes" msgstr "Notes de commande" -#: order/models.py:289 order/models.py:639 +#: order/models.py:294 order/models.py:655 msgid "Order reference" msgstr "" -#: order/models.py:294 order/models.py:654 +#: order/models.py:299 order/models.py:670 msgid "Purchase order status" msgstr "" -#: order/models.py:304 +#: order/models.py:309 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:307 order/templates/order/order_base.html:124 +#: order/models.py:312 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:307 +#: order/models.py:312 msgid "Supplier order reference code" msgstr "" -#: order/models.py:314 +#: order/models.py:319 msgid "received by" msgstr "" -#: order/models.py:319 +#: order/models.py:324 msgid "Issue Date" msgstr "" -#: order/models.py:320 +#: order/models.py:325 msgid "Date order was issued" msgstr "" -#: order/models.py:325 +#: order/models.py:330 msgid "Target Delivery Date" msgstr "" -#: order/models.py:326 +#: order/models.py:331 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:332 +#: order/models.py:337 msgid "Date order was completed" msgstr "" -#: order/models.py:368 +#: order/models.py:373 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:512 +#: order/models.py:517 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:650 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer Reference " msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer order reference code" msgstr "" -#: order/models.py:661 +#: order/models.py:677 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:664 order/models.py:1190 +#: order/models.py:680 order/models.py:1206 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "Nom de l’expédition" -#: order/models.py:671 +#: order/models.py:687 msgid "shipped by" msgstr "expédié par" -#: order/models.py:726 +#: order/models.py:742 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:730 +#: order/models.py:746 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:733 +#: order/models.py:749 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:736 +#: order/models.py:752 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:910 +#: order/models.py:926 msgid "Item quantity" msgstr "Nombre d'élement" -#: order/models.py:916 +#: order/models.py:932 msgid "Line item reference" msgstr "" -#: order/models.py:918 +#: order/models.py:934 msgid "Line item notes" msgstr "" -#: order/models.py:923 +#: order/models.py:939 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:941 +#: order/models.py:957 msgid "Context" msgstr "Contexte" -#: order/models.py:942 +#: order/models.py:958 msgid "Additional context for this line" msgstr "" -#: order/models.py:950 +#: order/models.py:966 msgid "Unit price" msgstr "" -#: order/models.py:980 +#: order/models.py:996 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:988 +#: order/models.py:1004 msgid "deleted" msgstr "" -#: order/models.py:994 order/models.py:1074 order/models.py:1099 -#: order/models.py:1184 order/models.py:1320 +#: order/models.py:1010 order/models.py:1090 order/models.py:1115 +#: order/models.py:1200 order/models.py:1336 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "Commande" -#: order/models.py:995 order/models.py:1074 +#: order/models.py:1011 order/models.py:1090 #: 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/email/overdue_purchase_order.html:15 #: 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 +#: templates/js/translated/part.js:943 templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:2422 msgid "Purchase Order" msgstr "Commande d’achat" -#: order/models.py:1013 +#: order/models.py:1029 msgid "Supplier part" msgstr "Pièce fournisseur" -#: order/models.py:1020 order/templates/order/order_base.html:169 +#: order/models.py:1036 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/part.js:1037 templates/js/translated/part.js:1064 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "Reçu" -#: order/models.py:1021 +#: order/models.py:1037 msgid "Number of items received" msgstr "Nombre d'éléments reçus" -#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: order/models.py:1044 part/templates/part/prices.html:181 stock/models.py:722 #: stock/serializers.py:153 stock/templates/stock/item_base.html:191 -#: templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:1910 msgid "Purchase Price" msgstr "Prix d'achat" -#: order/models.py:1029 +#: order/models.py:1045 msgid "Unit purchase price" msgstr "" -#: order/models.py:1037 +#: order/models.py:1053 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1109 part/templates/part/part_pricing.html:112 -#: part/templates/part/prices.html:119 part/templates/part/prices.html:288 +#: order/models.py:1125 part/templates/part/part_pricing.html:115 +#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 msgid "Sale Price" msgstr "Prix de vente" -#: order/models.py:1110 +#: order/models.py:1126 msgid "Unit sale price" msgstr "" -#: order/models.py:1115 +#: order/models.py:1131 msgid "Shipped quantity" msgstr "" -#: order/models.py:1191 +#: order/models.py:1207 msgid "Date of shipment" msgstr "" -#: order/models.py:1198 +#: order/models.py:1214 msgid "Checked By" msgstr "" -#: order/models.py:1199 +#: order/models.py:1215 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1207 +#: order/models.py:1223 msgid "Shipment number" msgstr "" -#: order/models.py:1214 +#: order/models.py:1230 msgid "Shipment notes" msgstr "" -#: order/models.py:1221 +#: order/models.py:1237 msgid "Tracking Number" msgstr "" -#: order/models.py:1222 +#: order/models.py:1238 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1229 +#: order/models.py:1245 msgid "Invoice Number" msgstr "" -#: order/models.py:1230 +#: order/models.py:1246 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1248 +#: order/models.py:1264 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1251 +#: order/models.py:1267 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1354 order/models.py:1356 +#: order/models.py:1370 order/models.py:1372 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1360 +#: order/models.py:1376 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1362 +#: order/models.py:1378 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1365 +#: order/models.py:1381 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1369 +#: order/models.py:1385 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1375 order/serializers.py:1045 +#: order/models.py:1391 order/serializers.py:1047 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1378 +#: order/models.py:1394 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1379 +#: order/models.py:1395 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1387 +#: order/models.py:1403 msgid "Line" msgstr "Ligne" -#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 +#: order/models.py:1411 order/serializers.py:1151 order/serializers.py:1275 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "Envoi" -#: order/models.py:1396 +#: order/models.py:1412 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1424 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "Article" -#: order/models.py:1409 +#: order/models.py:1425 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Enter stock allocation quantity" msgstr "" @@ -3662,7 +3692,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1117 +#: order/serializers.py:406 order/serializers.py:1119 msgid "Line Item" msgstr "" @@ -3710,42 +3740,60 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:866 +#: order/serializers.py:868 msgid "Sale price currency" msgstr "" -#: order/serializers.py:947 +#: order/serializers.py:949 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1006 order/serializers.py:1126 +#: order/serializers.py:1008 order/serializers.py:1128 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1028 +#: order/serializers.py:1030 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1139 +#: order/serializers.py:1141 msgid "Enter serial numbers to allocate" msgstr "Entrez les numéros de série à allouer" -#: order/serializers.py:1161 order/serializers.py:1281 +#: order/serializers.py:1163 order/serializers.py:1283 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1164 order/serializers.py:1284 +#: order/serializers.py:1166 order/serializers.py:1286 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1216 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:1224 +#: order/serializers.py:1226 msgid "The following serial numbers are already allocated" msgstr "Les numéros de série suivants sont déjà alloués" +#: order/tasks.py:26 +msgid "Overdue Purchase Order" +msgstr "" + +#: order/tasks.py:31 +#, python-brace-format +msgid "Purchase order {po} is now overdue" +msgstr "" + +#: order/tasks.py:88 +msgid "Overdue Sales Order" +msgstr "" + +#: order/tasks.py:93 +#, python-brace-format +msgid "Sales order {so} is now overdue" +msgstr "" + #: order/templates/order/order_base.html:33 msgid "Print purchase order report" msgstr "" @@ -3870,8 +3918,8 @@ msgstr "" #: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: 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:2731 templates/js/translated/stock.js:570 -#: templates/js/translated/stock.js:738 +#: templates/js/translated/order.js:2731 templates/js/translated/stock.js:569 +#: templates/js/translated/stock.js:737 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Supprimer la ligne" @@ -3990,7 +4038,7 @@ msgid "Pending Shipments" msgstr "Expéditions en attente" #: order/templates/order/sales_order_detail.html:70 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1047 #: templates/js/translated/build.js:1880 msgid "Actions" msgstr "" @@ -4021,47 +4069,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:481 +#: part/api.py:482 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:501 +#: part/api.py:502 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:519 +#: part/api.py:520 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:551 +#: part/api.py:552 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:637 +#: part/api.py:638 msgid "Valid" msgstr "" -#: part/api.py:638 +#: part/api.py:639 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:644 +#: part/api.py:645 msgid "This option must be selected" msgstr "" -#: part/api.py:1010 +#: part/api.py:1011 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1014 +#: part/api.py:1015 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1029 +#: part/api.py:1030 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1060 part/api.py:1064 part/api.py:1079 part/api.py:1083 +#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 msgid "This field is required" msgstr "" @@ -4080,17 +4128,13 @@ msgid "Available Stock" msgstr "" #: 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 +#: templates/js/translated/part.js:561 templates/js/translated/part.js:581 +#: templates/js/translated/part.js:1273 templates/js/translated/part.js:1445 +#: templates/js/translated/part.js:1461 msgid "On Order" msgstr "En Commande" -#: part/forms.py:59 -msgid "Select part category" -msgstr "" - -#: part/forms.py:69 +#: part/forms.py:60 msgid "Input quantity for price calculation" msgstr "" @@ -4106,7 +4150,7 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:115 part/models.py:2415 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2403 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Catégorie de composant" @@ -4123,7 +4167,7 @@ msgstr "Catégories de composants" #: 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/js/translated/part.js:1864 templates/js/translated/search.js:144 #: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "Composantes" @@ -4153,7 +4197,7 @@ msgstr "Le numéro de série le plus récent est" msgid "Duplicate IPN not allowed in part settings" msgstr "IPN dupliqué non autorisé dans les paramètres de la pièce" -#: part/models.py:738 part/models.py:2469 +#: part/models.py:738 part/models.py:2457 msgid "Part name" msgstr "" @@ -4186,12 +4230,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:776 part/models.py:2171 part/models.py:2414 +#: part/models.py:776 part/models.py:2159 part/models.py:2402 #: part/templates/part/part_base.html:257 -#: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 #: templates/InvenTree/settings/settings.html:231 -#: templates/js/translated/part.js:1369 +#: templates/js/translated/part.js:1413 templates/js/translated/part.js:1639 msgid "Category" msgstr "Catégorie" @@ -4200,8 +4243,8 @@ msgid "Part category" msgstr "Catégorie de la pièce" #: 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 +#: templates/js/translated/part.js:710 templates/js/translated/part.js:1366 +#: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" @@ -4214,7 +4257,7 @@ msgid "Part revision or version number" msgstr "" #: part/models.py:790 part/templates/part/part_base.html:273 -#: report/models.py:170 templates/js/translated/part.js:670 +#: report/models.py:170 templates/js/translated/part.js:714 msgid "Revision" msgstr "Révision" @@ -4302,317 +4345,321 @@ msgstr "" msgid "Creation User" msgstr "" -#: part/models.py:1690 +#: part/models.py:1685 msgid "Sell multiple" msgstr "Ventes multiples" -#: part/models.py:2218 +#: part/models.py:2206 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2235 +#: part/models.py:2223 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2255 templates/js/translated/part.js:1819 -#: templates/js/translated/stock.js:1274 +#: part/models.py:2243 templates/js/translated/part.js:1915 +#: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "Nom de test" -#: part/models.py:2256 +#: part/models.py:2244 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2261 +#: part/models.py:2249 msgid "Test Description" msgstr "" -#: part/models.py:2262 +#: part/models.py:2250 msgid "Enter description for this test" msgstr "" -#: part/models.py:2267 templates/js/translated/part.js:1828 +#: part/models.py:2255 templates/js/translated/part.js:1924 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "Requis" -#: part/models.py:2268 +#: part/models.py:2256 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2273 templates/js/translated/part.js:1836 +#: part/models.py:2261 templates/js/translated/part.js:1932 msgid "Requires Value" msgstr "" -#: part/models.py:2274 +#: part/models.py:2262 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2279 templates/js/translated/part.js:1843 +#: part/models.py:2267 templates/js/translated/part.js:1939 msgid "Requires Attachment" msgstr "" -#: part/models.py:2280 +#: part/models.py:2268 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2288 +#: part/models.py:2276 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2324 +#: part/models.py:2312 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2332 +#: part/models.py:2320 msgid "Parameter Name" msgstr "" -#: part/models.py:2339 +#: part/models.py:2327 msgid "Parameter Units" msgstr "" -#: part/models.py:2370 +#: part/models.py:2358 msgid "Parent Part" msgstr "" -#: part/models.py:2372 part/models.py:2420 part/models.py:2421 +#: part/models.py:2360 part/models.py:2408 part/models.py:2409 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Data" msgstr "Données" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Parameter Value" msgstr "" -#: part/models.py:2425 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2413 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2426 +#: part/models.py:2414 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2461 +#: part/models.py:2449 msgid "Part ID or part name" msgstr "" -#: part/models.py:2464 templates/js/translated/model_renderers.js:200 +#: part/models.py:2452 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "ID de composant" -#: part/models.py:2465 +#: part/models.py:2453 msgid "Unique part ID value" msgstr "" -#: part/models.py:2468 +#: part/models.py:2456 msgid "Part Name" msgstr "" -#: part/models.py:2472 +#: part/models.py:2460 msgid "Part IPN" msgstr "" -#: part/models.py:2473 +#: part/models.py:2461 msgid "Part IPN value" msgstr "" -#: part/models.py:2476 +#: part/models.py:2464 msgid "Level" msgstr "" -#: part/models.py:2477 +#: part/models.py:2465 msgid "BOM level" msgstr "" -#: part/models.py:2546 +#: part/models.py:2534 msgid "Select parent part" msgstr "" -#: part/models.py:2554 +#: part/models.py:2542 msgid "Sub part" msgstr "" -#: part/models.py:2555 +#: part/models.py:2543 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2561 +#: part/models.py:2549 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2563 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 +#: part/models.py:2551 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:871 templates/js/translated/bom.js:965 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2563 +#: part/models.py:2551 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2566 part/templates/part/upload_bom.html:55 +#: part/models.py:2554 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Surplus" -#: part/models.py:2567 +#: part/models.py:2555 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2570 +#: part/models.py:2558 msgid "BOM item reference" msgstr "" -#: part/models.py:2573 +#: part/models.py:2561 msgid "BOM item notes" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "Checksum" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "BOM line checksum" msgstr "" -#: part/models.py:2579 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:988 +#: part/models.py:2567 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:982 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2580 +#: part/models.py:2568 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2585 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:980 +#: part/models.py:2573 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:974 msgid "Allow Variants" msgstr "" -#: part/models.py:2586 +#: part/models.py:2574 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2664 stock/models.py:460 +#: part/models.py:2652 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2673 part/models.py:2675 +#: part/models.py:2661 part/models.py:2663 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2780 +#: part/models.py:2768 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2801 +#: part/models.py:2789 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2814 +#: part/models.py:2802 msgid "Parent BOM item" msgstr "" -#: part/models.py:2822 +#: part/models.py:2810 msgid "Substitute part" msgstr "" -#: part/models.py:2833 +#: part/models.py:2825 msgid "Part 1" msgstr "" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Part 2" msgstr "" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Select Related Part" msgstr "" -#: part/models.py:2868 -msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" +#: part/models.py:2847 +msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 +#: part/models.py:2851 +msgid "Duplicate relationship already exists" +msgstr "" + +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "Devise d'achat de l'item" -#: part/serializers.py:794 +#: part/serializers.py:796 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:804 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:805 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:810 msgid "Include Inherited" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:811 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:816 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:817 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:820 +#: part/serializers.py:822 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:821 +#: part/serializers.py:823 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:861 +#: part/serializers.py:863 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:864 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:894 msgid "No part column specified" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:937 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:938 +#: part/serializers.py:940 msgid "No matching part found" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:943 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:950 +#: part/serializers.py:952 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:958 +#: part/serializers.py:960 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:979 +#: part/serializers.py:981 msgid "At least one BOM item is required" msgstr "" @@ -5088,10 +5135,10 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:143 -#: templates/js/translated/company.js:623 -#: templates/js/translated/company.js:882 +#: templates/js/translated/company.js:608 +#: templates/js/translated/company.js:867 #: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:658 +#: templates/js/translated/part.js:625 templates/js/translated/part.js:702 msgid "Inactive" msgstr "" @@ -5120,13 +5167,13 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1009 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1003 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/part.js:520 -#: templates/js/translated/part.js:540 templates/js/translated/part.js:1233 -#: templates/js/translated/part.js:1405 templates/js/translated/part.js:1421 +#: part/templates/part/part_base.html:238 templates/js/translated/part.js:564 +#: templates/js/translated/part.js:584 templates/js/translated/part.js:1277 +#: templates/js/translated/part.js:1449 templates/js/translated/part.js:1465 msgid "Building" msgstr "" @@ -5143,7 +5190,7 @@ msgstr "Dernier numéro de série" msgid "Search for serial number" msgstr "Rechercher un numéro de série" -#: part/templates/part/part_base.html:443 part/templates/part/prices.html:147 +#: part/templates/part/part_base.html:443 part/templates/part/prices.html:149 msgid "Calculate" msgstr "Calculer" @@ -5161,54 +5208,55 @@ msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:106 -#: part/templates/part/prices.html:123 +#: part/templates/part/part_pricing.html:103 +#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 +#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:104 -#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:111 -#: part/templates/part/prices.html:128 +#: part/templates/part/part_pricing.html:107 +#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 +#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 +#: part/templates/part/prices.html:130 msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:963 +#: templates/js/translated/bom.js:957 msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:246 +#: part/templates/part/prices.html:248 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 msgid "Unit Purchase Price" msgstr "Prix d’achat unitaire" -#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:89 +#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:96 +#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:105 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/prices.html:107 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:128 -#: part/templates/part/prices.html:137 +#: part/templates/part/part_pricing.html:131 +#: part/templates/part/prices.html:139 msgid "No pricing information is available for this part." msgstr "" @@ -5232,43 +5280,6 @@ msgstr "Tester le modèle" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:9 -#, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" -"
Disable the \"Active\" part attribute and re-try.\n" -" " -msgstr "" - -#: part/templates/part/partial_delete.html:17 -#, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" -msgstr "" - -#: part/templates/part/partial_delete.html:22 -#, python-format -msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" -msgstr "" - -#: part/templates/part/partial_delete.html:32 -#, python-format -msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:43 -#, python-format -msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:54 -#, python-format -msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:67 -#, python-format -msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." -msgstr "" - #: part/templates/part/prices.html:19 msgid "Pricing ranges" msgstr "Gammes de prix" @@ -5285,66 +5296,58 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:120 +#: part/templates/part/prices.html:122 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:123 msgid "Show sale price" msgstr "Afficher le prix de vente" -#: part/templates/part/prices.html:143 +#: part/templates/part/prices.html:145 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:957 +#: part/templates/part/prices.html:160 templates/js/translated/bom.js:951 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:159 part/templates/part/prices.html:180 -#: part/templates/part/prices.html:204 part/templates/part/prices.html:234 -#: part/templates/part/prices.html:260 part/templates/part/prices.html:289 +#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 +#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 +#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 msgid "Jump to overview" msgstr "Aller à la vue d'ensemble" -#: part/templates/part/prices.html:184 +#: part/templates/part/prices.html:186 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:193 +#: part/templates/part/prices.html:195 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:203 +#: part/templates/part/prices.html:205 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:218 +#: part/templates/part/prices.html:220 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:233 +#: part/templates/part/prices.html:235 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:259 +#: part/templates/part/prices.html:261 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:300 +#: part/templates/part/prices.html:302 msgid "No sale pice history available for this part." msgstr "" -#: part/templates/part/set_category.html:9 -msgid "Set category for the following parts" -msgstr "" - -#: part/templates/part/set_category.html:32 -msgid "Remove part" -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543 -#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:587 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:1469 msgid "No Stock" msgstr "" @@ -5407,56 +5410,39 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:74 -msgid "Set Part Category" -msgstr "" - -#: part/views.py:122 -#, python-brace-format -msgid "Set category for {n} parts" -msgstr "" - -#: part/views.py:193 +#: part/views.py:118 msgid "Match References" msgstr "" -#: part/views.py:494 +#: part/views.py:419 msgid "None" msgstr "Aucun" -#: part/views.py:556 +#: part/views.py:481 msgid "Part QR Code" msgstr "" -#: part/views.py:650 +#: part/views.py:575 msgid "Select Part Image" msgstr "" -#: part/views.py:676 +#: part/views.py:601 msgid "Updated part image" msgstr "" -#: part/views.py:679 +#: part/views.py:604 msgid "Part image not found" msgstr "" -#: part/views.py:768 -msgid "Confirm Part Deletion" -msgstr "" - -#: part/views.py:776 -msgid "Part was deleted" -msgstr "" - -#: part/views.py:785 +#: part/views.py:693 msgid "Part Pricing" msgstr "" -#: part/views.py:976 +#: part/views.py:884 msgid "Delete Part Category" msgstr "" -#: part/views.py:983 +#: part/views.py:891 msgid "Part category was deleted" msgstr "" @@ -5516,21 +5502,21 @@ msgstr "Code-barres associé à l'article en stock" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:28 +#: plugin/builtin/integration/core_notifications.py:29 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 +#: plugin/builtin/integration/core_notifications.py:30 msgid "Integrated outgoing notificaton methods" msgstr "" -#: 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:34 #: plugin/builtin/integration/core_notifications.py:53 +msgid "Enable email notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:35 +#: plugin/builtin/integration/core_notifications.py:54 msgid "Allow sending of emails for event notifications" msgstr "" @@ -5646,15 +5632,19 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:166 +#: report/api.py:179 msgid "No valid objects provided to template" msgstr "Aucun objet valide n'a été fourni au modèle" -#: report/api.py:198 report/api.py:239 +#: report/api.py:215 report/api.py:256 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" +#: report/api.py:359 +msgid "Test report" +msgstr "" + #: report/models.py:152 msgid "Template name" msgstr "Nom du modèle" @@ -5757,7 +5747,7 @@ msgstr "" #: 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:3229 -#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:434 msgid "Serial Number" msgstr "Numéro de série" @@ -5766,19 +5756,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2068 +#: stock/models.py:2072 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2074 +#: stock/models.py:2078 msgid "Result" msgstr "Résultat" #: 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:1669 templates/js/translated/stock.js:2340 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2350 msgid "Date" msgstr "" @@ -5796,20 +5786,20 @@ msgid "Installed Items" 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:2589 +#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724 +#: templates/js/translated/stock.js:2599 msgid "Serial" msgstr "" -#: stock/api.py:504 +#: stock/api.py:505 msgid "Quantity is required" msgstr "" -#: stock/api.py:511 +#: stock/api.py:512 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:536 +#: stock/api.py:537 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5917,7 +5907,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1826 msgid "Expiry Date" msgstr "" @@ -5971,79 +5961,79 @@ msgstr "La quantité ne correspond pas au nombre de numéros de série" msgid "Serial numbers already exist: {exists}" msgstr "Les numéros de série existent déja : {exists}" -#: stock/models.py:1321 +#: stock/models.py:1325 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1324 +#: stock/models.py:1328 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1327 +#: stock/models.py:1331 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1334 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1333 +#: stock/models.py:1337 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1340 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1343 stock/serializers.py:908 +#: stock/models.py:1347 stock/serializers.py:895 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1347 +#: stock/models.py:1351 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1355 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1359 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1524 +#: stock/models.py:1528 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1986 +#: stock/models.py:1990 msgid "Entry notes" msgstr "" -#: stock/models.py:2044 +#: stock/models.py:2048 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2050 +#: stock/models.py:2054 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2069 +#: stock/models.py:2073 msgid "Test name" msgstr "" -#: stock/models.py:2075 +#: stock/models.py:2079 msgid "Test result" msgstr "" -#: stock/models.py:2081 +#: stock/models.py:2085 msgid "Test output value" msgstr "" -#: stock/models.py:2088 +#: stock/models.py:2092 msgid "Test result attachment" msgstr "" -#: stock/models.py:2094 +#: stock/models.py:2098 msgid "Test notes" msgstr "" @@ -6064,7 +6054,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "Entrez les numéros de série pour les nouveaux articles" -#: stock/serializers.py:309 stock/serializers.py:865 stock/serializers.py:1098 +#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 msgid "Destination stock location" msgstr "" @@ -6104,63 +6094,63 @@ msgstr "" msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:707 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:724 +#: stock/serializers.py:711 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:728 +#: stock/serializers.py:715 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:759 +#: stock/serializers.py:746 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:765 +#: stock/serializers.py:752 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:773 +#: stock/serializers.py:760 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:783 stock/serializers.py:1014 +#: stock/serializers.py:770 stock/serializers.py:1001 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:872 +#: stock/serializers.py:859 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:877 +#: stock/serializers.py:864 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:878 +#: stock/serializers.py:865 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:883 +#: stock/serializers.py:870 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:884 +#: stock/serializers.py:871 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:894 +#: stock/serializers.py:881 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:976 +#: stock/serializers.py:963 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1004 +#: stock/serializers.py:991 msgid "Stock transaction notes" msgstr "" @@ -6185,7 +6175,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:298 msgid "Delete Test Data" msgstr "" @@ -6197,11 +6187,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2733 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2743 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:292 templates/js/translated/stock.js:1455 +#: stock/templates/stock/item.html:290 +msgid "Delete all test results for this stock item" +msgstr "" + +#: stock/templates/stock/item.html:323 templates/js/translated/stock.js:1465 msgid "Add Test Result" msgstr "" @@ -6388,7 +6382,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/stock.js:1842 msgid "Last Updated" msgstr "" @@ -6529,7 +6523,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:182 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:144 msgid "Convert Stock Item" msgstr "" @@ -6550,31 +6544,19 @@ msgstr "" msgid "This action cannot be easily undone" msgstr "" -#: stock/views.py:113 +#: stock/views.py:111 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:131 -msgid "Delete All Test Data" -msgstr "" - -#: stock/views.py:149 -msgid "Confirm test data deletion" -msgstr "" - -#: stock/views.py:150 -msgid "Check the confirmation box" -msgstr "Cocher la case de confirmation" - -#: stock/views.py:165 +#: stock/views.py:127 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:216 +#: stock/views.py:178 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:229 +#: stock/views.py:191 msgid "Delete Stock Item" msgstr "" @@ -7317,8 +7299,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:56 templates/js/translated/modals.js:595 -#: templates/js/translated/modals.js:689 templates/js/translated/modals.js:997 +#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 +#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 #: templates/js/translated/order.js:928 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7390,6 +7372,10 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:630 +msgid "Confirm" +msgstr "Confirmer" + #: templates/account/email_confirm.html:27 #, python-format msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." @@ -7562,7 +7548,7 @@ msgstr "Ajouter une pièce jointe" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:112 msgid "Delete Attachments" msgstr "" @@ -7596,15 +7582,15 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1425 +#: templates/js/translated/bom.js:1419 msgid "Required Quantity" msgstr "Quantité requise" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: 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/bom.js:884 templates/js/translated/build.js:1787 +#: templates/js/translated/build.js:2650 templates/js/translated/part.js:571 +#: templates/js/translated/part.js:574 #: templates/js/translated/table_filters.js:178 msgid "Available" msgstr "Disponible" @@ -7622,6 +7608,13 @@ msgstr "" msgid "Minimum Quantity" msgstr "" +#: templates/email/new_order_assigned.html:9 +#: templates/email/overdue_build_order.html:9 +#: templates/email/overdue_purchase_order.html:9 +#: templates/email/overdue_sales_order.html:9 +msgid "Click on the following link to view this order" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -7638,91 +7631,91 @@ msgstr "Le serveur distant doit être accessible" msgid "Remote image must not exceed maximum allowable file size" msgstr "L'image distante ne doit pas excéder la taille maximale autorisée de fichier" -#: templates/js/translated/api.js:235 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1073 msgid "No Response" msgstr "Aucune réponse" -#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1074 msgid "No response from the InvenTree server" msgstr "Aucune réponse du serveur InvenTree" -#: templates/js/translated/api.js:242 +#: templates/js/translated/api.js:202 msgid "Error 400: Bad request" msgstr "Erreur 400: Mauvaise requête" -#: templates/js/translated/api.js:243 +#: templates/js/translated/api.js:203 msgid "API request returned error code 400" msgstr "La requête de l'API a retourné le code d'erreur 400" -#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1083 msgid "Error 401: Not Authenticated" msgstr "Erreur 401: non authentifié" -#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1084 msgid "Authentication credentials not supplied" msgstr "Informations d’authentification non fournies" -#: templates/js/translated/api.js:252 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1088 msgid "Error 403: Permission Denied" msgstr "Erreur 403: Permission refusée" -#: templates/js/translated/api.js:253 templates/js/translated/modals.js:1083 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1089 msgid "You do not have the required permissions to access this function" msgstr "Vous n'avez pas les autorisations requises pour accéder à cette fonction" -#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1093 msgid "Error 404: Resource Not Found" msgstr "Erreur 404: Ressource introuvable" -#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1088 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1094 msgid "The requested resource could not be located on the server" msgstr "La ressource demandée n'a pas pu être trouvée sur le serveur" -#: templates/js/translated/api.js:262 +#: templates/js/translated/api.js:222 msgid "Error 405: Method Not Allowed" msgstr "Erreur 405: Méthode non autorisée" -#: templates/js/translated/api.js:263 +#: templates/js/translated/api.js:223 msgid "HTTP method not allowed at URL" msgstr "Méthode HTTP non autorisée à l'adresse URL" -#: templates/js/translated/api.js:267 templates/js/translated/modals.js:1092 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1098 msgid "Error 408: Timeout" msgstr "Erreur 408: Délai dépassé" -#: templates/js/translated/api.js:268 templates/js/translated/modals.js:1093 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1099 msgid "Connection timeout while requesting data from server" msgstr "Délai de connexion dépassé lors de la demande de données depuis le serveur" -#: templates/js/translated/api.js:271 +#: templates/js/translated/api.js:231 msgid "Unhandled Error Code" msgstr "Code d'erreur non géré" -#: templates/js/translated/api.js:272 +#: templates/js/translated/api.js:232 msgid "Error code" msgstr "Code d’erreur" -#: templates/js/translated/attachment.js:96 +#: templates/js/translated/attachment.js:98 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:156 +#: templates/js/translated/attachment.js:152 msgid "No attachments found" msgstr "Aucune pièce jointe trouvée" -#: templates/js/translated/attachment.js:180 +#: templates/js/translated/attachment.js:176 msgid "Edit Attachment" msgstr "Modifier la pièce jointe" -#: templates/js/translated/attachment.js:246 +#: templates/js/translated/attachment.js:242 msgid "Upload Date" msgstr "Date d'upload" -#: templates/js/translated/attachment.js:262 +#: templates/js/translated/attachment.js:264 msgid "Edit attachment" msgstr "Modifier la pièce jointe" -#: templates/js/translated/attachment.js:269 +#: templates/js/translated/attachment.js:271 msgid "Delete attachment" msgstr "Supprimer la pièce jointe" @@ -7755,7 +7748,7 @@ msgid "Unknown response from server" msgstr "Réponse inconnue du serveur" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "Invalid server response" msgstr "Réponse du serveur invalide" @@ -7783,7 +7776,7 @@ msgstr "Ceci supprimera l'association entre cet article de stock et le code-barr msgid "Unlink" msgstr "Délier" -#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999 +#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:998 msgid "Remove stock item" msgstr "Supprimer l'article de stock" @@ -7918,89 +7911,89 @@ msgstr "" msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:682 +#: templates/js/translated/bom.js:684 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:697 +#: templates/js/translated/bom.js:699 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:824 +#: templates/js/translated/bom.js:818 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:834 +#: templates/js/translated/bom.js:828 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:838 templates/js/translated/build.js:1769 +#: templates/js/translated/bom.js:832 templates/js/translated/build.js:1769 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/bom.js:900 templates/js/translated/build.js:1814 #: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:910 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:904 templates/js/translated/build.js:1818 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:912 templates/js/translated/build.js:1820 -#: templates/js/translated/part.js:690 +#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1820 +#: templates/js/translated/part.js:734 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:914 templates/js/translated/build.js:1822 +#: templates/js/translated/bom.js:908 templates/js/translated/build.js:1822 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:928 +#: templates/js/translated/bom.js:922 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:943 +#: templates/js/translated/bom.js:937 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:950 +#: templates/js/translated/bom.js:944 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:999 templates/js/translated/bom.js:1090 +#: templates/js/translated/bom.js:993 templates/js/translated/bom.js:1084 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1061 +#: templates/js/translated/bom.js:1055 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1063 +#: templates/js/translated/bom.js:1057 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1065 +#: templates/js/translated/bom.js:1059 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1067 templates/js/translated/bom.js:1228 +#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1222 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1069 +#: templates/js/translated/bom.js:1063 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1164 templates/js/translated/build.js:1615 +#: templates/js/translated/bom.js:1158 templates/js/translated/build.js:1615 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1408 templates/js/translated/build.js:1753 +#: templates/js/translated/bom.js:1402 templates/js/translated/build.js:1753 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1430 +#: templates/js/translated/bom.js:1424 msgid "Inherited from parent BOM" msgstr "" @@ -8040,13 +8033,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91 -#: templates/js/translated/stock.js:181 +#: templates/js/translated/build.js:259 templates/js/translated/stock.js:90 +#: templates/js/translated/stock.js:180 msgid "Next available serial number" msgstr "Prochain numéro de série disponible" -#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93 -#: templates/js/translated/stock.js:183 +#: templates/js/translated/build.js:261 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:182 msgid "Latest serial number" msgstr "Dernier numéro de série" @@ -8259,9 +8252,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: 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 +#: templates/js/translated/build.js:2448 templates/js/translated/part.js:1358 +#: templates/js/translated/part.js:1825 templates/js/translated/stock.js:1629 +#: templates/js/translated/stock.js:2287 msgid "Select" msgstr "" @@ -8273,7 +8266,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2519 +#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2529 msgid "No user information" msgstr "Pas d'informations sur l'utilisateur" @@ -8285,107 +8278,107 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:169 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:168 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:157 templates/js/translated/order.js:506 +#: templates/js/translated/company.js:156 templates/js/translated/order.js:506 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:185 +#: templates/js/translated/company.js:184 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:200 +#: templates/js/translated/company.js:199 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:249 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:263 +#: templates/js/translated/company.js:264 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:342 +#: templates/js/translated/company.js:336 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:413 msgid "Parts Supplied" msgstr "Composantes fournies" -#: templates/js/translated/company.js:428 +#: templates/js/translated/company.js:422 msgid "Parts Manufactured" msgstr "Composantes fabriquées" -#: templates/js/translated/company.js:443 +#: templates/js/translated/company.js:437 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:478 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:492 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:526 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:548 +#: templates/js/translated/company.js:539 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:595 +#: templates/js/translated/company.js:580 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:615 -#: templates/js/translated/company.js:874 templates/js/translated/part.js:565 -#: templates/js/translated/part.js:650 +#: templates/js/translated/company.js:600 +#: templates/js/translated/company.js:859 templates/js/translated/part.js:609 +#: templates/js/translated/part.js:694 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:619 -#: templates/js/translated/company.js:878 templates/js/translated/part.js:569 -#: templates/js/translated/part.js:654 +#: templates/js/translated/company.js:604 +#: templates/js/translated/company.js:863 templates/js/translated/part.js:613 +#: templates/js/translated/part.js:698 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:747 templates/js/translated/part.js:757 +#: templates/js/translated/company.js:732 templates/js/translated/part.js:801 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:799 +#: templates/js/translated/company.js:769 templates/js/translated/part.js:843 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:785 templates/js/translated/part.js:800 +#: templates/js/translated/company.js:770 templates/js/translated/part.js:844 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:804 templates/js/translated/part.js:817 +#: templates/js/translated/company.js:789 templates/js/translated/part.js:861 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:815 templates/js/translated/part.js:829 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:873 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:854 +#: templates/js/translated/company.js:839 msgid "No supplier parts found" msgstr "" @@ -8448,36 +8441,36 @@ msgstr "" msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:756 +#: templates/js/translated/forms.js:757 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1248 templates/modals.html:19 +#: templates/js/translated/forms.js:1249 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1681 +#: templates/js/translated/forms.js:1682 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1896 templates/search.html:29 +#: templates/js/translated/forms.js:1897 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2149 +#: templates/js/translated/forms.js:2150 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2627 +#: templates/js/translated/forms.js:2628 msgid "Select Columns" msgstr "" @@ -8498,7 +8491,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1023 +#: templates/js/translated/stock.js:1022 msgid "Select Stock Items" msgstr "" @@ -8552,12 +8545,12 @@ msgid "Select Label Template" msgstr "" #: templates/js/translated/modals.js:82 templates/js/translated/modals.js:142 -#: templates/js/translated/modals.js:621 +#: templates/js/translated/modals.js:627 msgid "Cancel" msgstr "Annuler" #: 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/js/translated/modals.js:694 templates/js/translated/modals.js:1002 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" @@ -8566,47 +8559,47 @@ msgstr "" msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:403 +#: templates/js/translated/modals.js:421 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:562 +#: templates/js/translated/modals.js:568 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:620 +#: templates/js/translated/modals.js:626 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:677 +#: templates/js/translated/modals.js:683 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:960 +#: templates/js/translated/modals.js:966 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1072 +#: templates/js/translated/modals.js:1078 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1073 +#: templates/js/translated/modals.js:1079 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1096 +#: templates/js/translated/modals.js:1102 msgid "Error requesting form data" msgstr "" @@ -8656,11 +8649,11 @@ msgstr "" msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:259 +#: templates/js/translated/notification.js:260 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:300 templates/notifications.html:10 +#: templates/js/translated/notification.js:302 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" @@ -8804,7 +8797,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2080 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2090 msgid "Stock Status" msgstr "" @@ -8828,7 +8821,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1602 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1602 templates/js/translated/part.js:914 msgid "No purchase orders found" msgstr "" @@ -8863,7 +8856,7 @@ msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 #: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 -#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 +#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2397 msgid "Unit Price" msgstr "" @@ -8873,11 +8866,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:1993 templates/js/translated/order.js:3525 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:1023 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1069 msgid "Receive line item" msgstr "" @@ -8998,7 +8991,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1535 +#: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "Livré au client" @@ -9138,165 +9131,209 @@ msgstr "Pièce modifiée" msgid "Create Part Variant" msgstr "Créer une variante de pièce" +#: templates/js/translated/part.js:405 +msgid "Active Part" +msgstr "" + +#: templates/js/translated/part.js:406 +msgid "Part cannot be deleted as it is currently active" +msgstr "" + +#: templates/js/translated/part.js:420 +msgid "Deleting this part cannot be reversed" +msgstr "" + +#: templates/js/translated/part.js:422 +msgid "Any stock items for this part will be deleted" +msgstr "" + #: templates/js/translated/part.js:423 +msgid "This part will be removed from any Bills of Material" +msgstr "" + +#: templates/js/translated/part.js:424 +msgid "All manufacturer and supplier information for this part will be deleted" +msgstr "" + +#: templates/js/translated/part.js:431 +msgid "Delete Part" +msgstr "" + +#: templates/js/translated/part.js:467 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:425 +#: templates/js/translated/part.js:469 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:474 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:476 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:493 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:503 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:506 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:487 +#: templates/js/translated/part.js:531 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:513 templates/js/translated/part.js:1397 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1441 #: templates/js/translated/table_filters.js:452 msgid "Low stock" msgstr "Stock bas" -#: templates/js/translated/part.js:523 templates/js/translated/part.js:1409 +#: templates/js/translated/part.js:567 templates/js/translated/part.js:1453 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:557 templates/js/translated/part.js:642 +#: templates/js/translated/part.js:601 templates/js/translated/part.js:686 msgid "Trackable part" msgstr "Pièce traçable" -#: templates/js/translated/part.js:561 templates/js/translated/part.js:646 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:690 msgid "Virtual part" msgstr "Pièce virtuelle" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:617 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:577 +#: templates/js/translated/part.js:621 msgid "Salable part" msgstr "Pièce vendable" -#: templates/js/translated/part.js:705 +#: templates/js/translated/part.js:749 msgid "No variants found" msgstr "Aucune variante trouvée" -#: templates/js/translated/part.js:1095 +#: templates/js/translated/part.js:1139 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1119 +#: templates/js/translated/part.js:1163 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1184 templates/js/translated/part.js:1480 +#: templates/js/translated/part.js:1228 templates/js/translated/part.js:1524 msgid "No parts found" msgstr "Aucune pièce trouvée" -#: templates/js/translated/part.js:1223 +#: templates/js/translated/part.js:1267 msgid "Not available" msgstr "" -#: templates/js/translated/part.js:1374 +#: templates/js/translated/part.js:1418 msgid "No category" msgstr "Aucune catégorie" -#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664 -#: templates/js/translated/stock.js:2238 +#: templates/js/translated/part.js:1548 templates/js/translated/part.js:1760 +#: templates/js/translated/stock.js:2248 msgid "Display as list" msgstr "Afficher sous forme de liste" -#: templates/js/translated/part.js:1520 +#: templates/js/translated/part.js:1564 msgid "Display as grid" msgstr "Afficher sous forme de grille" -#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2257 +#: templates/js/translated/part.js:1630 +msgid "Set the part category for the selected parts" +msgstr "" + +#: templates/js/translated/part.js:1635 +msgid "Set Part Category" +msgstr "" + +#: templates/js/translated/part.js:1640 +msgid "Select Part Category" +msgstr "" + +#: templates/js/translated/part.js:1653 +msgid "Category is required" +msgstr "" + +#: templates/js/translated/part.js:1779 templates/js/translated/stock.js:2267 msgid "Display as tree" msgstr "Afficher sous forme d'arborescence" -#: templates/js/translated/part.js:1747 +#: templates/js/translated/part.js:1843 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2301 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2311 msgid "Path" msgstr "Chemin d'accès" -#: templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:1901 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1233 +#: templates/js/translated/part.js:1952 templates/js/translated/stock.js:1243 msgid "Edit test result" msgstr "Modifier le résultat du test" -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1234 -#: templates/js/translated/stock.js:1493 +#: templates/js/translated/part.js:1953 templates/js/translated/stock.js:1244 +#: templates/js/translated/stock.js:1503 msgid "Delete test result" msgstr "Supprimer le résultat du test" -#: templates/js/translated/part.js:1863 +#: templates/js/translated/part.js:1959 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1885 +#: templates/js/translated/part.js:1981 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:1995 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1924 +#: templates/js/translated/part.js:2020 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1981 +#: templates/js/translated/part.js:2077 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1982 +#: templates/js/translated/part.js:2078 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:2096 +#: templates/js/translated/part.js:2192 msgid "Current Stock" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2225 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2155 +#: templates/js/translated/part.js:2251 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2225 +#: templates/js/translated/part.js:2321 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:2244 +#: templates/js/translated/part.js:2340 msgid "Single Price Difference" msgstr "" @@ -9378,360 +9415,360 @@ msgstr "" msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:72 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:101 +#: templates/js/translated/stock.js:100 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:109 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:139 +#: templates/js/translated/stock.js:138 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:153 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:194 +#: templates/js/translated/stock.js:193 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:233 +#: templates/js/translated/stock.js:232 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:239 +#: templates/js/translated/stock.js:238 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "Entrez les numéros de série pour le nouveau stock (ou laisser vide)" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:303 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:324 +#: templates/js/translated/stock.js:323 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:344 +#: templates/js/translated/stock.js:343 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:394 +#: templates/js/translated/stock.js:393 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:407 +#: templates/js/translated/stock.js:406 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:431 msgid "Find Serial Number" msgstr "Trouver un numéro de série" -#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436 msgid "Enter serial number" msgstr "Entrer le numéro de série" -#: templates/js/translated/stock.js:453 +#: templates/js/translated/stock.js:452 msgid "Enter a serial number" msgstr "Entrer un numéro de série" -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:472 msgid "No matching serial number" msgstr "Aucun numéro de série correspondant" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:481 msgid "More than one matching result found" msgstr "Plus d'un résultat correspondant trouvé" -#: templates/js/translated/stock.js:605 +#: templates/js/translated/stock.js:604 msgid "Confirm stock assignment" msgstr "Confirmer l'assignation de stock" -#: templates/js/translated/stock.js:606 +#: templates/js/translated/stock.js:605 msgid "Assign Stock to Customer" msgstr "Assigner le stock au client" -#: templates/js/translated/stock.js:683 +#: templates/js/translated/stock.js:682 msgid "Warning: Merge operation cannot be reversed" msgstr "Attention : l'opération de fusion est irréversible" -#: templates/js/translated/stock.js:684 +#: templates/js/translated/stock.js:683 msgid "Some information will be lost when merging stock items" msgstr "Certaines informations seront perdues lors de la fusion des articles en stock" -#: templates/js/translated/stock.js:686 +#: templates/js/translated/stock.js:685 msgid "Stock transaction history will be deleted for merged items" msgstr "L'historique des transactions de stock sera supprimé pour les éléments fusionnés" -#: templates/js/translated/stock.js:687 +#: templates/js/translated/stock.js:686 msgid "Supplier part information will be deleted for merged items" msgstr "Les informations sur la pièce du fournisseur seront supprimées pour les éléments fusionnés" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:772 msgid "Confirm stock item merge" msgstr "Confirmer la fusion de l'article en stock" -#: templates/js/translated/stock.js:774 +#: templates/js/translated/stock.js:773 msgid "Merge Stock Items" msgstr "Fusionner les articles en stock" -#: templates/js/translated/stock.js:869 +#: templates/js/translated/stock.js:868 msgid "Transfer Stock" msgstr "Transférer le stock" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:869 msgid "Move" msgstr "Transférer" -#: templates/js/translated/stock.js:876 +#: templates/js/translated/stock.js:875 msgid "Count Stock" msgstr "Compter le stock" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:876 msgid "Count" msgstr "Compter" -#: templates/js/translated/stock.js:881 +#: templates/js/translated/stock.js:880 msgid "Remove Stock" msgstr "Supprimer du stock" -#: templates/js/translated/stock.js:882 +#: templates/js/translated/stock.js:881 msgid "Take" msgstr "Supprimer" -#: templates/js/translated/stock.js:886 +#: templates/js/translated/stock.js:885 msgid "Add Stock" msgstr "Ajouter du stock" -#: templates/js/translated/stock.js:887 users/models.py:215 +#: templates/js/translated/stock.js:886 users/models.py:215 msgid "Add" msgstr "Ajouter" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Delete Stock" msgstr "Supprimer le stock" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Quantity cannot be adjusted for serialized stock" msgstr "La quantité ne peut pas être ajustée pour un stock sérialisé" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Specify stock quantity" msgstr "Spécifiez la quantité du stock" -#: templates/js/translated/stock.js:1024 +#: templates/js/translated/stock.js:1023 msgid "You must select at least one available stock item" msgstr "Vous devez sélectionner au moins un article en stock disponible" -#: templates/js/translated/stock.js:1047 +#: templates/js/translated/stock.js:1046 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1172 +#: templates/js/translated/stock.js:1182 msgid "PASS" msgstr "RÉUSSI" -#: templates/js/translated/stock.js:1174 +#: templates/js/translated/stock.js:1184 msgid "FAIL" msgstr "ÉCHEC" -#: templates/js/translated/stock.js:1179 +#: templates/js/translated/stock.js:1189 msgid "NO RESULT" msgstr "AUCUN RÉSULTAT" -#: templates/js/translated/stock.js:1226 +#: templates/js/translated/stock.js:1236 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1229 +#: templates/js/translated/stock.js:1239 msgid "Add test result" msgstr "Ajouter un résultat de test" -#: templates/js/translated/stock.js:1255 +#: templates/js/translated/stock.js:1265 msgid "No test results found" msgstr "Aucun résultat de test trouvé" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1321 msgid "Test Date" msgstr "Date du test" -#: templates/js/translated/stock.js:1476 +#: templates/js/translated/stock.js:1486 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1498 +#: templates/js/translated/stock.js:1508 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1527 +#: templates/js/translated/stock.js:1537 msgid "In production" msgstr "En production" -#: templates/js/translated/stock.js:1531 +#: templates/js/translated/stock.js:1541 msgid "Installed in Stock Item" msgstr "Article en stock installé dans un autre article en stock" -#: templates/js/translated/stock.js:1539 +#: templates/js/translated/stock.js:1549 msgid "Assigned to Sales Order" msgstr "Assigné à une commande de vente" -#: templates/js/translated/stock.js:1545 +#: templates/js/translated/stock.js:1555 msgid "No stock location set" msgstr "Aucun emplacement de stock défini" -#: templates/js/translated/stock.js:1712 +#: templates/js/translated/stock.js:1722 msgid "Stock item is in production" msgstr "L'article de stock est en production" -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1727 msgid "Stock item assigned to sales order" msgstr "L'article en stock a été assigné à une commande de vente" -#: templates/js/translated/stock.js:1720 +#: templates/js/translated/stock.js:1730 msgid "Stock item assigned to customer" msgstr "L'article en stock a été assigné à un client" -#: templates/js/translated/stock.js:1723 +#: templates/js/translated/stock.js:1733 msgid "Serialized stock item has been allocated" msgstr "L'article de stock sérialisé a été alloué" -#: templates/js/translated/stock.js:1725 +#: templates/js/translated/stock.js:1735 msgid "Stock item has been fully allocated" msgstr "L'article de stock a été complètement alloué" -#: templates/js/translated/stock.js:1727 +#: templates/js/translated/stock.js:1737 msgid "Stock item has been partially allocated" msgstr "L'article de stock a été partiellement alloué" -#: templates/js/translated/stock.js:1730 +#: templates/js/translated/stock.js:1740 msgid "Stock item has been installed in another item" msgstr "L'article en stock a été installé dans un autre article" -#: templates/js/translated/stock.js:1734 +#: templates/js/translated/stock.js:1744 msgid "Stock item has expired" msgstr "L'article en stock a expiré" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1746 msgid "Stock item will expire soon" msgstr "L'article en stock va bientôt expirer" -#: templates/js/translated/stock.js:1743 +#: templates/js/translated/stock.js:1753 msgid "Stock item has been rejected" msgstr "L'article de stock a été rejeté" -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1755 msgid "Stock item is lost" msgstr "L'article de stock est perdu" -#: templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:1757 msgid "Stock item is destroyed" msgstr "L'article de stock est détruit" -#: templates/js/translated/stock.js:1751 +#: templates/js/translated/stock.js:1761 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "Epuisé" -#: templates/js/translated/stock.js:1802 +#: templates/js/translated/stock.js:1812 msgid "Stocktake" msgstr "Prise d'inventaire" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1894 msgid "Supplier part not specified" msgstr "Pièce de fournisseur non précisée" -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1932 msgid "No stock items matching query" msgstr "Aucun article de stock ne correspond à la requête" -#: templates/js/translated/stock.js:2095 +#: templates/js/translated/stock.js:2105 msgid "Set Stock Status" msgstr "Définir l'état du stock" -#: templates/js/translated/stock.js:2109 +#: templates/js/translated/stock.js:2119 msgid "Select Status Code" msgstr "Sélectionner le code de statut" -#: templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2120 msgid "Status code must be selected" msgstr "Le code de statut doit être sélectionné" -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2375 msgid "Details" msgstr "Détails" -#: templates/js/translated/stock.js:2381 +#: templates/js/translated/stock.js:2391 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2403 +#: templates/js/translated/stock.js:2413 msgid "Location no longer exists" msgstr "L'emplacement n'existe plus" -#: templates/js/translated/stock.js:2422 +#: templates/js/translated/stock.js:2432 msgid "Purchase order no longer exists" msgstr "La commande d'achat n'existe plus" -#: templates/js/translated/stock.js:2441 +#: templates/js/translated/stock.js:2451 msgid "Customer no longer exists" msgstr "Le client n'existe plus" -#: templates/js/translated/stock.js:2459 +#: templates/js/translated/stock.js:2469 msgid "Stock item no longer exists" msgstr "L'article de stock n'existe plus" -#: templates/js/translated/stock.js:2482 +#: templates/js/translated/stock.js:2492 msgid "Added" msgstr "Ajouté" -#: templates/js/translated/stock.js:2490 +#: templates/js/translated/stock.js:2500 msgid "Removed" msgstr "Supprimé" -#: templates/js/translated/stock.js:2566 +#: templates/js/translated/stock.js:2576 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2617 templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2663 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2666 +#: templates/js/translated/stock.js:2676 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2697 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2688 +#: templates/js/translated/stock.js:2698 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2690 +#: templates/js/translated/stock.js:2700 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/stock.js:2701 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2702 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2693 +#: templates/js/translated/stock.js:2703 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2716 msgid "Select part to install" msgstr "" diff --git a/InvenTree/locale/he/LC_MESSAGES/django.po b/InvenTree/locale/he/LC_MESSAGES/django.po index ca5f4aa6db..0307c0ed93 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-06-05 14:26+0000\n" -"PO-Revision-Date: 2022-06-05 14:34\n" +"POT-Creation-Date: 2022-06-06 22:59+0000\n" +"PO-Revision-Date: 2022-06-07 14:34\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:46 +#: InvenTree/api.py:49 msgid "API endpoint not found" msgstr "" @@ -29,275 +29,273 @@ msgstr "" msgid "Enter date" msgstr "הזן תאריך סיום" -#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:630 -msgid "Confirm" -msgstr "אשר" - -#: InvenTree/forms.py:134 +#: InvenTree/forms.py:117 msgid "Confirm delete" msgstr "אשר מחיקה" -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:118 msgid "Confirm item deletion" msgstr "אשר מחיקה" -#: InvenTree/forms.py:167 +#: InvenTree/forms.py:150 msgid "Enter password" msgstr "הכנס סיסמה" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:151 msgid "Enter new password" msgstr "הכנס סיסמה חדשה" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:158 msgid "Confirm password" msgstr "אישור סיסמה" -#: InvenTree/forms.py:176 +#: InvenTree/forms.py:159 msgid "Confirm new password" msgstr "אשר סיסמה חדשה" -#: InvenTree/forms.py:213 -msgid "Select Category" -msgstr "בחר קטגוריה" - -#: InvenTree/forms.py:234 +#: InvenTree/forms.py:184 msgid "Email (again)" msgstr "אימייל (שנית)" -#: InvenTree/forms.py:238 +#: InvenTree/forms.py:188 msgid "Email address confirmation" msgstr "אישור כתובת אימייל" -#: InvenTree/forms.py:259 +#: InvenTree/forms.py:209 msgid "You must type the same email each time." msgstr "חובה לרשום את אותו אימייל בכל פעם." -#: InvenTree/helpers.py:402 +#: InvenTree/helpers.py:404 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 +#: InvenTree/helpers.py:411 order/models.py:370 order/models.py:522 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:412 +#: InvenTree/helpers.py:414 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:444 +#: InvenTree/helpers.py:446 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:447 +#: InvenTree/helpers.py:449 #, python-brace-format msgid "Invalid group: {g}" msgstr "קבוצה שגויה: {g}" -#: InvenTree/helpers.py:475 +#: InvenTree/helpers.py:477 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:483 +#: InvenTree/helpers.py:485 #, python-brace-format msgid "Invalid/no group {group}" msgstr "קבוצה שגויה / לא נמצאה {group}" -#: InvenTree/helpers.py:489 +#: InvenTree/helpers.py:491 msgid "No serial numbers found" msgstr "מספרים סידוריים לא נמצאו" -#: InvenTree/helpers.py:493 +#: InvenTree/helpers.py:495 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:174 +#: InvenTree/models.py:178 msgid "Missing file" msgstr "קובץ חסר" -#: InvenTree/models.py:175 +#: InvenTree/models.py:179 msgid "Missing external link" msgstr "חסר קישור חיצוני" -#: InvenTree/models.py:187 stock/models.py:2087 -#: templates/js/translated/attachment.js:101 -#: templates/js/translated/attachment.js:198 +#: InvenTree/models.py:191 stock/models.py:2091 +#: templates/js/translated/attachment.js:103 +#: templates/js/translated/attachment.js:194 msgid "Attachment" msgstr "קובץ מצורף" -#: InvenTree/models.py:188 +#: InvenTree/models.py:192 msgid "Select file to attach" msgstr "בחר קובץ לצירוף" -#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 -#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: InvenTree/models.py:198 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:136 order/models.py:1251 #: 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 -#: templates/js/translated/part.js:1441 +#: templates/js/translated/company.js:640 +#: templates/js/translated/company.js:931 templates/js/translated/order.js:2676 +#: templates/js/translated/part.js:1485 msgid "Link" msgstr "קישור" -#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: InvenTree/models.py:199 build/models.py:320 part/models.py:796 #: stock/models.py:642 msgid "Link to external URL" msgstr "קישור חיצוני" -#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 -#: templates/js/translated/attachment.js:242 +#: InvenTree/models.py:202 templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:238 msgid "Comment" msgstr "הערה" -#: InvenTree/models.py:198 +#: InvenTree/models.py:202 msgid "File comment" msgstr "הערת קובץ" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1506 +#: common/models.py:1507 common/models.py:1735 common/models.py:1736 +#: common/models.py:1998 common/models.py:1999 part/models.py:2141 +#: part/models.py:2161 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:2523 msgid "User" msgstr "משתמש" -#: InvenTree/models.py:208 +#: InvenTree/models.py:212 msgid "upload date" msgstr "תאריך העלאה" -#: InvenTree/models.py:230 +#: InvenTree/models.py:234 msgid "Filename must not be empty" msgstr "חובה למלא שם קובץ" -#: InvenTree/models.py:253 +#: InvenTree/models.py:257 msgid "Invalid attachment directory" msgstr "תיקיית קובץ שגויה" -#: InvenTree/models.py:263 +#: InvenTree/models.py:267 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "שם הקובץ מכיל תו '{c}' שאינו חוקי" -#: InvenTree/models.py:266 +#: InvenTree/models.py:270 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:273 +#: InvenTree/models.py:277 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:280 +#: InvenTree/models.py:284 msgid "Error renaming file" msgstr "שגיאה בשינוי שם פריט" -#: InvenTree/models.py:314 +#: InvenTree/models.py:318 msgid "Invalid choice" msgstr "בחירה שגויה" -#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 #: company/models.py:354 label/models.py:101 part/models.py:739 -#: part/models.py:2331 plugin/models.py:93 report/models.py:151 +#: part/models.py:2319 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 #: templates/InvenTree/settings/plugin.html:132 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:346 -#: 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:2283 +#: templates/js/translated/company.js:530 +#: templates/js/translated/company.js:742 templates/js/translated/part.js:659 +#: templates/js/translated/part.js:811 templates/js/translated/part.js:1832 +#: templates/js/translated/stock.js:2293 msgid "Name" msgstr "שם" -#: InvenTree/models.py:340 build/models.py:197 +#: InvenTree/models.py:344 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: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:164 +#: order/models.py:134 part/models.py:762 part/templates/part/category.html:74 +#: part/templates/part/part_base.html:167 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 -#: 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/bom.js:553 templates/js/translated/bom.js:845 +#: templates/js/translated/build.js:2476 templates/js/translated/company.js:395 +#: templates/js/translated/company.js:651 +#: templates/js/translated/company.js:942 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:1676 -#: templates/js/translated/stock.js:2295 templates/js/translated/stock.js:2350 +#: templates/js/translated/part.js:718 templates/js/translated/part.js:1126 +#: templates/js/translated/part.js:1399 templates/js/translated/part.js:1851 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:1686 +#: templates/js/translated/stock.js:2305 templates/js/translated/stock.js:2360 msgid "Description" msgstr "תיאור" -#: InvenTree/models.py:341 +#: InvenTree/models.py:345 msgid "Description (optional)" msgstr "תיאור (לא חובה)" -#: InvenTree/models.py:349 +#: InvenTree/models.py:353 msgid "parent" msgstr "מקור" -#: InvenTree/serializers.py:52 part/models.py:2652 +#: InvenTree/models.py:466 +msgid "Server Error" +msgstr "" + +#: InvenTree/models.py:467 +msgid "An error has been logged by the server." +msgstr "" + +#: InvenTree/serializers.py:52 part/models.py:2640 msgid "Must be a valid number" msgstr "המספר חייב להיות תקין" -#: InvenTree/serializers.py:271 +#: InvenTree/serializers.py:263 msgid "Filename" msgstr "שם קובץ" -#: InvenTree/serializers.py:306 +#: InvenTree/serializers.py:298 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:320 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:321 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:342 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:348 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:377 +#: InvenTree/serializers.py:369 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:372 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:495 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:506 +#: InvenTree/serializers.py:498 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:583 +#: InvenTree/serializers.py:575 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:592 +#: InvenTree/serializers.py:584 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" @@ -440,7 +438,7 @@ msgstr "אבד" msgid "Returned" msgstr "הוחזר" -#: InvenTree/status_codes.py:141 order/models.py:1114 +#: InvenTree/status_codes.py:141 order/models.py:1130 #: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "נשלח" @@ -525,7 +523,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2020 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2030 msgid "Merged stock items" msgstr "" @@ -597,27 +595,27 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:522 +#: InvenTree/views.py:521 msgid "Delete Item" msgstr "מחק פריט" -#: InvenTree/views.py:571 +#: InvenTree/views.py:570 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:585 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "ערוך מידע אודות המשתמש" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:597 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "הגדר סיסמא" -#: InvenTree/views.py:618 +#: InvenTree/views.py:617 msgid "Password fields must match" msgstr "הסיסמאות מוכרחות להיות תואמות" -#: InvenTree/views.py:842 templates/navbar.html:152 +#: InvenTree/views.py:807 templates/navbar.html:152 msgid "System Information" msgstr "מידע אודות המערכת" @@ -628,6 +626,7 @@ msgstr "" #: 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/email/overdue_build_order.html:15 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "" @@ -646,12 +645,12 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:189 order/models.py:288 order/models.py:638 -#: order/models.py:916 part/models.py:2570 +#: build/models.py:189 order/models.py:293 order/models.py:654 +#: order/models.py:932 part/models.py:2558 #: 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/bom.js:690 templates/js/translated/bom.js:852 #: 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:3959 @@ -673,13 +672,12 @@ msgstr "" #: 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:2460 part/models.py:2545 part/models.py:2821 -#: part/serializers.py:793 part/templates/part/part_app_base.html:8 +#: order/models.py:1028 order/models.py:1119 part/models.py:336 +#: part/models.py:2087 part/models.py:2102 part/models.py:2121 +#: part/models.py:2139 part/models.py:2238 part/models.py:2358 +#: part/models.py:2448 part/models.py:2533 part/models.py:2809 +#: part/serializers.py:795 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 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 @@ -687,22 +685,23 @@ msgstr "" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 +#: templates/email/overdue_build_order.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:805 +#: templates/js/translated/bom.js:689 templates/js/translated/bom.js:799 #: 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/company.js:253 +#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:592 +#: templates/js/translated/company.js:851 templates/js/translated/order.js:100 #: templates/js/translated/order.js:883 templates/js/translated/order.js:1315 #: 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:1633 templates/js/translated/stock.js:2376 -#: templates/js/translated/stock.js:2571 templates/js/translated/stock.js:2705 +#: templates/js/translated/part.js:1111 templates/js/translated/part.js:1181 +#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:695 templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2386 +#: templates/js/translated/stock.js:2581 templates/js/translated/stock.js:2715 msgid "Part" msgstr "רכיב" @@ -768,12 +767,12 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:282 order/models.py:137 part/models.py:932 +#: build/models.py:282 order/models.py:138 part/models.py:932 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "" -#: build/models.py:286 order/models.py:660 +#: build/models.py:286 order/models.py:676 msgid "Target completion date" msgstr "" @@ -781,7 +780,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:290 order/models.py:331 +#: build/models.py:290 order/models.py:336 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "" @@ -799,7 +798,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:313 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:151 +#: build/templates/build/detail.html:115 order/models.py:152 #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 @@ -822,20 +821,20 @@ msgstr "" #: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 #: company/models.py:519 company/templates/company/sidebar.html:25 -#: order/models.py:155 order/models.py:918 order/models.py:1213 +#: order/models.py:156 order/models.py:934 order/models.py:1229 #: order/templates/order/po_sidebar.html:11 #: 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:713 stock/models.py:1985 stock/models.py:2093 +#: stock/models.py:713 stock/models.py:1989 stock/models.py:2097 #: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:486 -#: stock/serializers.py:772 stock/serializers.py:871 stock/serializers.py:1003 +#: stock/serializers.py:759 stock/serializers.py:858 stock/serializers.py:990 #: 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/barcode.js:100 templates/js/translated/bom.js:1038 +#: templates/js/translated/company.js:947 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 -#: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 +#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1926 msgid "Notes" msgstr "" @@ -855,44 +854,44 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1108 +#: build/models.py:1111 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1117 +#: build/models.py:1120 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1127 +#: build/models.py:1130 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1133 order/models.py:1372 +#: build/models.py:1136 order/models.py:1388 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1139 +#: build/models.py:1142 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1196 +#: build/models.py:1199 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1265 stock/templates/stock/item_base.html:177 +#: build/models.py:1268 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:1266 +#: build/models.py:1269 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 -#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:703 -#: stock/serializers.py:829 stock/templates/stock/item_base.html:10 +#: build/models.py:1285 build/serializers.py:603 order/serializers.py:996 +#: order/serializers.py:1017 stock/serializers.py:382 stock/serializers.py:690 +#: stock/serializers.py:816 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 @@ -900,22 +899,22 @@ msgstr "" #: 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:2449 +#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696 +#: templates/js/translated/stock.js:2459 msgid "Stock Item" msgstr "" -#: build/models.py:1283 +#: build/models.py:1286 msgid "Source stock item" msgstr "" -#: build/models.py:1295 build/serializers.py:183 +#: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1536 +#: build/templates/build/detail.html:34 common/models.py:1543 #: 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:68 -#: part/forms.py:83 part/forms.py:98 part/models.py:2561 +#: order/models.py:925 order/models.py:1428 order/serializers.py:1136 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 +#: part/forms.py:74 part/forms.py:89 part/models.py:2549 #: 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 @@ -926,8 +925,8 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:139 #: 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 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:691 +#: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 #: templates/js/translated/build.js:574 templates/js/translated/build.js:765 #: templates/js/translated/build.js:1175 templates/js/translated/build.js:1673 #: templates/js/translated/build.js:2086 @@ -937,23 +936,23 @@ msgstr "" #: 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: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 -#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727 -#: templates/js/translated/stock.js:2498 templates/js/translated/stock.js:2583 +#: templates/js/translated/part.js:1011 templates/js/translated/part.js:2065 +#: templates/js/translated/part.js:2296 templates/js/translated/part.js:2330 +#: templates/js/translated/part.js:2408 templates/js/translated/stock.js:402 +#: templates/js/translated/stock.js:556 templates/js/translated/stock.js:726 +#: templates/js/translated/stock.js:2508 templates/js/translated/stock.js:2593 msgid "Quantity" msgstr "כמות" -#: build/models.py:1296 +#: build/models.py:1299 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1304 +#: build/models.py:1307 msgid "Install into" msgstr "" -#: build/models.py:1305 +#: build/models.py:1308 msgid "Destination stock item" msgstr "" @@ -982,9 +981,9 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: 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:1239 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:368 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:514 +#: part/serializers.py:958 stock/models.py:470 stock/models.py:1239 #: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" @@ -997,9 +996,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 #: stock/serializers.py:297 templates/js/translated/order.js:1186 -#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:237 templates/js/translated/stock.js:403 msgid "Serial Numbers" msgstr "מספרים סידוריים" @@ -1015,7 +1014,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:552 +#: build/serializers.py:268 stock/api.py:553 msgid "The following serial numbers already exist" msgstr "" @@ -1025,16 +1024,16 @@ msgstr "" #: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 #: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:481 -#: stock/serializers.py:864 stock/serializers.py:1097 +#: stock/serializers.py:851 stock/serializers.py:1084 #: 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 #: 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:1787 templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532 +#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904 +#: templates/js/translated/stock.js:1797 templates/js/translated/stock.js:2400 msgid "Location" msgstr "" @@ -1043,12 +1042,12 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:363 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:654 +#: build/templates/build/detail.html:62 order/models.py:670 #: 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 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1772 +#: templates/js/translated/stock.js:2477 templates/js/translated/stock.js:2609 msgid "Status" msgstr "" @@ -1108,8 +1107,8 @@ msgstr "" msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:535 build/serializers.py:580 part/models.py:2679 -#: part/models.py:2813 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2667 +#: part/models.py:2801 msgid "BOM Item" msgstr "" @@ -1125,11 +1124,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:716 +#: build/serializers.py:609 stock/serializers.py:703 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:667 order/serializers.py:1052 +#: build/serializers.py:667 order/serializers.py:1054 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1146,7 +1145,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:708 order/serializers.py:1298 +#: build/serializers.py:708 order/serializers.py:1300 msgid "Allocation items must be provided" msgstr "" @@ -1178,10 +1177,19 @@ msgstr "" msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:96 +#: build/tasks.py:100 msgid "Stock required for build order" msgstr "" +#: build/tasks.py:118 +msgid "Overdue Build Order" +msgstr "" + +#: build/tasks.py:123 +#, python-brace-format +msgid "Build order {bo} is now overdue" +msgstr "" + #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 #: order/templates/order/sales_order_base.html:38 @@ -1244,13 +1252,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:922 +#: build/templates/build/detail.html:131 order/models.py:938 #: 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: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 +#: templates/js/translated/order.js:3517 templates/js/translated/part.js:1015 msgid "Target Date" msgstr "" @@ -1277,13 +1285,14 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1100 -#: order/models.py:1185 order/models.py:1320 +#: build/templates/build/detail.html:94 order/models.py:1116 +#: order/models.py:1201 order/models.py:1336 #: 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/email/overdue_sales_order.html:15 #: templates/js/translated/order.js:2436 msgid "Sales Order" msgstr "" @@ -1319,7 +1328,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1034 +#: build/templates/build/detail.html:49 order/models.py:1050 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "" @@ -1336,8 +1345,8 @@ msgstr "" #: stock/templates/stock/item_base.html:170 #: templates/js/translated/build.js:1179 #: templates/js/translated/model_renderers.js:112 -#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1776 -#: templates/js/translated/stock.js:2606 +#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:2616 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1716,7 +1725,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:820 part/models.py:2372 report/models.py:157 +#: common/models.py:820 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" @@ -1726,7 +1735,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" @@ -1880,7 +1889,7 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:968 -msgid "Test Reports" +msgid "Enable Test Reports" msgstr "" #: common/models.py:969 @@ -1888,568 +1897,576 @@ msgid "Enable generation of test reports" msgstr "" #: common/models.py:975 -msgid "Batch Code Template" +msgid "Attach Test Reports" msgstr "" #: common/models.py:976 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:981 -msgid "Stock Expiry" +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" #: common/models.py:982 -msgid "Enable stock expiry functionality" +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:983 +msgid "Template for generating default batch codes for stock items" msgstr "" #: common/models.py:988 -msgid "Sell Expired Stock" +msgid "Stock Expiry" msgstr "" #: common/models.py:989 -msgid "Allow sale of expired stock" +msgid "Enable stock expiry functionality" msgstr "" #: common/models.py:995 -msgid "Stock Stale Time" +msgid "Sell Expired Stock" msgstr "" #: common/models.py:996 -msgid "Number of days stock items are considered stale before expiring" +msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:998 -msgid "days" +#: common/models.py:1002 +msgid "Stock Stale Time" msgstr "" #: common/models.py:1003 -msgid "Build Expired Stock" +msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1004 -msgid "Allow building with expired stock" +#: common/models.py:1005 +msgid "days" msgstr "" #: common/models.py:1010 -msgid "Stock Ownership Control" +msgid "Build Expired Stock" msgstr "" #: common/models.py:1011 -msgid "Enable ownership control over stock locations and items" +msgid "Allow building with expired stock" msgstr "" #: common/models.py:1017 -msgid "Build Order Reference Prefix" +msgid "Stock Ownership Control" msgstr "" #: common/models.py:1018 -msgid "Prefix value for build order reference" -msgstr "" - -#: common/models.py:1023 -msgid "Build Order Reference Regex" +msgid "Enable ownership control over stock locations and items" msgstr "" #: common/models.py:1024 +msgid "Build Order Reference Prefix" +msgstr "" + +#: common/models.py:1025 +msgid "Prefix value for build order reference" +msgstr "" + +#: common/models.py:1030 +msgid "Build Order Reference Regex" +msgstr "" + +#: common/models.py:1031 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1029 +#: common/models.py:1036 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1041 +#: common/models.py:1048 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1042 +#: common/models.py:1049 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1048 +#: common/models.py:1055 msgid "Enable password forgot" msgstr "" -#: common/models.py:1049 +#: common/models.py:1056 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1055 +#: common/models.py:1062 msgid "Enable registration" msgstr "" -#: common/models.py:1056 +#: common/models.py:1063 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1069 msgid "Enable SSO" msgstr "" -#: common/models.py:1063 +#: common/models.py:1070 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1069 +#: common/models.py:1076 msgid "Email required" msgstr "" -#: common/models.py:1070 +#: common/models.py:1077 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1076 +#: common/models.py:1083 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1077 +#: common/models.py:1084 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1083 +#: common/models.py:1090 msgid "Mail twice" msgstr "" -#: common/models.py:1084 +#: common/models.py:1091 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1090 +#: common/models.py:1097 msgid "Password twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1098 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1097 +#: common/models.py:1104 msgid "Group on signup" msgstr "" -#: common/models.py:1098 +#: common/models.py:1105 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1104 +#: common/models.py:1111 msgid "Enforce MFA" msgstr "" -#: common/models.py:1105 +#: common/models.py:1112 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1111 +#: common/models.py:1118 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1112 +#: common/models.py:1119 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1120 +#: common/models.py:1127 msgid "Enable URL integration" msgstr "" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1136 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1136 +#: common/models.py:1143 msgid "Enable app integration" msgstr "" -#: common/models.py:1137 +#: common/models.py:1144 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1144 +#: common/models.py:1151 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1145 +#: common/models.py:1152 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1152 +#: common/models.py:1159 msgid "Enable event integration" msgstr "" -#: common/models.py:1153 +#: common/models.py:1160 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1170 common/models.py:1492 +#: common/models.py:1177 common/models.py:1499 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1192 +#: common/models.py:1199 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1193 +#: common/models.py:1200 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1199 +#: common/models.py:1206 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1200 +#: common/models.py:1207 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1213 msgid "Show latest parts" msgstr "" -#: common/models.py:1207 +#: common/models.py:1214 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1213 +#: common/models.py:1220 msgid "Recent Part Count" msgstr "" -#: common/models.py:1214 +#: common/models.py:1221 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1220 +#: common/models.py:1227 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1221 +#: common/models.py:1228 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1227 +#: common/models.py:1234 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1228 +#: common/models.py:1235 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1235 +#: common/models.py:1242 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Show low stock" msgstr "" -#: common/models.py:1242 +#: common/models.py:1249 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Show depleted stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1256 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1262 msgid "Show needed stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1263 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1269 msgid "Show expired stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1270 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1276 msgid "Show stale stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Show pending builds" msgstr "" -#: common/models.py:1277 +#: common/models.py:1284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Show overdue builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1291 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1291 +#: common/models.py:1298 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Show overdue POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1305 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1312 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1318 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1319 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1317 +#: common/models.py:1324 msgid "Enable label printing" msgstr "" -#: common/models.py:1318 +#: common/models.py:1325 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1324 +#: common/models.py:1331 msgid "Inline label display" msgstr "" -#: common/models.py:1325 +#: common/models.py:1332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1331 +#: common/models.py:1338 msgid "Inline report display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1345 msgid "Search Parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1345 +#: common/models.py:1352 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1359 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1366 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1367 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1373 msgid "Search Categories" msgstr "" -#: common/models.py:1367 +#: common/models.py:1374 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1380 msgid "Search Stock" msgstr "" -#: common/models.py:1374 +#: common/models.py:1381 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1387 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1381 +#: common/models.py:1388 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1394 msgid "Search Locations" msgstr "" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1401 msgid "Search Companies" msgstr "" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1408 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1415 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1422 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1429 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Search Preview Results" msgstr "" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1457 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1457 +#: common/models.py:1464 msgid "Date Format" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1472 part/templates/part/detail.html:39 +#: common/models.py:1479 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1473 +#: common/models.py:1480 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1537 company/forms.py:37 +#: common/models.py:1544 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: 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 +#: common/models.py:1551 company/serializers.py:290 +#: company/templates/company/supplier_part.html:263 order/models.py:965 +#: templates/js/translated/part.js:1042 templates/js/translated/part.js:2070 msgid "Price" msgstr "" -#: common/models.py:1545 +#: common/models.py:1552 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1705 common/models.py:1883 +#: common/models.py:1712 common/models.py:1890 msgid "Endpoint" msgstr "" -#: common/models.py:1706 +#: common/models.py:1713 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1715 +#: common/models.py:1722 msgid "Name for this webhook" msgstr "" -#: common/models.py:1720 part/models.py:911 plugin/models.py:99 +#: common/models.py:1727 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 @@ -2457,79 +2474,89 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1721 +#: common/models.py:1728 msgid "Is this webhook active" msgstr "" -#: common/models.py:1735 +#: common/models.py:1742 msgid "Token" msgstr "" -#: common/models.py:1736 +#: common/models.py:1743 msgid "Token for access" msgstr "" -#: common/models.py:1743 +#: common/models.py:1750 msgid "Secret" msgstr "" -#: common/models.py:1744 +#: common/models.py:1751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Message ID" msgstr "" -#: common/models.py:1851 +#: common/models.py:1858 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1859 +#: common/models.py:1866 msgid "Host" msgstr "" -#: common/models.py:1860 +#: common/models.py:1867 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1867 +#: common/models.py:1874 msgid "Header" msgstr "" -#: common/models.py:1868 +#: common/models.py:1875 msgid "Header of this message" msgstr "" -#: common/models.py:1874 +#: common/models.py:1881 msgid "Body" msgstr "" -#: common/models.py:1875 +#: common/models.py:1882 msgid "Body of this message" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1889 +#: common/models.py:1896 msgid "Worked on" msgstr "" -#: common/models.py:1890 +#: common/models.py:1897 msgid "Was the work on this message finished?" msgstr "" +#: common/notifications.py:292 +#, python-brace-format +msgid "New {verbose_name}" +msgstr "" + +#: common/notifications.py:294 +#, python-brace-format +msgid "A new {verbose_name} has been created and ,assigned to you" +msgstr "" + #: common/views.py:87 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:191 +#: order/views.py:102 part/views.py:116 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:192 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:117 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -2545,19 +2572,19 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:511 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:16 part/forms.py:21 +#: company/forms.py:16 part/forms.py:18 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:17 part/forms.py:22 +#: company/forms.py:17 part/forms.py:19 msgid "Image URL" msgstr "" @@ -2571,7 +2598,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:405 +#: templates/js/translated/company.js:399 msgid "Website" msgstr "" @@ -2644,9 +2671,9 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: 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 +#: company/models.py:144 company/serializers.py:296 +#: company/templates/company/company_base.html:106 part/serializers.py:139 +#: part/serializers.py:170 stock/serializers.py:162 msgid "Currency" msgstr "" @@ -2667,10 +2694,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: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/company.js:383 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:617 +#: templates/js/translated/company.js:902 templates/js/translated/part.js:235 #: templates/js/translated/table_filters.js:411 msgid "Manufacturer" msgstr "" @@ -2681,11 +2708,11 @@ msgstr "" #: 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 -#: 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 +#: templates/js/translated/company.js:256 +#: templates/js/translated/company.js:483 +#: templates/js/translated/company.js:633 +#: templates/js/translated/company.js:920 templates/js/translated/order.js:1907 +#: templates/js/translated/part.js:246 templates/js/translated/part.js:1000 msgid "MPN" msgstr "" @@ -2714,9 +2741,9 @@ msgstr "" #: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2080 templates/js/translated/company.js:540 -#: templates/js/translated/company.js:763 templates/js/translated/part.js:776 -#: templates/js/translated/stock.js:1294 +#: stock/models.py:2084 templates/js/translated/company.js:531 +#: templates/js/translated/company.js:748 templates/js/translated/part.js:820 +#: templates/js/translated/stock.js:1304 msgid "Value" msgstr "" @@ -2724,10 +2751,10 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:368 part/models.py:878 part/models.py:2339 +#: company/models.py:368 part/models.py:878 part/models.py:2327 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:351 -#: templates/js/translated/company.js:769 templates/js/translated/part.js:782 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:826 msgid "Units" msgstr "" @@ -2740,13 +2767,14 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:487 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:303 +#: company/templates/company/supplier_part.html:87 order/models.py:308 #: 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 -#: 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/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:255 +#: templates/js/translated/company.js:387 +#: templates/js/translated/company.js:876 templates/js/translated/order.js:1643 +#: templates/js/translated/part.js:216 templates/js/translated/part.js:968 #: templates/js/translated/table_filters.js:415 msgid "Supplier" msgstr "" @@ -2756,9 +2784,9 @@ msgid "Select supplier" msgstr "" #: 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 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:254 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 -#: templates/js/translated/part.js:942 +#: templates/js/translated/part.js:986 msgid "SKU" msgstr "" @@ -2779,23 +2807,23 @@ msgid "Supplier part description" msgstr "" #: company/models.py:518 company/templates/company/supplier_part.html:125 -#: part/models.py:2573 part/templates/part/upload_bom.html:59 +#: part/models.py:2561 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:387 msgid "Note" msgstr "" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "base cost" msgstr "" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: 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 +#: templates/js/translated/company.js:952 templates/js/translated/stock.js:1922 msgid "Packaging" msgstr "" @@ -2803,7 +2831,7 @@ msgstr "" msgid "Part packaging" msgstr "" -#: company/models.py:526 part/models.py:1690 +#: company/models.py:526 part/models.py:1685 msgid "multiple" msgstr "" @@ -2825,7 +2853,7 @@ msgstr "" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:177 templates/js/translated/company.js:378 +#: templates/InvenTree/search.html:177 templates/js/translated/company.js:372 msgid "Company" msgstr "" @@ -2843,7 +2871,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:321 +#: templates/js/translated/company.js:315 msgid "Edit Company" msgstr "" @@ -2866,12 +2894,13 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:649 +#: company/templates/company/company_base.html:86 order/models.py:665 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:758 +#: stock/models.py:628 stock/serializers.py:745 #: 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 +#: templates/email/overdue_sales_order.html:16 +#: templates/js/translated/company.js:379 templates/js/translated/order.js:2458 +#: templates/js/translated/stock.js:2441 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "" @@ -2999,7 +3028,7 @@ msgid "Supplier List" msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:45 -#: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 +#: part/templates/part/prices.html:172 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -3012,12 +3041,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:680 +#: templates/js/translated/company.js:665 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:681 +#: templates/js/translated/company.js:666 msgid "Delete manufacturer part" msgstr "" @@ -3032,7 +3061,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:39 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 +#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" msgstr "" @@ -3092,18 +3121,18 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: 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 +#: templates/js/translated/company.js:892 templates/js/translated/order.js:884 +#: templates/js/translated/stock.js:1879 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:38 -#: templates/js/translated/company.js:980 +#: templates/js/translated/company.js:965 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:42 -#: templates/js/translated/company.js:981 +#: templates/js/translated/company.js:966 msgid "Delete supplier part" msgstr "" @@ -3123,7 +3152,7 @@ msgstr "" #: company/templates/company/supplier_part.html:148 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 -#: templates/js/translated/stock.js:380 +#: templates/js/translated/stock.js:379 msgid "New Stock Item" msgstr "" @@ -3144,7 +3173,7 @@ msgstr "" #: company/templates/company/supplier_part.html:191 #: company/templates/company/supplier_part.html:305 -#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046 +#: part/templates/part/prices.html:276 templates/js/translated/part.js:2142 msgid "Add Price Break" msgstr "" @@ -3153,12 +3182,12 @@ msgid "No price break information found" msgstr "" #: company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2152 msgid "Delete Price Break" msgstr "" #: company/templates/company/supplier_part.html:245 -#: templates/js/translated/part.js:2070 +#: templates/js/translated/part.js:2166 msgid "Edit Price Break" msgstr "" @@ -3180,9 +3209,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: 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:1687 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:722 +#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1431 +#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3209,7 +3238,7 @@ msgstr "" #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 -#: templates/js/translated/stock.js:2307 users/models.py:39 +#: templates/js/translated/stock.js:2317 users/models.py:39 msgid "Stock Items" msgstr "" @@ -3238,20 +3267,20 @@ msgstr "" msgid "New Company" msgstr "" -#: company/views.py:112 part/views.py:576 +#: company/views.py:112 part/views.py:501 msgid "Download Image" msgstr "" -#: company/views.py:139 part/views.py:606 +#: company/views.py:139 part/views.py:531 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:146 part/views.py:613 +#: company/views.py:146 part/views.py:538 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:155 part/views.py:622 +#: company/views.py:155 part/views.py:547 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3320,313 +3349,314 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:133 +#: order/models.py:134 msgid "Order description" msgstr "" -#: order/models.py:135 order/models.py:1236 +#: order/models.py:136 order/models.py:1252 msgid "Link to external page" msgstr "" -#: order/models.py:143 +#: order/models.py:144 msgid "Created By" msgstr "" -#: order/models.py:150 +#: order/models.py:151 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:155 +#: order/models.py:156 msgid "Order notes" msgstr "" -#: order/models.py:289 order/models.py:639 +#: order/models.py:294 order/models.py:655 msgid "Order reference" msgstr "" -#: order/models.py:294 order/models.py:654 +#: order/models.py:299 order/models.py:670 msgid "Purchase order status" msgstr "" -#: order/models.py:304 +#: order/models.py:309 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:307 order/templates/order/order_base.html:124 +#: order/models.py:312 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:307 +#: order/models.py:312 msgid "Supplier order reference code" msgstr "" -#: order/models.py:314 +#: order/models.py:319 msgid "received by" msgstr "" -#: order/models.py:319 +#: order/models.py:324 msgid "Issue Date" msgstr "" -#: order/models.py:320 +#: order/models.py:325 msgid "Date order was issued" msgstr "" -#: order/models.py:325 +#: order/models.py:330 msgid "Target Delivery Date" msgstr "" -#: order/models.py:326 +#: order/models.py:331 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:332 +#: order/models.py:337 msgid "Date order was completed" msgstr "" -#: order/models.py:368 +#: order/models.py:373 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:512 +#: order/models.py:517 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:650 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer Reference " msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer order reference code" msgstr "" -#: order/models.py:661 +#: order/models.py:677 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:664 order/models.py:1190 +#: order/models.py:680 order/models.py:1206 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:671 +#: order/models.py:687 msgid "shipped by" msgstr "" -#: order/models.py:726 +#: order/models.py:742 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:730 +#: order/models.py:746 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:733 +#: order/models.py:749 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:736 +#: order/models.py:752 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:910 +#: order/models.py:926 msgid "Item quantity" msgstr "" -#: order/models.py:916 +#: order/models.py:932 msgid "Line item reference" msgstr "" -#: order/models.py:918 +#: order/models.py:934 msgid "Line item notes" msgstr "" -#: order/models.py:923 +#: order/models.py:939 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:941 +#: order/models.py:957 msgid "Context" msgstr "" -#: order/models.py:942 +#: order/models.py:958 msgid "Additional context for this line" msgstr "" -#: order/models.py:950 +#: order/models.py:966 msgid "Unit price" msgstr "" -#: order/models.py:980 +#: order/models.py:996 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:988 +#: order/models.py:1004 msgid "deleted" msgstr "" -#: order/models.py:994 order/models.py:1074 order/models.py:1099 -#: order/models.py:1184 order/models.py:1320 +#: order/models.py:1010 order/models.py:1090 order/models.py:1115 +#: order/models.py:1200 order/models.py:1336 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:995 order/models.py:1074 +#: order/models.py:1011 order/models.py:1090 #: 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/email/overdue_purchase_order.html:15 #: 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 +#: templates/js/translated/part.js:943 templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:2422 msgid "Purchase Order" msgstr "" -#: order/models.py:1013 +#: order/models.py:1029 msgid "Supplier part" msgstr "" -#: order/models.py:1020 order/templates/order/order_base.html:169 +#: order/models.py:1036 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/part.js:1037 templates/js/translated/part.js:1064 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1021 +#: order/models.py:1037 msgid "Number of items received" msgstr "" -#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: order/models.py:1044 part/templates/part/prices.html:181 stock/models.py:722 #: stock/serializers.py:153 stock/templates/stock/item_base.html:191 -#: templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:1910 msgid "Purchase Price" msgstr "" -#: order/models.py:1029 +#: order/models.py:1045 msgid "Unit purchase price" msgstr "" -#: order/models.py:1037 +#: order/models.py:1053 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1109 part/templates/part/part_pricing.html:112 -#: part/templates/part/prices.html:119 part/templates/part/prices.html:288 +#: order/models.py:1125 part/templates/part/part_pricing.html:115 +#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 msgid "Sale Price" msgstr "" -#: order/models.py:1110 +#: order/models.py:1126 msgid "Unit sale price" msgstr "" -#: order/models.py:1115 +#: order/models.py:1131 msgid "Shipped quantity" msgstr "" -#: order/models.py:1191 +#: order/models.py:1207 msgid "Date of shipment" msgstr "" -#: order/models.py:1198 +#: order/models.py:1214 msgid "Checked By" msgstr "" -#: order/models.py:1199 +#: order/models.py:1215 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1207 +#: order/models.py:1223 msgid "Shipment number" msgstr "" -#: order/models.py:1214 +#: order/models.py:1230 msgid "Shipment notes" msgstr "" -#: order/models.py:1221 +#: order/models.py:1237 msgid "Tracking Number" msgstr "" -#: order/models.py:1222 +#: order/models.py:1238 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1229 +#: order/models.py:1245 msgid "Invoice Number" msgstr "" -#: order/models.py:1230 +#: order/models.py:1246 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1248 +#: order/models.py:1264 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1251 +#: order/models.py:1267 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1354 order/models.py:1356 +#: order/models.py:1370 order/models.py:1372 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1360 +#: order/models.py:1376 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1362 +#: order/models.py:1378 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1365 +#: order/models.py:1381 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1369 +#: order/models.py:1385 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1375 order/serializers.py:1045 +#: order/models.py:1391 order/serializers.py:1047 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1378 +#: order/models.py:1394 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1379 +#: order/models.py:1395 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1387 +#: order/models.py:1403 msgid "Line" msgstr "" -#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 +#: order/models.py:1411 order/serializers.py:1151 order/serializers.py:1275 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1396 +#: order/models.py:1412 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1424 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1409 +#: order/models.py:1425 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Enter stock allocation quantity" msgstr "" @@ -3662,7 +3692,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1117 +#: order/serializers.py:406 order/serializers.py:1119 msgid "Line Item" msgstr "" @@ -3710,42 +3740,60 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:866 +#: order/serializers.py:868 msgid "Sale price currency" msgstr "" -#: order/serializers.py:947 +#: order/serializers.py:949 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1006 order/serializers.py:1126 +#: order/serializers.py:1008 order/serializers.py:1128 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1028 +#: order/serializers.py:1030 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1139 +#: order/serializers.py:1141 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1161 order/serializers.py:1281 +#: order/serializers.py:1163 order/serializers.py:1283 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1164 order/serializers.py:1284 +#: order/serializers.py:1166 order/serializers.py:1286 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1216 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1224 +#: order/serializers.py:1226 msgid "The following serial numbers are already allocated" msgstr "" +#: order/tasks.py:26 +msgid "Overdue Purchase Order" +msgstr "" + +#: order/tasks.py:31 +#, python-brace-format +msgid "Purchase order {po} is now overdue" +msgstr "" + +#: order/tasks.py:88 +msgid "Overdue Sales Order" +msgstr "" + +#: order/tasks.py:93 +#, python-brace-format +msgid "Sales order {so} is now overdue" +msgstr "" + #: order/templates/order/order_base.html:33 msgid "Print purchase order report" msgstr "" @@ -3870,8 +3918,8 @@ msgstr "" #: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: 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:2731 templates/js/translated/stock.js:570 -#: templates/js/translated/stock.js:738 +#: templates/js/translated/order.js:2731 templates/js/translated/stock.js:569 +#: templates/js/translated/stock.js:737 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -3990,7 +4038,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1047 #: templates/js/translated/build.js:1880 msgid "Actions" msgstr "" @@ -4021,47 +4069,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:481 +#: part/api.py:482 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:501 +#: part/api.py:502 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:519 +#: part/api.py:520 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:551 +#: part/api.py:552 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:637 +#: part/api.py:638 msgid "Valid" msgstr "" -#: part/api.py:638 +#: part/api.py:639 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:644 +#: part/api.py:645 msgid "This option must be selected" msgstr "" -#: part/api.py:1010 +#: part/api.py:1011 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1014 +#: part/api.py:1015 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1029 +#: part/api.py:1030 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1060 part/api.py:1064 part/api.py:1079 part/api.py:1083 +#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 msgid "This field is required" msgstr "" @@ -4080,17 +4128,13 @@ msgid "Available Stock" msgstr "" #: 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 +#: templates/js/translated/part.js:561 templates/js/translated/part.js:581 +#: templates/js/translated/part.js:1273 templates/js/translated/part.js:1445 +#: templates/js/translated/part.js:1461 msgid "On Order" msgstr "" -#: part/forms.py:59 -msgid "Select part category" -msgstr "" - -#: part/forms.py:69 +#: part/forms.py:60 msgid "Input quantity for price calculation" msgstr "" @@ -4106,7 +4150,7 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:115 part/models.py:2415 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2403 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -4123,7 +4167,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:144 +#: templates/js/translated/part.js:1864 templates/js/translated/search.js:144 #: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "" @@ -4153,7 +4197,7 @@ msgstr "" msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:738 part/models.py:2469 +#: part/models.py:738 part/models.py:2457 msgid "Part name" msgstr "" @@ -4186,12 +4230,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:776 part/models.py:2171 part/models.py:2414 +#: part/models.py:776 part/models.py:2159 part/models.py:2402 #: part/templates/part/part_base.html:257 -#: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 #: templates/InvenTree/settings/settings.html:231 -#: templates/js/translated/part.js:1369 +#: templates/js/translated/part.js:1413 templates/js/translated/part.js:1639 msgid "Category" msgstr "" @@ -4200,8 +4243,8 @@ msgid "Part category" msgstr "" #: 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 +#: templates/js/translated/part.js:710 templates/js/translated/part.js:1366 +#: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" @@ -4214,7 +4257,7 @@ msgid "Part revision or version number" msgstr "" #: part/models.py:790 part/templates/part/part_base.html:273 -#: report/models.py:170 templates/js/translated/part.js:670 +#: report/models.py:170 templates/js/translated/part.js:714 msgid "Revision" msgstr "" @@ -4302,317 +4345,321 @@ msgstr "" msgid "Creation User" msgstr "" -#: part/models.py:1690 +#: part/models.py:1685 msgid "Sell multiple" msgstr "" -#: part/models.py:2218 +#: part/models.py:2206 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2235 +#: part/models.py:2223 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2255 templates/js/translated/part.js:1819 -#: templates/js/translated/stock.js:1274 +#: part/models.py:2243 templates/js/translated/part.js:1915 +#: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2256 +#: part/models.py:2244 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2261 +#: part/models.py:2249 msgid "Test Description" msgstr "" -#: part/models.py:2262 +#: part/models.py:2250 msgid "Enter description for this test" msgstr "" -#: part/models.py:2267 templates/js/translated/part.js:1828 +#: part/models.py:2255 templates/js/translated/part.js:1924 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2268 +#: part/models.py:2256 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2273 templates/js/translated/part.js:1836 +#: part/models.py:2261 templates/js/translated/part.js:1932 msgid "Requires Value" msgstr "" -#: part/models.py:2274 +#: part/models.py:2262 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2279 templates/js/translated/part.js:1843 +#: part/models.py:2267 templates/js/translated/part.js:1939 msgid "Requires Attachment" msgstr "" -#: part/models.py:2280 +#: part/models.py:2268 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2288 +#: part/models.py:2276 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2324 +#: part/models.py:2312 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2332 +#: part/models.py:2320 msgid "Parameter Name" msgstr "" -#: part/models.py:2339 +#: part/models.py:2327 msgid "Parameter Units" msgstr "" -#: part/models.py:2370 +#: part/models.py:2358 msgid "Parent Part" msgstr "" -#: part/models.py:2372 part/models.py:2420 part/models.py:2421 +#: part/models.py:2360 part/models.py:2408 part/models.py:2409 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Data" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Parameter Value" msgstr "" -#: part/models.py:2425 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2413 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2426 +#: part/models.py:2414 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2461 +#: part/models.py:2449 msgid "Part ID or part name" msgstr "" -#: part/models.py:2464 templates/js/translated/model_renderers.js:200 +#: part/models.py:2452 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2465 +#: part/models.py:2453 msgid "Unique part ID value" msgstr "" -#: part/models.py:2468 +#: part/models.py:2456 msgid "Part Name" msgstr "" -#: part/models.py:2472 +#: part/models.py:2460 msgid "Part IPN" msgstr "" -#: part/models.py:2473 +#: part/models.py:2461 msgid "Part IPN value" msgstr "" -#: part/models.py:2476 +#: part/models.py:2464 msgid "Level" msgstr "" -#: part/models.py:2477 +#: part/models.py:2465 msgid "BOM level" msgstr "" -#: part/models.py:2546 +#: part/models.py:2534 msgid "Select parent part" msgstr "" -#: part/models.py:2554 +#: part/models.py:2542 msgid "Sub part" msgstr "" -#: part/models.py:2555 +#: part/models.py:2543 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2561 +#: part/models.py:2549 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2563 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 +#: part/models.py:2551 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:871 templates/js/translated/bom.js:965 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2563 +#: part/models.py:2551 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2566 part/templates/part/upload_bom.html:55 +#: part/models.py:2554 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2567 +#: part/models.py:2555 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2570 +#: part/models.py:2558 msgid "BOM item reference" msgstr "" -#: part/models.py:2573 +#: part/models.py:2561 msgid "BOM item notes" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "Checksum" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "BOM line checksum" msgstr "" -#: part/models.py:2579 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:988 +#: part/models.py:2567 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:982 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2580 +#: part/models.py:2568 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2585 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:980 +#: part/models.py:2573 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:974 msgid "Allow Variants" msgstr "" -#: part/models.py:2586 +#: part/models.py:2574 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2664 stock/models.py:460 +#: part/models.py:2652 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2673 part/models.py:2675 +#: part/models.py:2661 part/models.py:2663 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2780 +#: part/models.py:2768 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2801 +#: part/models.py:2789 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2814 +#: part/models.py:2802 msgid "Parent BOM item" msgstr "" -#: part/models.py:2822 +#: part/models.py:2810 msgid "Substitute part" msgstr "" -#: part/models.py:2833 +#: part/models.py:2825 msgid "Part 1" msgstr "" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Part 2" msgstr "" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Select Related Part" msgstr "" -#: part/models.py:2868 -msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" +#: part/models.py:2847 +msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 +#: part/models.py:2851 +msgid "Duplicate relationship already exists" +msgstr "" + +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:794 +#: part/serializers.py:796 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:804 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:805 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:810 msgid "Include Inherited" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:811 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:816 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:817 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:820 +#: part/serializers.py:822 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:821 +#: part/serializers.py:823 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:861 +#: part/serializers.py:863 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:864 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:894 msgid "No part column specified" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:937 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:938 +#: part/serializers.py:940 msgid "No matching part found" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:943 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:950 +#: part/serializers.py:952 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:958 +#: part/serializers.py:960 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:979 +#: part/serializers.py:981 msgid "At least one BOM item is required" msgstr "" @@ -5088,10 +5135,10 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:143 -#: templates/js/translated/company.js:623 -#: templates/js/translated/company.js:882 +#: templates/js/translated/company.js:608 +#: templates/js/translated/company.js:867 #: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:658 +#: templates/js/translated/part.js:625 templates/js/translated/part.js:702 msgid "Inactive" msgstr "" @@ -5120,13 +5167,13 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1009 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1003 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/part.js:520 -#: templates/js/translated/part.js:540 templates/js/translated/part.js:1233 -#: templates/js/translated/part.js:1405 templates/js/translated/part.js:1421 +#: part/templates/part/part_base.html:238 templates/js/translated/part.js:564 +#: templates/js/translated/part.js:584 templates/js/translated/part.js:1277 +#: templates/js/translated/part.js:1449 templates/js/translated/part.js:1465 msgid "Building" msgstr "" @@ -5143,7 +5190,7 @@ msgstr "" msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:443 part/templates/part/prices.html:147 +#: part/templates/part/part_base.html:443 part/templates/part/prices.html:149 msgid "Calculate" msgstr "" @@ -5161,54 +5208,55 @@ msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:106 -#: part/templates/part/prices.html:123 +#: part/templates/part/part_pricing.html:103 +#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 +#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:104 -#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:111 -#: part/templates/part/prices.html:128 +#: part/templates/part/part_pricing.html:107 +#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 +#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 +#: part/templates/part/prices.html:130 msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:963 +#: templates/js/translated/bom.js:957 msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:246 +#: part/templates/part/prices.html:248 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:89 +#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:96 +#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:105 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/prices.html:107 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:128 -#: part/templates/part/prices.html:137 +#: part/templates/part/part_pricing.html:131 +#: part/templates/part/prices.html:139 msgid "No pricing information is available for this part." msgstr "" @@ -5232,43 +5280,6 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:9 -#, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" -"
Disable the \"Active\" part attribute and re-try.\n" -" " -msgstr "" - -#: part/templates/part/partial_delete.html:17 -#, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" -msgstr "" - -#: part/templates/part/partial_delete.html:22 -#, python-format -msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" -msgstr "" - -#: part/templates/part/partial_delete.html:32 -#, python-format -msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:43 -#, python-format -msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:54 -#, python-format -msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:67 -#, python-format -msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." -msgstr "" - #: part/templates/part/prices.html:19 msgid "Pricing ranges" msgstr "" @@ -5285,66 +5296,58 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:120 +#: part/templates/part/prices.html:122 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:123 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:143 +#: part/templates/part/prices.html:145 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:957 +#: part/templates/part/prices.html:160 templates/js/translated/bom.js:951 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:159 part/templates/part/prices.html:180 -#: part/templates/part/prices.html:204 part/templates/part/prices.html:234 -#: part/templates/part/prices.html:260 part/templates/part/prices.html:289 +#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 +#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 +#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:184 +#: part/templates/part/prices.html:186 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:193 +#: part/templates/part/prices.html:195 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:203 +#: part/templates/part/prices.html:205 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:218 +#: part/templates/part/prices.html:220 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:233 +#: part/templates/part/prices.html:235 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:259 +#: part/templates/part/prices.html:261 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:300 +#: part/templates/part/prices.html:302 msgid "No sale pice history available for this part." msgstr "" -#: part/templates/part/set_category.html:9 -msgid "Set category for the following parts" -msgstr "" - -#: part/templates/part/set_category.html:32 -msgid "Remove part" -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543 -#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:587 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:1469 msgid "No Stock" msgstr "" @@ -5407,56 +5410,39 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:74 -msgid "Set Part Category" -msgstr "" - -#: part/views.py:122 -#, python-brace-format -msgid "Set category for {n} parts" -msgstr "" - -#: part/views.py:193 +#: part/views.py:118 msgid "Match References" msgstr "" -#: part/views.py:494 +#: part/views.py:419 msgid "None" msgstr "" -#: part/views.py:556 +#: part/views.py:481 msgid "Part QR Code" msgstr "" -#: part/views.py:650 +#: part/views.py:575 msgid "Select Part Image" msgstr "" -#: part/views.py:676 +#: part/views.py:601 msgid "Updated part image" msgstr "" -#: part/views.py:679 +#: part/views.py:604 msgid "Part image not found" msgstr "" -#: part/views.py:768 -msgid "Confirm Part Deletion" -msgstr "" - -#: part/views.py:776 -msgid "Part was deleted" -msgstr "" - -#: part/views.py:785 +#: part/views.py:693 msgid "Part Pricing" msgstr "" -#: part/views.py:976 +#: part/views.py:884 msgid "Delete Part Category" msgstr "" -#: part/views.py:983 +#: part/views.py:891 msgid "Part category was deleted" msgstr "" @@ -5516,21 +5502,21 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:28 +#: plugin/builtin/integration/core_notifications.py:29 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 +#: plugin/builtin/integration/core_notifications.py:30 msgid "Integrated outgoing notificaton methods" msgstr "" -#: 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:34 #: plugin/builtin/integration/core_notifications.py:53 +msgid "Enable email notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:35 +#: plugin/builtin/integration/core_notifications.py:54 msgid "Allow sending of emails for event notifications" msgstr "" @@ -5646,15 +5632,19 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:166 +#: report/api.py:179 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:198 report/api.py:239 +#: report/api.py:215 report/api.py:256 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" +#: report/api.py:359 +msgid "Test report" +msgstr "" + #: report/models.py:152 msgid "Template name" msgstr "" @@ -5757,7 +5747,7 @@ msgstr "" #: 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:3229 -#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:434 msgid "Serial Number" msgstr "" @@ -5766,19 +5756,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2068 +#: stock/models.py:2072 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2074 +#: stock/models.py:2078 msgid "Result" 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:1669 templates/js/translated/stock.js:2340 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2350 msgid "Date" msgstr "" @@ -5796,20 +5786,20 @@ msgid "Installed Items" 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:2589 +#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724 +#: templates/js/translated/stock.js:2599 msgid "Serial" msgstr "" -#: stock/api.py:504 +#: stock/api.py:505 msgid "Quantity is required" msgstr "" -#: stock/api.py:511 +#: stock/api.py:512 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:536 +#: stock/api.py:537 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5917,7 +5907,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1826 msgid "Expiry Date" msgstr "" @@ -5971,79 +5961,79 @@ msgstr "" msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1325 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1324 +#: stock/models.py:1328 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1327 +#: stock/models.py:1331 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1334 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1333 +#: stock/models.py:1337 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1340 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1343 stock/serializers.py:908 +#: stock/models.py:1347 stock/serializers.py:895 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1347 +#: stock/models.py:1351 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1355 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1359 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1524 +#: stock/models.py:1528 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1986 +#: stock/models.py:1990 msgid "Entry notes" msgstr "" -#: stock/models.py:2044 +#: stock/models.py:2048 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2050 +#: stock/models.py:2054 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2069 +#: stock/models.py:2073 msgid "Test name" msgstr "" -#: stock/models.py:2075 +#: stock/models.py:2079 msgid "Test result" msgstr "" -#: stock/models.py:2081 +#: stock/models.py:2085 msgid "Test output value" msgstr "" -#: stock/models.py:2088 +#: stock/models.py:2092 msgid "Test result attachment" msgstr "" -#: stock/models.py:2094 +#: stock/models.py:2098 msgid "Test notes" msgstr "" @@ -6064,7 +6054,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:865 stock/serializers.py:1098 +#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 msgid "Destination stock location" msgstr "" @@ -6104,63 +6094,63 @@ msgstr "" msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:707 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:724 +#: stock/serializers.py:711 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:728 +#: stock/serializers.py:715 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:759 +#: stock/serializers.py:746 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:765 +#: stock/serializers.py:752 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:773 +#: stock/serializers.py:760 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:783 stock/serializers.py:1014 +#: stock/serializers.py:770 stock/serializers.py:1001 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:872 +#: stock/serializers.py:859 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:877 +#: stock/serializers.py:864 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:878 +#: stock/serializers.py:865 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:883 +#: stock/serializers.py:870 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:884 +#: stock/serializers.py:871 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:894 +#: stock/serializers.py:881 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:976 +#: stock/serializers.py:963 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1004 +#: stock/serializers.py:991 msgid "Stock transaction notes" msgstr "" @@ -6185,7 +6175,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:298 msgid "Delete Test Data" msgstr "" @@ -6197,11 +6187,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2733 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2743 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:292 templates/js/translated/stock.js:1455 +#: stock/templates/stock/item.html:290 +msgid "Delete all test results for this stock item" +msgstr "" + +#: stock/templates/stock/item.html:323 templates/js/translated/stock.js:1465 msgid "Add Test Result" msgstr "" @@ -6388,7 +6382,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/stock.js:1842 msgid "Last Updated" msgstr "" @@ -6529,7 +6523,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:182 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:144 msgid "Convert Stock Item" msgstr "" @@ -6550,31 +6544,19 @@ msgstr "" msgid "This action cannot be easily undone" msgstr "" -#: stock/views.py:113 +#: stock/views.py:111 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:131 -msgid "Delete All Test Data" -msgstr "" - -#: stock/views.py:149 -msgid "Confirm test data deletion" -msgstr "" - -#: stock/views.py:150 -msgid "Check the confirmation box" -msgstr "" - -#: stock/views.py:165 +#: stock/views.py:127 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:216 +#: stock/views.py:178 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:229 +#: stock/views.py:191 msgid "Delete Stock Item" msgstr "" @@ -7317,8 +7299,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:56 templates/js/translated/modals.js:595 -#: templates/js/translated/modals.js:689 templates/js/translated/modals.js:997 +#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 +#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 #: templates/js/translated/order.js:928 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7390,6 +7372,10 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:630 +msgid "Confirm" +msgstr "אשר" + #: templates/account/email_confirm.html:27 #, python-format msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." @@ -7562,7 +7548,7 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:112 msgid "Delete Attachments" msgstr "" @@ -7596,15 +7582,15 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1425 +#: templates/js/translated/bom.js:1419 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: 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/bom.js:884 templates/js/translated/build.js:1787 +#: templates/js/translated/build.js:2650 templates/js/translated/part.js:571 +#: templates/js/translated/part.js:574 #: templates/js/translated/table_filters.js:178 msgid "Available" msgstr "" @@ -7622,6 +7608,13 @@ msgstr "" msgid "Minimum Quantity" msgstr "" +#: templates/email/new_order_assigned.html:9 +#: templates/email/overdue_build_order.html:9 +#: templates/email/overdue_purchase_order.html:9 +#: templates/email/overdue_sales_order.html:9 +msgid "Click on the following link to view this order" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -7638,91 +7631,91 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:235 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1073 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1074 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:242 +#: templates/js/translated/api.js:202 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:243 +#: templates/js/translated/api.js:203 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1083 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1084 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:252 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1088 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:253 templates/js/translated/modals.js:1083 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1089 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1093 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1088 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1094 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:262 +#: templates/js/translated/api.js:222 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:263 +#: templates/js/translated/api.js:223 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:267 templates/js/translated/modals.js:1092 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1098 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:268 templates/js/translated/modals.js:1093 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1099 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:271 +#: templates/js/translated/api.js:231 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:272 +#: templates/js/translated/api.js:232 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:96 +#: templates/js/translated/attachment.js:98 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:156 +#: templates/js/translated/attachment.js:152 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:180 +#: templates/js/translated/attachment.js:176 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:246 +#: templates/js/translated/attachment.js:242 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:262 +#: templates/js/translated/attachment.js:264 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:269 +#: templates/js/translated/attachment.js:271 msgid "Delete attachment" msgstr "" @@ -7755,7 +7748,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "Invalid server response" msgstr "" @@ -7783,7 +7776,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999 +#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:998 msgid "Remove stock item" msgstr "" @@ -7918,89 +7911,89 @@ msgstr "" msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:682 +#: templates/js/translated/bom.js:684 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:697 +#: templates/js/translated/bom.js:699 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:824 +#: templates/js/translated/bom.js:818 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:834 +#: templates/js/translated/bom.js:828 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:838 templates/js/translated/build.js:1769 +#: templates/js/translated/bom.js:832 templates/js/translated/build.js:1769 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/bom.js:900 templates/js/translated/build.js:1814 #: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:910 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:904 templates/js/translated/build.js:1818 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:912 templates/js/translated/build.js:1820 -#: templates/js/translated/part.js:690 +#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1820 +#: templates/js/translated/part.js:734 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:914 templates/js/translated/build.js:1822 +#: templates/js/translated/bom.js:908 templates/js/translated/build.js:1822 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:928 +#: templates/js/translated/bom.js:922 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:943 +#: templates/js/translated/bom.js:937 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:950 +#: templates/js/translated/bom.js:944 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:999 templates/js/translated/bom.js:1090 +#: templates/js/translated/bom.js:993 templates/js/translated/bom.js:1084 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1061 +#: templates/js/translated/bom.js:1055 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1063 +#: templates/js/translated/bom.js:1057 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1065 +#: templates/js/translated/bom.js:1059 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1067 templates/js/translated/bom.js:1228 +#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1222 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1069 +#: templates/js/translated/bom.js:1063 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1164 templates/js/translated/build.js:1615 +#: templates/js/translated/bom.js:1158 templates/js/translated/build.js:1615 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1408 templates/js/translated/build.js:1753 +#: templates/js/translated/bom.js:1402 templates/js/translated/build.js:1753 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1430 +#: templates/js/translated/bom.js:1424 msgid "Inherited from parent BOM" msgstr "" @@ -8040,13 +8033,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91 -#: templates/js/translated/stock.js:181 +#: templates/js/translated/build.js:259 templates/js/translated/stock.js:90 +#: templates/js/translated/stock.js:180 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93 -#: templates/js/translated/stock.js:183 +#: templates/js/translated/build.js:261 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:182 msgid "Latest serial number" msgstr "" @@ -8259,9 +8252,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: 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 +#: templates/js/translated/build.js:2448 templates/js/translated/part.js:1358 +#: templates/js/translated/part.js:1825 templates/js/translated/stock.js:1629 +#: templates/js/translated/stock.js:2287 msgid "Select" msgstr "" @@ -8273,7 +8266,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2519 +#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2529 msgid "No user information" msgstr "" @@ -8285,107 +8278,107 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:169 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:168 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:157 templates/js/translated/order.js:506 +#: templates/js/translated/company.js:156 templates/js/translated/order.js:506 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:185 +#: templates/js/translated/company.js:184 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:200 +#: templates/js/translated/company.js:199 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:249 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:263 +#: templates/js/translated/company.js:264 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:342 +#: templates/js/translated/company.js:336 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:413 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:428 +#: templates/js/translated/company.js:422 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:443 +#: templates/js/translated/company.js:437 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:478 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:492 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:526 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:548 +#: templates/js/translated/company.js:539 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:595 +#: templates/js/translated/company.js:580 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:615 -#: templates/js/translated/company.js:874 templates/js/translated/part.js:565 -#: templates/js/translated/part.js:650 +#: templates/js/translated/company.js:600 +#: templates/js/translated/company.js:859 templates/js/translated/part.js:609 +#: templates/js/translated/part.js:694 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:619 -#: templates/js/translated/company.js:878 templates/js/translated/part.js:569 -#: templates/js/translated/part.js:654 +#: templates/js/translated/company.js:604 +#: templates/js/translated/company.js:863 templates/js/translated/part.js:613 +#: templates/js/translated/part.js:698 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:747 templates/js/translated/part.js:757 +#: templates/js/translated/company.js:732 templates/js/translated/part.js:801 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:799 +#: templates/js/translated/company.js:769 templates/js/translated/part.js:843 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:785 templates/js/translated/part.js:800 +#: templates/js/translated/company.js:770 templates/js/translated/part.js:844 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:804 templates/js/translated/part.js:817 +#: templates/js/translated/company.js:789 templates/js/translated/part.js:861 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:815 templates/js/translated/part.js:829 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:873 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:854 +#: templates/js/translated/company.js:839 msgid "No supplier parts found" msgstr "" @@ -8448,36 +8441,36 @@ msgstr "" msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:756 +#: templates/js/translated/forms.js:757 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1248 templates/modals.html:19 +#: templates/js/translated/forms.js:1249 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1681 +#: templates/js/translated/forms.js:1682 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1896 templates/search.html:29 +#: templates/js/translated/forms.js:1897 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2149 +#: templates/js/translated/forms.js:2150 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2627 +#: templates/js/translated/forms.js:2628 msgid "Select Columns" msgstr "" @@ -8498,7 +8491,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1023 +#: templates/js/translated/stock.js:1022 msgid "Select Stock Items" msgstr "" @@ -8552,12 +8545,12 @@ msgid "Select Label Template" msgstr "" #: templates/js/translated/modals.js:82 templates/js/translated/modals.js:142 -#: templates/js/translated/modals.js:621 +#: templates/js/translated/modals.js:627 msgid "Cancel" msgstr "" #: 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/js/translated/modals.js:694 templates/js/translated/modals.js:1002 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" @@ -8566,47 +8559,47 @@ msgstr "" msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:403 +#: templates/js/translated/modals.js:421 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:562 +#: templates/js/translated/modals.js:568 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:620 +#: templates/js/translated/modals.js:626 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:677 +#: templates/js/translated/modals.js:683 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:960 +#: templates/js/translated/modals.js:966 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1072 +#: templates/js/translated/modals.js:1078 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1073 +#: templates/js/translated/modals.js:1079 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1096 +#: templates/js/translated/modals.js:1102 msgid "Error requesting form data" msgstr "" @@ -8656,11 +8649,11 @@ msgstr "" msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:259 +#: templates/js/translated/notification.js:260 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:300 templates/notifications.html:10 +#: templates/js/translated/notification.js:302 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" @@ -8804,7 +8797,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2080 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2090 msgid "Stock Status" msgstr "" @@ -8828,7 +8821,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1602 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1602 templates/js/translated/part.js:914 msgid "No purchase orders found" msgstr "" @@ -8863,7 +8856,7 @@ msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 #: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 -#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 +#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2397 msgid "Unit Price" msgstr "" @@ -8873,11 +8866,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:1993 templates/js/translated/order.js:3525 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:1023 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1069 msgid "Receive line item" msgstr "" @@ -8998,7 +8991,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1535 +#: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" @@ -9138,165 +9131,209 @@ msgstr "" msgid "Create Part Variant" msgstr "" +#: templates/js/translated/part.js:405 +msgid "Active Part" +msgstr "" + +#: templates/js/translated/part.js:406 +msgid "Part cannot be deleted as it is currently active" +msgstr "" + +#: templates/js/translated/part.js:420 +msgid "Deleting this part cannot be reversed" +msgstr "" + +#: templates/js/translated/part.js:422 +msgid "Any stock items for this part will be deleted" +msgstr "" + #: templates/js/translated/part.js:423 +msgid "This part will be removed from any Bills of Material" +msgstr "" + +#: templates/js/translated/part.js:424 +msgid "All manufacturer and supplier information for this part will be deleted" +msgstr "" + +#: templates/js/translated/part.js:431 +msgid "Delete Part" +msgstr "" + +#: templates/js/translated/part.js:467 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:425 +#: templates/js/translated/part.js:469 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:474 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:476 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:493 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:503 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:506 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:487 +#: templates/js/translated/part.js:531 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:513 templates/js/translated/part.js:1397 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1441 #: templates/js/translated/table_filters.js:452 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:523 templates/js/translated/part.js:1409 +#: templates/js/translated/part.js:567 templates/js/translated/part.js:1453 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:557 templates/js/translated/part.js:642 +#: templates/js/translated/part.js:601 templates/js/translated/part.js:686 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:561 templates/js/translated/part.js:646 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:690 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:617 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:577 +#: templates/js/translated/part.js:621 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:705 +#: templates/js/translated/part.js:749 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1095 +#: templates/js/translated/part.js:1139 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1119 +#: templates/js/translated/part.js:1163 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1184 templates/js/translated/part.js:1480 +#: templates/js/translated/part.js:1228 templates/js/translated/part.js:1524 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1223 +#: templates/js/translated/part.js:1267 msgid "Not available" msgstr "" -#: templates/js/translated/part.js:1374 +#: templates/js/translated/part.js:1418 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664 -#: templates/js/translated/stock.js:2238 +#: templates/js/translated/part.js:1548 templates/js/translated/part.js:1760 +#: templates/js/translated/stock.js:2248 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1520 +#: templates/js/translated/part.js:1564 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2257 +#: templates/js/translated/part.js:1630 +msgid "Set the part category for the selected parts" +msgstr "" + +#: templates/js/translated/part.js:1635 +msgid "Set Part Category" +msgstr "" + +#: templates/js/translated/part.js:1640 +msgid "Select Part Category" +msgstr "" + +#: templates/js/translated/part.js:1653 +msgid "Category is required" +msgstr "" + +#: templates/js/translated/part.js:1779 templates/js/translated/stock.js:2267 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1747 +#: templates/js/translated/part.js:1843 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2301 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2311 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:1901 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1233 +#: templates/js/translated/part.js:1952 templates/js/translated/stock.js:1243 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1234 -#: templates/js/translated/stock.js:1493 +#: templates/js/translated/part.js:1953 templates/js/translated/stock.js:1244 +#: templates/js/translated/stock.js:1503 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1863 +#: templates/js/translated/part.js:1959 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1885 +#: templates/js/translated/part.js:1981 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:1995 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1924 +#: templates/js/translated/part.js:2020 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1981 +#: templates/js/translated/part.js:2077 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1982 +#: templates/js/translated/part.js:2078 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:2096 +#: templates/js/translated/part.js:2192 msgid "Current Stock" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2225 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2155 +#: templates/js/translated/part.js:2251 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2225 +#: templates/js/translated/part.js:2321 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:2244 +#: templates/js/translated/part.js:2340 msgid "Single Price Difference" msgstr "" @@ -9378,360 +9415,360 @@ msgstr "" msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:72 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:101 +#: templates/js/translated/stock.js:100 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:109 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:139 +#: templates/js/translated/stock.js:138 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:153 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:194 +#: templates/js/translated/stock.js:193 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:233 +#: templates/js/translated/stock.js:232 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:239 +#: templates/js/translated/stock.js:238 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:303 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:324 +#: templates/js/translated/stock.js:323 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:344 +#: templates/js/translated/stock.js:343 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:394 +#: templates/js/translated/stock.js:393 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:407 +#: templates/js/translated/stock.js:406 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:431 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:453 +#: templates/js/translated/stock.js:452 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:472 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:481 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:605 +#: templates/js/translated/stock.js:604 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:606 +#: templates/js/translated/stock.js:605 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:683 +#: templates/js/translated/stock.js:682 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:684 +#: templates/js/translated/stock.js:683 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:686 +#: templates/js/translated/stock.js:685 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:687 +#: templates/js/translated/stock.js:686 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:772 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:774 +#: templates/js/translated/stock.js:773 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:869 +#: templates/js/translated/stock.js:868 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:869 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:876 +#: templates/js/translated/stock.js:875 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:876 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:881 +#: templates/js/translated/stock.js:880 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:882 +#: templates/js/translated/stock.js:881 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:886 +#: templates/js/translated/stock.js:885 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:887 users/models.py:215 +#: templates/js/translated/stock.js:886 users/models.py:215 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1024 +#: templates/js/translated/stock.js:1023 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1047 +#: templates/js/translated/stock.js:1046 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1172 +#: templates/js/translated/stock.js:1182 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1174 +#: templates/js/translated/stock.js:1184 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1179 +#: templates/js/translated/stock.js:1189 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1226 +#: templates/js/translated/stock.js:1236 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1229 +#: templates/js/translated/stock.js:1239 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1255 +#: templates/js/translated/stock.js:1265 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1321 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1476 +#: templates/js/translated/stock.js:1486 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1498 +#: templates/js/translated/stock.js:1508 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1527 +#: templates/js/translated/stock.js:1537 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1531 +#: templates/js/translated/stock.js:1541 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1539 +#: templates/js/translated/stock.js:1549 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1545 +#: templates/js/translated/stock.js:1555 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1712 +#: templates/js/translated/stock.js:1722 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1727 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1720 +#: templates/js/translated/stock.js:1730 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1723 +#: templates/js/translated/stock.js:1733 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1725 +#: templates/js/translated/stock.js:1735 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1727 +#: templates/js/translated/stock.js:1737 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1730 +#: templates/js/translated/stock.js:1740 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1734 +#: templates/js/translated/stock.js:1744 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1746 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1743 +#: templates/js/translated/stock.js:1753 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1755 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:1757 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1751 +#: templates/js/translated/stock.js:1761 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1802 +#: templates/js/translated/stock.js:1812 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1894 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1932 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2095 +#: templates/js/translated/stock.js:2105 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2109 +#: templates/js/translated/stock.js:2119 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2120 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2375 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2381 +#: templates/js/translated/stock.js:2391 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2403 +#: templates/js/translated/stock.js:2413 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2422 +#: templates/js/translated/stock.js:2432 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2441 +#: templates/js/translated/stock.js:2451 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2459 +#: templates/js/translated/stock.js:2469 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2482 +#: templates/js/translated/stock.js:2492 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2490 +#: templates/js/translated/stock.js:2500 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2566 +#: templates/js/translated/stock.js:2576 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2617 templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2663 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2666 +#: templates/js/translated/stock.js:2676 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2697 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2688 +#: templates/js/translated/stock.js:2698 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2690 +#: templates/js/translated/stock.js:2700 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/stock.js:2701 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2702 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2693 +#: templates/js/translated/stock.js:2703 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2716 msgid "Select part to install" msgstr "" diff --git a/InvenTree/locale/hu/LC_MESSAGES/django.po b/InvenTree/locale/hu/LC_MESSAGES/django.po index 3d757c4a15..46e9a53010 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-06-05 14:26+0000\n" -"PO-Revision-Date: 2022-06-05 14:34\n" +"POT-Creation-Date: 2022-06-06 22:59+0000\n" +"PO-Revision-Date: 2022-06-07 14:34\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:46 +#: InvenTree/api.py:49 msgid "API endpoint not found" msgstr "API funkciót nem találom" @@ -29,275 +29,273 @@ msgstr "A hiba részleteit megtalálod az admin panelen" msgid "Enter date" msgstr "Dátum megadása" -#: 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:134 +#: InvenTree/forms.py:117 msgid "Confirm delete" msgstr "Törlés megerősítése" -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:118 msgid "Confirm item deletion" msgstr "Tétel törlés megerősítése" -#: InvenTree/forms.py:167 +#: InvenTree/forms.py:150 msgid "Enter password" msgstr "Jelszó megadása" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:151 msgid "Enter new password" msgstr "Új jelszó megadása" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:158 msgid "Confirm password" msgstr "Jelszó megerősítése" -#: InvenTree/forms.py:176 +#: InvenTree/forms.py:159 msgid "Confirm new password" msgstr "Új jelszó megerősítése" -#: InvenTree/forms.py:213 -msgid "Select Category" -msgstr "Válassz kategóriát" - -#: InvenTree/forms.py:234 +#: InvenTree/forms.py:184 msgid "Email (again)" msgstr "Email (újra)" -#: InvenTree/forms.py:238 +#: InvenTree/forms.py:188 msgid "Email address confirmation" msgstr "Email cím megerősítés" -#: InvenTree/forms.py:259 +#: InvenTree/forms.py:209 msgid "You must type the same email each time." msgstr "Mindig ugyanazt az email címet kell beírni." -#: InvenTree/helpers.py:402 +#: InvenTree/helpers.py:404 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "Duplikált sorozatszám: {sn}" -#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 +#: InvenTree/helpers.py:411 order/models.py:370 order/models.py:522 msgid "Invalid quantity provided" msgstr "Nem megfelelő mennyiség" -#: InvenTree/helpers.py:412 +#: InvenTree/helpers.py:414 msgid "Empty serial number string" msgstr "Üres sorozatszám" -#: InvenTree/helpers.py:444 +#: InvenTree/helpers.py:446 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Érvénytelen csoport tartomány: {g}" -#: InvenTree/helpers.py:447 +#: InvenTree/helpers.py:449 #, python-brace-format msgid "Invalid group: {g}" msgstr "Érvénytelen csoport: {g}" -#: InvenTree/helpers.py:475 +#: InvenTree/helpers.py:477 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "Érvénytelen csoport szekvencia: {g}" -#: InvenTree/helpers.py:483 +#: InvenTree/helpers.py:485 #, python-brace-format msgid "Invalid/no group {group}" msgstr "Érvénytelen vagy nemlétező csoport {group}" -#: InvenTree/helpers.py:489 +#: InvenTree/helpers.py:491 msgid "No serial numbers found" msgstr "Nem található sorozatszám" -#: InvenTree/helpers.py:493 +#: InvenTree/helpers.py:495 #, 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:174 +#: InvenTree/models.py:178 msgid "Missing file" msgstr "Hiányzó fájl" -#: InvenTree/models.py:175 +#: InvenTree/models.py:179 msgid "Missing external link" msgstr "Hiányzó külső link" -#: InvenTree/models.py:187 stock/models.py:2087 -#: templates/js/translated/attachment.js:101 -#: templates/js/translated/attachment.js:198 +#: InvenTree/models.py:191 stock/models.py:2091 +#: templates/js/translated/attachment.js:103 +#: templates/js/translated/attachment.js:194 msgid "Attachment" msgstr "Melléklet" -#: InvenTree/models.py:188 +#: InvenTree/models.py:192 msgid "Select file to attach" msgstr "Válaszd ki a mellekelni kívánt fájlt" -#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 -#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: InvenTree/models.py:198 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:136 order/models.py:1251 #: 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 -#: templates/js/translated/part.js:1441 +#: templates/js/translated/company.js:640 +#: templates/js/translated/company.js:931 templates/js/translated/order.js:2676 +#: templates/js/translated/part.js:1485 msgid "Link" msgstr "Link" -#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: InvenTree/models.py:199 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:198 templates/js/translated/attachment.js:102 -#: templates/js/translated/attachment.js:242 +#: InvenTree/models.py:202 templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:238 msgid "Comment" msgstr "Megjegyzés" -#: InvenTree/models.py:198 +#: InvenTree/models.py:202 msgid "File comment" msgstr "Leírás, bővebb infó" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1506 +#: common/models.py:1507 common/models.py:1735 common/models.py:1736 +#: common/models.py:1998 common/models.py:1999 part/models.py:2141 +#: part/models.py:2161 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:2523 msgid "User" msgstr "Felhasználó" -#: InvenTree/models.py:208 +#: InvenTree/models.py:212 msgid "upload date" msgstr "feltöltés dátuma" -#: InvenTree/models.py:230 +#: InvenTree/models.py:234 msgid "Filename must not be empty" msgstr "A fájlnév nem lehet üres" -#: InvenTree/models.py:253 +#: InvenTree/models.py:257 msgid "Invalid attachment directory" msgstr "Érvénytelen melléklet mappa" -#: InvenTree/models.py:263 +#: InvenTree/models.py:267 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Fájlnévben érvénytelen karakter van '{c}'" -#: InvenTree/models.py:266 +#: InvenTree/models.py:270 msgid "Filename missing extension" msgstr "Fájlnév kiterjesztése hiányzik" -#: InvenTree/models.py:273 +#: InvenTree/models.py:277 msgid "Attachment with this filename already exists" msgstr "Ilyen fájlnévvel már létezik melléklet" -#: InvenTree/models.py:280 +#: InvenTree/models.py:284 msgid "Error renaming file" msgstr "Hiba a fájl átnevezésekor" -#: InvenTree/models.py:314 +#: InvenTree/models.py:318 msgid "Invalid choice" msgstr "Érvénytelen választás" -#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 #: company/models.py:354 label/models.py:101 part/models.py:739 -#: part/models.py:2331 plugin/models.py:93 report/models.py:151 +#: part/models.py:2319 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 #: templates/InvenTree/settings/plugin.html:132 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:346 -#: 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:2283 +#: templates/js/translated/company.js:530 +#: templates/js/translated/company.js:742 templates/js/translated/part.js:659 +#: templates/js/translated/part.js:811 templates/js/translated/part.js:1832 +#: templates/js/translated/stock.js:2293 msgid "Name" msgstr "Név" -#: InvenTree/models.py:340 build/models.py:197 +#: InvenTree/models.py:344 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: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:164 +#: order/models.py:134 part/models.py:762 part/templates/part/category.html:74 +#: part/templates/part/part_base.html:167 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 -#: 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/bom.js:553 templates/js/translated/bom.js:845 +#: templates/js/translated/build.js:2476 templates/js/translated/company.js:395 +#: templates/js/translated/company.js:651 +#: templates/js/translated/company.js:942 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:1676 -#: templates/js/translated/stock.js:2295 templates/js/translated/stock.js:2350 +#: templates/js/translated/part.js:718 templates/js/translated/part.js:1126 +#: templates/js/translated/part.js:1399 templates/js/translated/part.js:1851 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:1686 +#: templates/js/translated/stock.js:2305 templates/js/translated/stock.js:2360 msgid "Description" msgstr "Leírás" -#: InvenTree/models.py:341 +#: InvenTree/models.py:345 msgid "Description (optional)" msgstr "Leírás (opcionális)" -#: InvenTree/models.py:349 +#: InvenTree/models.py:353 msgid "parent" msgstr "szülő" -#: InvenTree/serializers.py:52 part/models.py:2652 +#: InvenTree/models.py:466 +msgid "Server Error" +msgstr "" + +#: InvenTree/models.py:467 +msgid "An error has been logged by the server." +msgstr "" + +#: InvenTree/serializers.py:52 part/models.py:2640 msgid "Must be a valid number" msgstr "Érvényes számnak kell lennie" -#: InvenTree/serializers.py:271 +#: InvenTree/serializers.py:263 msgid "Filename" msgstr "Fájlnév" -#: InvenTree/serializers.py:306 +#: InvenTree/serializers.py:298 msgid "Invalid value" msgstr "Érvénytelen érték" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:320 msgid "Data File" msgstr "Adat fájl" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:321 msgid "Select data file for upload" msgstr "Fájl kiválasztása feltöltéshez" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:342 msgid "Unsupported file type" msgstr "Nem támogatott fájltípus" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:348 msgid "File is too large" msgstr "Fájl túl nagy" -#: InvenTree/serializers.py:377 +#: InvenTree/serializers.py:369 msgid "No columns found in file" msgstr "Nem találhatók oszlopok a fájlban" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:372 msgid "No data rows found in file" msgstr "Nincsenek adatsorok a fájlban" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:495 msgid "No data rows provided" msgstr "Nincs adatsor megadva" -#: InvenTree/serializers.py:506 +#: InvenTree/serializers.py:498 msgid "No data columns supplied" msgstr "Nincs adat oszlop megadva" -#: InvenTree/serializers.py:583 +#: InvenTree/serializers.py:575 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Szükséges oszlop hiányzik: '{name}'" -#: InvenTree/serializers.py:592 +#: InvenTree/serializers.py:584 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplikált oszlop: '{col}'" @@ -440,7 +438,7 @@ msgstr "Elveszett" msgid "Returned" msgstr "Visszaküldve" -#: InvenTree/status_codes.py:141 order/models.py:1114 +#: InvenTree/status_codes.py:141 order/models.py:1130 #: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "Kiszállítva" @@ -525,7 +523,7 @@ msgstr "Szülő tételből szétválasztva" msgid "Split child item" msgstr "Szétválasztott gyermek tétel" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2020 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2030 msgid "Merged stock items" msgstr "Összevont készlet tétel" @@ -597,27 +595,27 @@ msgstr "Túlszállítás nem lehet több mint 100%" msgid "Invalid value for overage" msgstr "Érvénytelen érték a túlszállításra" -#: InvenTree/views.py:522 +#: InvenTree/views.py:521 msgid "Delete Item" msgstr "Tétel törlése" -#: InvenTree/views.py:571 +#: InvenTree/views.py:570 msgid "Check box to confirm item deletion" msgstr "Jelöld a törlés megerősítéséhez" -#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:585 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Felhasználói információ módosítása" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:597 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Jelszó beállítása" -#: InvenTree/views.py:618 +#: InvenTree/views.py:617 msgid "Password fields must match" msgstr "A jelszavaknak egyeznie kell" -#: InvenTree/views.py:842 templates/navbar.html:152 +#: InvenTree/views.py:807 templates/navbar.html:152 msgid "System Information" msgstr "Rendszerinformáció" @@ -628,6 +626,7 @@ msgstr "Hibás választás a szülő gyártásra" #: 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/email/overdue_build_order.html:15 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "Gyártási utasítás" @@ -646,12 +645,12 @@ msgstr "Gyártási utasítások" msgid "Build Order Reference" msgstr "Gyártási utasítás azonosító" -#: build/models.py:189 order/models.py:288 order/models.py:638 -#: order/models.py:916 part/models.py:2570 +#: build/models.py:189 order/models.py:293 order/models.py:654 +#: order/models.py:932 part/models.py:2558 #: 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/bom.js:690 templates/js/translated/bom.js:852 #: 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:3959 @@ -673,13 +672,12 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: 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:2460 part/models.py:2545 part/models.py:2821 -#: part/serializers.py:793 part/templates/part/part_app_base.html:8 +#: order/models.py:1028 order/models.py:1119 part/models.py:336 +#: part/models.py:2087 part/models.py:2102 part/models.py:2121 +#: part/models.py:2139 part/models.py:2238 part/models.py:2358 +#: part/models.py:2448 part/models.py:2533 part/models.py:2809 +#: part/serializers.py:795 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 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 @@ -687,22 +685,23 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 +#: templates/email/overdue_build_order.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:805 +#: templates/js/translated/bom.js:689 templates/js/translated/bom.js:799 #: 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/company.js:253 +#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:592 +#: templates/js/translated/company.js:851 templates/js/translated/order.js:100 #: templates/js/translated/order.js:883 templates/js/translated/order.js:1315 #: 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:1633 templates/js/translated/stock.js:2376 -#: templates/js/translated/stock.js:2571 templates/js/translated/stock.js:2705 +#: templates/js/translated/part.js:1111 templates/js/translated/part.js:1181 +#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:695 templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2386 +#: templates/js/translated/stock.js:2581 templates/js/translated/stock.js:2715 msgid "Part" msgstr "Alkatrész" @@ -768,12 +767,12 @@ msgstr "Batch kód" msgid "Batch code for this build output" msgstr "Batch kód a gyártás kimenetéhez" -#: build/models.py:282 order/models.py:137 part/models.py:932 +#: build/models.py:282 order/models.py:138 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:286 order/models.py:660 +#: build/models.py:286 order/models.py:676 msgid "Target completion date" msgstr "Befejezés cél dátuma" @@ -781,7 +780,7 @@ msgstr "Befejezés cél dátuma" 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:290 order/models.py:331 +#: build/models.py:290 order/models.py:336 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "Elkészítés dátuma" @@ -799,7 +798,7 @@ 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:313 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:151 +#: build/templates/build/detail.html:115 order/models.py:152 #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 @@ -822,20 +821,20 @@ msgstr "Külső link" #: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 #: company/models.py:519 company/templates/company/sidebar.html:25 -#: order/models.py:155 order/models.py:918 order/models.py:1213 +#: order/models.py:156 order/models.py:934 order/models.py:1229 #: order/templates/order/po_sidebar.html:11 #: 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:713 stock/models.py:1985 stock/models.py:2093 +#: stock/models.py:713 stock/models.py:1989 stock/models.py:2097 #: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:486 -#: stock/serializers.py:772 stock/serializers.py:871 stock/serializers.py:1003 +#: stock/serializers.py:759 stock/serializers.py:858 stock/serializers.py:990 #: 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/barcode.js:100 templates/js/translated/bom.js:1038 +#: templates/js/translated/company.js:947 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 -#: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 +#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1926 msgid "Notes" msgstr "Megjegyzések" @@ -855,44 +854,44 @@ msgstr "Gyártási kimenet már kész" 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:1108 +#: build/models.py:1111 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:1117 +#: build/models.py:1120 #, 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:1127 +#: build/models.py:1130 msgid "Stock item is over-allocated" msgstr "Készlet túlfoglalva" -#: build/models.py:1133 order/models.py:1372 +#: build/models.py:1136 order/models.py:1388 msgid "Allocation quantity must be greater than zero" msgstr "Lefoglalt mennyiségnek nullánál többnek kell lennie" -#: build/models.py:1139 +#: build/models.py:1142 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:1196 +#: build/models.py:1199 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:1265 stock/templates/stock/item_base.html:177 +#: build/models.py:1268 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:1266 +#: build/models.py:1269 msgid "Build to allocate parts" msgstr "Gyártás amihez készletet foglaljunk" -#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 -#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:703 -#: stock/serializers.py:829 stock/templates/stock/item_base.html:10 +#: build/models.py:1285 build/serializers.py:603 order/serializers.py:996 +#: order/serializers.py:1017 stock/serializers.py:382 stock/serializers.py:690 +#: stock/serializers.py:816 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 @@ -900,22 +899,22 @@ msgstr "Gyártás amihez készletet foglaljunk" #: 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:2449 +#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696 +#: templates/js/translated/stock.js:2459 msgid "Stock Item" msgstr "Készlet tétel" -#: build/models.py:1283 +#: build/models.py:1286 msgid "Source stock item" msgstr "Forrás készlet tétel" -#: build/models.py:1295 build/serializers.py:183 +#: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1536 +#: build/templates/build/detail.html:34 common/models.py:1543 #: 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:68 -#: part/forms.py:83 part/forms.py:98 part/models.py:2561 +#: order/models.py:925 order/models.py:1428 order/serializers.py:1136 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 +#: part/forms.py:74 part/forms.py:89 part/models.py:2549 #: 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 @@ -926,8 +925,8 @@ msgstr "Forrás készlet tétel" #: report/templates/report/inventree_test_report_base.html:139 #: 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 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:691 +#: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 #: templates/js/translated/build.js:574 templates/js/translated/build.js:765 #: templates/js/translated/build.js:1175 templates/js/translated/build.js:1673 #: templates/js/translated/build.js:2086 @@ -937,23 +936,23 @@ msgstr "Forrás készlet tétel" #: 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: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 -#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727 -#: templates/js/translated/stock.js:2498 templates/js/translated/stock.js:2583 +#: templates/js/translated/part.js:1011 templates/js/translated/part.js:2065 +#: templates/js/translated/part.js:2296 templates/js/translated/part.js:2330 +#: templates/js/translated/part.js:2408 templates/js/translated/stock.js:402 +#: templates/js/translated/stock.js:556 templates/js/translated/stock.js:726 +#: templates/js/translated/stock.js:2508 templates/js/translated/stock.js:2593 msgid "Quantity" msgstr "Mennyiség" -#: build/models.py:1296 +#: build/models.py:1299 msgid "Stock quantity to allocate to build" msgstr "Készlet mennyiség amit foglaljunk a gyártáshoz" -#: build/models.py:1304 +#: build/models.py:1307 msgid "Install into" msgstr "Beépítés ebbe" -#: build/models.py:1305 +#: build/models.py:1308 msgid "Destination stock item" msgstr "Cél készlet tétel" @@ -982,9 +981,9 @@ msgstr "Ez a gyártási kimenet nincs teljesen lefoglalva" msgid "Enter quantity for build output" msgstr "Add meg a mennyiséget a gyártás kimenetéhez" -#: 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:1239 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:368 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:514 +#: part/serializers.py:958 stock/models.py:470 stock/models.py:1239 #: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "Mennyiségnek nullánál többnek kell lennie" @@ -997,9 +996,9 @@ msgstr "Egész számú mennyiség szükséges az egyedi követésre kötelezett 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:222 order/serializers.py:448 order/serializers.py:1138 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 #: stock/serializers.py:297 templates/js/translated/order.js:1186 -#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:237 templates/js/translated/stock.js:403 msgid "Serial Numbers" msgstr "Sorozatszámok" @@ -1015,7 +1014,7 @@ msgstr "Sorozatszámok automatikus hozzárendelése" 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:268 stock/api.py:552 +#: build/serializers.py:268 stock/api.py:553 msgid "The following serial numbers already exist" msgstr "A következő sorozatszámok már léteznek" @@ -1025,16 +1024,16 @@ msgstr "A gyártási kimenetek listáját meg kell adni" #: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 #: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:481 -#: stock/serializers.py:864 stock/serializers.py:1097 +#: stock/serializers.py:851 stock/serializers.py:1084 #: 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 #: 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:1787 templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532 +#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904 +#: templates/js/translated/stock.js:1797 templates/js/translated/stock.js:2400 msgid "Location" msgstr "Hely" @@ -1043,12 +1042,12 @@ msgid "Location for completed build outputs" msgstr "A kész gyártási kimenetek helye" #: build/serializers.py:363 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:654 +#: build/templates/build/detail.html:62 order/models.py:670 #: 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 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1772 +#: templates/js/translated/stock.js:2477 templates/js/translated/stock.js:2609 msgid "Status" msgstr "Állapot" @@ -1109,8 +1108,8 @@ msgstr "A gyártási utasítás befejezetlen kimeneteket tartalmaz" 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:535 build/serializers.py:580 part/models.py:2679 -#: part/models.py:2813 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2667 +#: part/models.py:2801 msgid "BOM Item" msgstr "Alkatrészjegyzék tétel" @@ -1126,11 +1125,11 @@ msgstr "A gyártási kimenetnek ugyanarra a gyártásra kell mutatnia" 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:609 stock/serializers.py:716 +#: build/serializers.py:609 stock/serializers.py:703 msgid "Item must be in stock" msgstr "A tételnek kell legyen készlete" -#: build/serializers.py:667 order/serializers.py:1052 +#: build/serializers.py:667 order/serializers.py:1054 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Rendelkezésre álló mennyiség ({q}) túllépve" @@ -1147,7 +1146,7 @@ msgstr "Gyártási kimenetet nem lehet megadni a követésre kötelezett alkatr 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:708 order/serializers.py:1298 +#: build/serializers.py:708 order/serializers.py:1300 msgid "Allocation items must be provided" msgstr "A lefoglalandó tételeket meg kell adni" @@ -1179,10 +1178,19 @@ msgstr "Készlet helyettesítés" msgid "Allow allocation of substitute parts" msgstr "Helyettesítő alkatrészek foglalásának engedélyezése" -#: build/tasks.py:96 +#: build/tasks.py:100 msgid "Stock required for build order" msgstr "A gyártási utasításhoz készlet szükséges" +#: build/tasks.py:118 +msgid "Overdue Build Order" +msgstr "" + +#: build/tasks.py:123 +#, python-brace-format +msgid "Build order {bo} is now overdue" +msgstr "" + #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 #: order/templates/order/sales_order_base.html:38 @@ -1245,13 +1253,13 @@ 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:922 +#: build/templates/build/detail.html:131 order/models.py:938 #: 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: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 +#: templates/js/translated/order.js:3517 templates/js/translated/part.js:1015 msgid "Target Date" msgstr "Cél dátum" @@ -1278,13 +1286,14 @@ msgid "Completed" msgstr "Kész" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1100 -#: order/models.py:1185 order/models.py:1320 +#: build/templates/build/detail.html:94 order/models.py:1116 +#: order/models.py:1201 order/models.py:1336 #: 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/email/overdue_sales_order.html:15 #: templates/js/translated/order.js:2436 msgid "Sales Order" msgstr "Vevői rendelés" @@ -1320,7 +1329,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:1034 +#: build/templates/build/detail.html:49 order/models.py:1050 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "Cél" @@ -1337,8 +1346,8 @@ msgstr "Lefoglalt alkatrészek" #: stock/templates/stock/item_base.html:170 #: templates/js/translated/build.js:1179 #: templates/js/translated/model_renderers.js:112 -#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1776 -#: templates/js/translated/stock.js:2606 +#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:2616 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1717,7 +1726,7 @@ msgstr "Kategória paraméter sablonok másolása" 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:820 part/models.py:2372 report/models.py:157 +#: common/models.py:820 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" @@ -1727,7 +1736,7 @@ msgstr "Sablon" msgid "Parts are templates by default" msgstr "Alkatrészek alapból sablon alkatrészek legyenek" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" @@ -1881,576 +1890,584 @@ msgid "Default page size for PDF reports" msgstr "Alapértelmezett lapméret a PDF riportokhoz" #: common/models.py:968 -msgid "Test Reports" -msgstr "Teszt riportok" +msgid "Enable Test Reports" +msgstr "" #: common/models.py:969 msgid "Enable generation of test reports" msgstr "Teszt riportok előállításának engedélyezése" #: common/models.py:975 +msgid "Attach Test Reports" +msgstr "" + +#: common/models.py:976 +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" +msgstr "" + +#: common/models.py:982 msgid "Batch Code Template" msgstr "Batch kód sablon" -#: common/models.py:976 +#: common/models.py:983 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:981 +#: common/models.py:988 msgid "Stock Expiry" msgstr "Készlet lejárata" -#: common/models.py:982 +#: common/models.py:989 msgid "Enable stock expiry functionality" msgstr "Készlet lejárat kezelésének engedélyezése" -#: common/models.py:988 +#: common/models.py:995 msgid "Sell Expired Stock" msgstr "Lejárt készlet értékesítése" -#: common/models.py:989 +#: common/models.py:996 msgid "Allow sale of expired stock" msgstr "Lejárt készlet értékesítésének engedélyezése" -#: common/models.py:995 +#: common/models.py:1002 msgid "Stock Stale Time" msgstr "Álló készlet ideje" -#: common/models.py:996 +#: common/models.py:1003 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:998 +#: common/models.py:1005 msgid "days" msgstr "nap" -#: common/models.py:1003 +#: common/models.py:1010 msgid "Build Expired Stock" msgstr "Lejárt készlet gyártása" -#: common/models.py:1004 +#: common/models.py:1011 msgid "Allow building with expired stock" msgstr "Gyártás engedélyezése lejárt készletből" -#: common/models.py:1010 +#: common/models.py:1017 msgid "Stock Ownership Control" msgstr "Készlet tulajdonosok kezelése" -#: common/models.py:1011 +#: common/models.py:1018 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:1017 +#: common/models.py:1024 msgid "Build Order Reference Prefix" msgstr "Gyártási utasítás azonosító előtagja" -#: common/models.py:1018 +#: common/models.py:1025 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:1023 +#: common/models.py:1030 msgid "Build Order Reference Regex" msgstr "Gyártási utasítás azonosító reguláris kifejezés" -#: common/models.py:1024 +#: common/models.py:1031 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:1028 +#: common/models.py:1035 msgid "Sales Order Reference Prefix" msgstr "Vevői rendelés azonosító előtagja" -#: common/models.py:1029 +#: common/models.py:1036 msgid "Prefix value for sales order reference" msgstr "Előtag értéke a vevői rendelés azonosítóhoz" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Sales Order Default Shipment" msgstr "Vevői rendeléshez alapértelmezett szállítmány" -#: common/models.py:1035 +#: common/models.py:1042 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:1041 +#: common/models.py:1048 msgid "Purchase Order Reference Prefix" msgstr "Beszerzési rendelés azonosító előtagja" -#: common/models.py:1042 +#: common/models.py:1049 msgid "Prefix value for purchase order reference" msgstr "Előtag értéke a beszerzési rendelés azonosítóhoz" -#: common/models.py:1048 +#: common/models.py:1055 msgid "Enable password forgot" msgstr "Elfelejtett jelszó engedélyezése" -#: common/models.py:1049 +#: common/models.py:1056 msgid "Enable password forgot function on the login pages" msgstr "Elfelejtett jelszó funkció engedélyezése a bejentkező oldalon" -#: common/models.py:1055 +#: common/models.py:1062 msgid "Enable registration" msgstr "Regisztráció engedélyezése" -#: common/models.py:1056 +#: common/models.py:1063 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:1062 +#: common/models.py:1069 msgid "Enable SSO" msgstr "SSO engedélyezése" -#: common/models.py:1063 +#: common/models.py:1070 msgid "Enable SSO on the login pages" msgstr "SSO engedélyezése a bejelentkező oldalon" -#: common/models.py:1069 +#: common/models.py:1076 msgid "Email required" msgstr "Email szükséges" -#: common/models.py:1070 +#: common/models.py:1077 msgid "Require user to supply mail on signup" msgstr "Kötelező email megadás regisztrációkor" -#: common/models.py:1076 +#: common/models.py:1083 msgid "Auto-fill SSO users" msgstr "SSO felhasználók automatikus kitöltése" -#: common/models.py:1077 +#: common/models.py:1084 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:1083 +#: common/models.py:1090 msgid "Mail twice" msgstr "Email kétszer" -#: common/models.py:1084 +#: common/models.py:1091 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:1090 +#: common/models.py:1097 msgid "Password twice" msgstr "Jelszó kétszer" -#: common/models.py:1091 +#: common/models.py:1098 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:1097 +#: common/models.py:1104 msgid "Group on signup" msgstr "Csoport regisztráláskor" -#: common/models.py:1098 +#: common/models.py:1105 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:1104 +#: common/models.py:1111 msgid "Enforce MFA" msgstr "Többfaktoros hitelesítés kényszerítése" -#: common/models.py:1105 +#: common/models.py:1112 msgid "Users must use multifactor security." msgstr "A felhasználóknak többfaktoros hitelesítést kell használniuk." -#: common/models.py:1111 +#: common/models.py:1118 msgid "Check plugins on startup" msgstr "Pluginok ellenőrzése indításkor" -#: common/models.py:1112 +#: common/models.py:1119 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:1120 +#: common/models.py:1127 msgid "Enable URL integration" msgstr "URL integráció engedélyezése" -#: common/models.py:1121 +#: common/models.py:1128 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:1128 +#: common/models.py:1135 msgid "Enable navigation integration" msgstr "Navigációs integráció engedélyezése" -#: common/models.py:1129 +#: common/models.py:1136 msgid "Enable plugins to integrate into navigation" msgstr "Navigációs integráció engedélyezése a pluginok számára" -#: common/models.py:1136 +#: common/models.py:1143 msgid "Enable app integration" msgstr "App integráció engedélyezése" -#: common/models.py:1137 +#: common/models.py:1144 msgid "Enable plugins to add apps" msgstr "App hozzáadásának engedélyezése a pluginok számára" -#: common/models.py:1144 +#: common/models.py:1151 msgid "Enable schedule integration" msgstr "Ütemezés integráció engedélyezése" -#: common/models.py:1145 +#: common/models.py:1152 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:1152 +#: common/models.py:1159 msgid "Enable event integration" msgstr "Esemény integráció engedélyezése" -#: common/models.py:1153 +#: common/models.py:1160 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:1170 common/models.py:1492 +#: common/models.py:1177 common/models.py:1499 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:1192 +#: common/models.py:1199 msgid "Show subscribed parts" msgstr "Értesítésre beállított alkatrészek megjelenítése" -#: common/models.py:1193 +#: common/models.py:1200 msgid "Show subscribed parts on the homepage" msgstr "Alkatrész értesítések megjelenítése a főoldalon" -#: common/models.py:1199 +#: common/models.py:1206 msgid "Show subscribed categories" msgstr "Értesítésre beállított kategóriák megjelenítése" -#: common/models.py:1200 +#: common/models.py:1207 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:1206 +#: common/models.py:1213 msgid "Show latest parts" msgstr "Legújabb alkatrészek megjelenítése" -#: common/models.py:1207 +#: common/models.py:1214 msgid "Show latest parts on the homepage" msgstr "Legújabb alkatrészek megjelenítése a főoldalon" -#: common/models.py:1213 +#: common/models.py:1220 msgid "Recent Part Count" msgstr "Legfrissebb alkatrész szám" -#: common/models.py:1214 +#: common/models.py:1221 msgid "Number of recent parts to display on index page" msgstr "Főoldalon megjelenítendő legújabb alkatrészek" -#: common/models.py:1220 +#: common/models.py:1227 msgid "Show unvalidated BOMs" msgstr "Jóváhagyás nélküli alkatrészjegyzékek megjelenítése" -#: common/models.py:1221 +#: common/models.py:1228 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:1227 +#: common/models.py:1234 msgid "Show recent stock changes" msgstr "Legfrissebb készlet változások megjelenítése" -#: common/models.py:1228 +#: common/models.py:1235 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:1234 +#: common/models.py:1241 msgid "Recent Stock Count" msgstr "Legfrissebb készlet mennyiség" -#: common/models.py:1235 +#: common/models.py:1242 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:1241 +#: common/models.py:1248 msgid "Show low stock" msgstr "Alacsony készlet megjelenítése" -#: common/models.py:1242 +#: common/models.py:1249 msgid "Show low stock items on the homepage" msgstr "Alacsony készletek megjelenítése a főoldalon" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Show depleted stock" msgstr "Kimerült készlet megjelenítése" -#: common/models.py:1249 +#: common/models.py:1256 msgid "Show depleted stock items on the homepage" msgstr "Kimerült készletek megjelenítése a főoldalon" -#: common/models.py:1255 +#: common/models.py:1262 msgid "Show needed stock" msgstr "Gyártáshoz szükséges készlet megjelenítése" -#: common/models.py:1256 +#: common/models.py:1263 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:1262 +#: common/models.py:1269 msgid "Show expired stock" msgstr "Lejárt készlet megjelenítése" -#: common/models.py:1263 +#: common/models.py:1270 msgid "Show expired stock items on the homepage" msgstr "Lejárt készletek megjelenítése a főoldalon" -#: common/models.py:1269 +#: common/models.py:1276 msgid "Show stale stock" msgstr "Állott készlet megjelenítése" -#: common/models.py:1270 +#: common/models.py:1277 msgid "Show stale stock items on the homepage" msgstr "Álló készletek megjelenítése a főoldalon" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Show pending builds" msgstr "Függő gyártások megjelenítése" -#: common/models.py:1277 +#: common/models.py:1284 msgid "Show pending builds on the homepage" msgstr "Folyamatban lévő gyártások megjelenítése a főoldalon" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Show overdue builds" msgstr "Késésben lévő gyártások megjelenítése" -#: common/models.py:1284 +#: common/models.py:1291 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:1290 +#: common/models.py:1297 msgid "Show outstanding POs" msgstr "Kintlévő beszerzési rendelések megjelenítése" -#: common/models.py:1291 +#: common/models.py:1298 msgid "Show outstanding POs on the homepage" msgstr "Kintlévő beszerzési rendelések megjelenítése a főoldalon" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Show overdue POs" msgstr "Késésben lévő megrendelések megjelenítése" -#: common/models.py:1298 +#: common/models.py:1305 msgid "Show overdue POs on the homepage" msgstr "Késésben lévő megrendelések megjelenítése a főoldalon" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Show outstanding SOs" msgstr "Függő vevői rendelések megjelenítése" -#: common/models.py:1305 +#: common/models.py:1312 msgid "Show outstanding SOs on the homepage" msgstr "Függő vevői rendelések megjelenítése a főoldalon" -#: common/models.py:1311 +#: common/models.py:1318 msgid "Show overdue SOs" msgstr "Késésben lévő vevői rendelések megjelenítése" -#: common/models.py:1312 +#: common/models.py:1319 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:1317 +#: common/models.py:1324 msgid "Enable label printing" msgstr "Címke nyomtatás engedélyezése" -#: common/models.py:1318 +#: common/models.py:1325 msgid "Enable label printing from the web interface" msgstr "Címke nyomtatás engedélyezése a web felületről" -#: common/models.py:1324 +#: common/models.py:1331 msgid "Inline label display" msgstr "Beágyazott címke megjelenítés" -#: common/models.py:1325 +#: common/models.py:1332 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:1331 +#: common/models.py:1338 msgid "Inline report display" msgstr "Beágyazott riport megjelenítés" -#: common/models.py:1332 +#: common/models.py:1339 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:1338 +#: common/models.py:1345 msgid "Search Parts" msgstr "Alkatrészek keresése" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Display parts in search preview window" msgstr "Alkatrészek megjelenítése a keresési előnézetben" -#: common/models.py:1345 +#: common/models.py:1352 msgid "Seach Supplier Parts" msgstr "Beszállítói alkatrészek keresése" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Display supplier parts in search preview window" msgstr "Beszállítói alkatrészek megjelenítése a keresési előnézetben" -#: common/models.py:1352 +#: common/models.py:1359 msgid "Search Manufacturer Parts" msgstr "Gyártói alkatrészek keresése" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Display manufacturer parts in search preview window" msgstr "Gyártói alkatrészek megjelenítése a keresési előnézetben" -#: common/models.py:1359 +#: common/models.py:1366 msgid "Hide Inactive Parts" msgstr "Inaktív alkatrészek elrejtése" -#: common/models.py:1360 +#: common/models.py:1367 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:1366 +#: common/models.py:1373 msgid "Search Categories" msgstr "Kategóriák keresése" -#: common/models.py:1367 +#: common/models.py:1374 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:1373 +#: common/models.py:1380 msgid "Search Stock" msgstr "Készlet keresése" -#: common/models.py:1374 +#: common/models.py:1381 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:1380 +#: common/models.py:1387 msgid "Hide Unavailable Stock Items" msgstr "Nem elérhető készlet tételek elrejtése" -#: common/models.py:1381 +#: common/models.py:1388 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:1387 +#: common/models.py:1394 msgid "Search Locations" msgstr "Helyek keresése" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Display stock locations in search preview window" msgstr "Készlet helyek megjelenítése a keresési előnézetben" -#: common/models.py:1394 +#: common/models.py:1401 msgid "Search Companies" msgstr "Cégek keresése" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Display companies in search preview window" msgstr "Cégek megjelenítése a keresési előnézetben" -#: common/models.py:1401 +#: common/models.py:1408 msgid "Search Purchase Orders" msgstr "Beszerzési rendelések keresése" -#: common/models.py:1402 +#: common/models.py:1409 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:1408 +#: common/models.py:1415 msgid "Exclude Inactive Purchase Orders" msgstr "Inaktív beszerzési rendelések kihagyása" -#: common/models.py:1409 +#: common/models.py:1416 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:1415 +#: common/models.py:1422 msgid "Search Sales Orders" msgstr "Vevői rendelések keresése" -#: common/models.py:1416 +#: common/models.py:1423 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:1422 +#: common/models.py:1429 msgid "Exclude Inactive Sales Orders" msgstr "Inaktív vevői rendelések kihagyása" -#: common/models.py:1423 +#: common/models.py:1430 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:1429 +#: common/models.py:1436 msgid "Search Preview Results" msgstr "Keresési előnézet eredményei" -#: common/models.py:1430 +#: common/models.py:1437 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:1436 +#: common/models.py:1443 msgid "Show Quantity in Forms" msgstr "Mennyiség megjelenítése a formokon" -#: common/models.py:1437 +#: common/models.py:1444 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:1443 +#: common/models.py:1450 msgid "Escape Key Closes Forms" msgstr "ESC billentyű zárja be a formot" -#: common/models.py:1444 +#: common/models.py:1451 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:1450 +#: common/models.py:1457 msgid "Fixed Navbar" msgstr "Rögzített menüsor" -#: common/models.py:1451 +#: common/models.py:1458 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:1457 +#: common/models.py:1464 msgid "Date Format" msgstr "Dátum formátum" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Preferred format for displaying dates" msgstr "Preferált dátum formátum a dátumok kijelzésekor" -#: common/models.py:1472 part/templates/part/detail.html:39 +#: common/models.py:1479 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "Alkatrész ütemezés" -#: common/models.py:1473 +#: common/models.py:1480 msgid "Display part scheduling information" msgstr "Alkatrész ütemezési információk megjelenítése" -#: common/models.py:1537 company/forms.py:37 +#: common/models.py:1544 company/forms.py:37 msgid "Price break quantity" msgstr "Árlépcső mennyiség" -#: 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 +#: common/models.py:1551 company/serializers.py:290 +#: company/templates/company/supplier_part.html:263 order/models.py:965 +#: templates/js/translated/part.js:1042 templates/js/translated/part.js:2070 msgid "Price" msgstr "Ár" -#: common/models.py:1545 +#: common/models.py:1552 msgid "Unit price at specified quantity" msgstr "Egységár egy meghatározott mennyiség esetén" -#: common/models.py:1705 common/models.py:1883 +#: common/models.py:1712 common/models.py:1890 msgid "Endpoint" msgstr "Végpont" -#: common/models.py:1706 +#: common/models.py:1713 msgid "Endpoint at which this webhook is received" msgstr "Végpont ahol ez a webhook érkezik" -#: common/models.py:1715 +#: common/models.py:1722 msgid "Name for this webhook" msgstr "Webhook neve" -#: common/models.py:1720 part/models.py:911 plugin/models.py:99 +#: common/models.py:1727 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 @@ -2458,79 +2475,89 @@ msgstr "Webhook neve" msgid "Active" msgstr "Aktív" -#: common/models.py:1721 +#: common/models.py:1728 msgid "Is this webhook active" msgstr "Aktív-e ez a webhook" -#: common/models.py:1735 +#: common/models.py:1742 msgid "Token" msgstr "Token" -#: common/models.py:1736 +#: common/models.py:1743 msgid "Token for access" msgstr "Token a hozzáféréshez" -#: common/models.py:1743 +#: common/models.py:1750 msgid "Secret" msgstr "Titok" -#: common/models.py:1744 +#: common/models.py:1751 msgid "Shared secret for HMAC" msgstr "Megosztott titok a HMAC-hoz" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Message ID" msgstr "Üzenet azonosító" -#: common/models.py:1851 +#: common/models.py:1858 msgid "Unique identifier for this message" msgstr "Egyedi azonosító ehhez az üzenethez" -#: common/models.py:1859 +#: common/models.py:1866 msgid "Host" msgstr "Kiszolgáló" -#: common/models.py:1860 +#: common/models.py:1867 msgid "Host from which this message was received" msgstr "Kiszolgáló ahonnan ez az üzenet érkezett" -#: common/models.py:1867 +#: common/models.py:1874 msgid "Header" msgstr "Fejléc" -#: common/models.py:1868 +#: common/models.py:1875 msgid "Header of this message" msgstr "Üzenet fejléce" -#: common/models.py:1874 +#: common/models.py:1881 msgid "Body" msgstr "Törzs" -#: common/models.py:1875 +#: common/models.py:1882 msgid "Body of this message" msgstr "Üzenet törzse" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Endpoint on which this message was received" msgstr "Végpont amin ez az üzenet érkezett" -#: common/models.py:1889 +#: common/models.py:1896 msgid "Worked on" msgstr "Dolgozott rajta" -#: common/models.py:1890 +#: common/models.py:1897 msgid "Was the work on this message finished?" msgstr "Befejeződött a munka ezzel az üzenettel?" +#: common/notifications.py:292 +#, python-brace-format +msgid "New {verbose_name}" +msgstr "" + +#: common/notifications.py:294 +#, python-brace-format +msgid "A new {verbose_name} has been created and ,assigned to you" +msgstr "" + #: common/views.py:87 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:191 +#: order/views.py:102 part/views.py:116 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Fájl feltöltése" #: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:192 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:117 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "Mezők egyeztetése" @@ -2546,19 +2573,19 @@ msgstr "Mezők egyeztetése sikertelen" msgid "Parts imported" msgstr "Importált alkatrészek" -#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:511 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:16 part/forms.py:21 +#: company/forms.py:16 part/forms.py:18 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: company/forms.py:17 part/forms.py:22 +#: company/forms.py:17 part/forms.py:19 msgid "Image URL" msgstr "Kép URL" @@ -2572,7 +2599,7 @@ msgstr "A cég leírása" #: company/models.py:104 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:405 +#: templates/js/translated/company.js:399 msgid "Website" msgstr "Weboldal" @@ -2645,9 +2672,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:294 -#: company/templates/company/company_base.html:106 part/serializers.py:137 -#: part/serializers.py:168 stock/serializers.py:162 +#: company/models.py:144 company/serializers.py:296 +#: company/templates/company/company_base.html:106 part/serializers.py:139 +#: part/serializers.py:170 stock/serializers.py:162 msgid "Currency" msgstr "Pénznem" @@ -2668,10 +2695,10 @@ msgstr "Válassz alkatrészt" #: 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: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/company.js:383 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:617 +#: templates/js/translated/company.js:902 templates/js/translated/part.js:235 #: templates/js/translated/table_filters.js:411 msgid "Manufacturer" msgstr "Gyártó" @@ -2682,11 +2709,11 @@ msgstr "Gyártó kiválasztása" #: 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 -#: 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 +#: templates/js/translated/company.js:256 +#: templates/js/translated/company.js:483 +#: templates/js/translated/company.js:633 +#: templates/js/translated/company.js:920 templates/js/translated/order.js:1907 +#: templates/js/translated/part.js:246 templates/js/translated/part.js:1000 msgid "MPN" msgstr "MPN" @@ -2715,9 +2742,9 @@ msgstr "Paraméter neve" #: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2080 templates/js/translated/company.js:540 -#: templates/js/translated/company.js:763 templates/js/translated/part.js:776 -#: templates/js/translated/stock.js:1294 +#: stock/models.py:2084 templates/js/translated/company.js:531 +#: templates/js/translated/company.js:748 templates/js/translated/part.js:820 +#: templates/js/translated/stock.js:1304 msgid "Value" msgstr "Érték" @@ -2725,10 +2752,10 @@ msgstr "Érték" msgid "Parameter value" msgstr "Paraméter értéke" -#: company/models.py:368 part/models.py:878 part/models.py:2339 +#: company/models.py:368 part/models.py:878 part/models.py:2327 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:351 -#: templates/js/translated/company.js:769 templates/js/translated/part.js:782 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:826 msgid "Units" msgstr "Mértékegységek" @@ -2741,13 +2768,14 @@ 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:487 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:303 +#: company/templates/company/supplier_part.html:87 order/models.py:308 #: 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 -#: 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/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:255 +#: templates/js/translated/company.js:387 +#: templates/js/translated/company.js:876 templates/js/translated/order.js:1643 +#: templates/js/translated/part.js:216 templates/js/translated/part.js:968 #: templates/js/translated/table_filters.js:415 msgid "Supplier" msgstr "Beszállító" @@ -2757,9 +2785,9 @@ msgid "Select supplier" msgstr "Beszállító kiválasztása" #: 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 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:254 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 -#: templates/js/translated/part.js:942 +#: templates/js/translated/part.js:986 msgid "SKU" msgstr "SKU" @@ -2780,23 +2808,23 @@ msgid "Supplier part description" msgstr "Beszállítói alkatrész leírása" #: company/models.py:518 company/templates/company/supplier_part.html:125 -#: part/models.py:2573 part/templates/part/upload_bom.html:59 +#: part/models.py:2561 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:387 msgid "Note" msgstr "Megjegyzés" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "base cost" msgstr "alap költség" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimális díj (pl. tárolási díj)" #: 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 +#: templates/js/translated/company.js:952 templates/js/translated/stock.js:1922 msgid "Packaging" msgstr "Csomagolás" @@ -2804,7 +2832,7 @@ msgstr "Csomagolás" msgid "Part packaging" msgstr "Alkatrész csomagolás" -#: company/models.py:526 part/models.py:1690 +#: company/models.py:526 part/models.py:1685 msgid "multiple" msgstr "többszörös" @@ -2826,7 +2854,7 @@ msgstr "Pénznem kódja" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:177 templates/js/translated/company.js:378 +#: templates/InvenTree/search.html:177 templates/js/translated/company.js:372 msgid "Company" msgstr "Cég" @@ -2844,7 +2872,7 @@ msgid "Edit company information" msgstr "Cég adatainak szerkesztése" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:321 +#: templates/js/translated/company.js:315 msgid "Edit Company" msgstr "Cég szerkesztése" @@ -2867,12 +2895,13 @@ 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:649 +#: company/templates/company/company_base.html:86 order/models.py:665 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:758 +#: stock/models.py:628 stock/serializers.py:745 #: 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 +#: templates/email/overdue_sales_order.html:16 +#: templates/js/translated/company.js:379 templates/js/translated/order.js:2458 +#: templates/js/translated/stock.js:2441 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "Vevő" @@ -3000,7 +3029,7 @@ msgid "Supplier List" msgstr "Beszállítók listája" #: company/templates/company/manufacturer_part.html:15 company/views.py:45 -#: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 +#: part/templates/part/prices.html:172 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" msgstr "Gyártók" @@ -3013,12 +3042,12 @@ msgid "Order part" msgstr "Alkatrész rendelés" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:680 +#: templates/js/translated/company.js:665 msgid "Edit manufacturer part" msgstr "Gyártói alkatrész szerkesztése" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:681 +#: templates/js/translated/company.js:666 msgid "Delete manufacturer part" msgstr "Gyártói alkatrész törlése" @@ -3033,7 +3062,7 @@ 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:39 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 +#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" msgstr "Beszállítók" @@ -3093,18 +3122,18 @@ msgstr "Hozzárendelt készlet tételek" #: company/templates/company/supplier_part.html:7 #: 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 +#: templates/js/translated/company.js:892 templates/js/translated/order.js:884 +#: templates/js/translated/stock.js:1879 msgid "Supplier Part" msgstr "Beszállítói alkatrész" #: company/templates/company/supplier_part.html:38 -#: templates/js/translated/company.js:980 +#: templates/js/translated/company.js:965 msgid "Edit supplier part" msgstr "Beszállítói alkatrész szerkesztése" #: company/templates/company/supplier_part.html:42 -#: templates/js/translated/company.js:981 +#: templates/js/translated/company.js:966 msgid "Delete supplier part" msgstr "Beszállítói alkatrész törlése" @@ -3124,7 +3153,7 @@ msgstr "Új készlet tétel létrehozása" #: company/templates/company/supplier_part.html:148 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 -#: templates/js/translated/stock.js:380 +#: templates/js/translated/stock.js:379 msgid "New Stock Item" msgstr "Új készlet tétel" @@ -3145,7 +3174,7 @@ msgstr "Árinformációk" #: company/templates/company/supplier_part.html:191 #: company/templates/company/supplier_part.html:305 -#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046 +#: part/templates/part/prices.html:276 templates/js/translated/part.js:2142 msgid "Add Price Break" msgstr "Árlépcső hozzáadása" @@ -3154,12 +3183,12 @@ msgid "No price break information found" msgstr "Nincs árlépcső információ" #: company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2152 msgid "Delete Price Break" msgstr "Árlépcső törlése" #: company/templates/company/supplier_part.html:245 -#: templates/js/translated/part.js:2070 +#: templates/js/translated/part.js:2166 msgid "Edit Price Break" msgstr "Árlépcső szerkesztése" @@ -3181,9 +3210,9 @@ msgstr "Utoljára módosítva" #: stock/templates/stock/stock_app_base.html:10 #: 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:1687 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:722 +#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1431 +#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 msgid "Stock" msgstr "Készlet" @@ -3210,7 +3239,7 @@ msgstr "Árazás" #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 -#: templates/js/translated/stock.js:2307 users/models.py:39 +#: templates/js/translated/stock.js:2317 users/models.py:39 msgid "Stock Items" msgstr "Készlet tételek" @@ -3239,20 +3268,20 @@ msgstr "Cégek" msgid "New Company" msgstr "Új cég" -#: company/views.py:112 part/views.py:576 +#: company/views.py:112 part/views.py:501 msgid "Download Image" msgstr "Kép letöltése" -#: company/views.py:139 part/views.py:606 +#: company/views.py:139 part/views.py:531 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:146 part/views.py:613 +#: company/views.py:146 part/views.py:538 #, python-brace-format msgid "Invalid response: {code}" msgstr "Érvénytelen válasz: {code}" -#: company/views.py:155 part/views.py:622 +#: company/views.py:155 part/views.py:547 msgid "Supplied URL is not a valid image file" msgstr "A megadott URL nem egy érvényes kép fájl" @@ -3321,313 +3350,314 @@ msgstr "Lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok" 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:133 +#: order/models.py:134 msgid "Order description" msgstr "Rendelés leírása" -#: order/models.py:135 order/models.py:1236 +#: order/models.py:136 order/models.py:1252 msgid "Link to external page" msgstr "Link külső weboldalra" -#: order/models.py:143 +#: order/models.py:144 msgid "Created By" msgstr "Készítette" -#: order/models.py:150 +#: order/models.py:151 msgid "User or group responsible for this order" msgstr "Felhasználó vagy csoport aki felelőse ennek a rendelésnek" -#: order/models.py:155 +#: order/models.py:156 msgid "Order notes" msgstr "Rendelés jegyzetek" -#: order/models.py:289 order/models.py:639 +#: order/models.py:294 order/models.py:655 msgid "Order reference" msgstr "Rendelés azonosító" -#: order/models.py:294 order/models.py:654 +#: order/models.py:299 order/models.py:670 msgid "Purchase order status" msgstr "Beszerzési rendelés állapota" -#: order/models.py:304 +#: order/models.py:309 msgid "Company from which the items are being ordered" msgstr "Cég akitől a tételek beszerzésre kerülnek" -#: order/models.py:307 order/templates/order/order_base.html:124 +#: order/models.py:312 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:307 +#: order/models.py:312 msgid "Supplier order reference code" msgstr "Beszállítói rendelés azonosító kód" -#: order/models.py:314 +#: order/models.py:319 msgid "received by" msgstr "érkeztette" -#: order/models.py:319 +#: order/models.py:324 msgid "Issue Date" msgstr "Kiállítás dátuma" -#: order/models.py:320 +#: order/models.py:325 msgid "Date order was issued" msgstr "Kiállítás dátuma" -#: order/models.py:325 +#: order/models.py:330 msgid "Target Delivery Date" msgstr "Várható beérkezés" -#: order/models.py:326 +#: order/models.py:331 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:332 +#: order/models.py:337 msgid "Date order was completed" msgstr "Rendelés teljesítési dátuma" -#: order/models.py:368 +#: order/models.py:373 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:512 +#: order/models.py:517 msgid "Quantity must be a positive number" msgstr "Mennyiség pozitív kell legyen" -#: order/models.py:650 +#: order/models.py:666 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:656 +#: order/models.py:672 msgid "Customer Reference " msgstr "Vevői azonosító " -#: order/models.py:656 +#: order/models.py:672 msgid "Customer order reference code" msgstr "Megrendelés azonosító kódja a vevőnél" -#: order/models.py:661 +#: order/models.py:677 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:664 order/models.py:1190 +#: order/models.py:680 order/models.py:1206 #: 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:671 +#: order/models.py:687 msgid "shipped by" msgstr "szállította" -#: order/models.py:726 +#: order/models.py:742 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:730 +#: order/models.py:746 msgid "Only a pending order can be marked as complete" msgstr "Csak függő rendelés jelölhető késznek" -#: order/models.py:733 +#: order/models.py:749 msgid "Order cannot be completed as there are incomplete shipments" msgstr "A rendelés nem jelölhető késznek mivel függő szállítmányok vannak" -#: order/models.py:736 +#: order/models.py:752 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:910 +#: order/models.py:926 msgid "Item quantity" msgstr "Tétel mennyiség" -#: order/models.py:916 +#: order/models.py:932 msgid "Line item reference" msgstr "Sortétel azonosító" -#: order/models.py:918 +#: order/models.py:934 msgid "Line item notes" msgstr "Sortétel megjegyzései" -#: order/models.py:923 +#: order/models.py:939 msgid "Target shipping date for this line item" msgstr "Cél szállítási dátuma ennek a sortételnek" -#: order/models.py:941 +#: order/models.py:957 msgid "Context" msgstr "Kontextus" -#: order/models.py:942 +#: order/models.py:958 msgid "Additional context for this line" msgstr "További kontextus ehhez a sorhoz" -#: order/models.py:950 +#: order/models.py:966 msgid "Unit price" msgstr "Egységár" -#: order/models.py:980 +#: order/models.py:996 msgid "Supplier part must match supplier" msgstr "Beszállítói alkatrésznek egyeznie kell a beszállítóval" -#: order/models.py:988 +#: order/models.py:1004 msgid "deleted" msgstr "törölve" -#: order/models.py:994 order/models.py:1074 order/models.py:1099 -#: order/models.py:1184 order/models.py:1320 +#: order/models.py:1010 order/models.py:1090 order/models.py:1115 +#: order/models.py:1200 order/models.py:1336 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "Rendelés" -#: order/models.py:995 order/models.py:1074 +#: order/models.py:1011 order/models.py:1090 #: 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/email/overdue_purchase_order.html:15 #: 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 +#: templates/js/translated/part.js:943 templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:2422 msgid "Purchase Order" msgstr "Beszerzési rendelés" -#: order/models.py:1013 +#: order/models.py:1029 msgid "Supplier part" msgstr "Beszállítói alkatrész" -#: order/models.py:1020 order/templates/order/order_base.html:169 +#: order/models.py:1036 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/part.js:1037 templates/js/translated/part.js:1064 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "Beérkezett" -#: order/models.py:1021 +#: order/models.py:1037 msgid "Number of items received" msgstr "Érkezett tételek száma" -#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: order/models.py:1044 part/templates/part/prices.html:181 stock/models.py:722 #: stock/serializers.py:153 stock/templates/stock/item_base.html:191 -#: templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:1910 msgid "Purchase Price" msgstr "Beszerzési ár" -#: order/models.py:1029 +#: order/models.py:1045 msgid "Unit purchase price" msgstr "Beszerzési egységár" -#: order/models.py:1037 +#: order/models.py:1053 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:1109 part/templates/part/part_pricing.html:112 -#: part/templates/part/prices.html:119 part/templates/part/prices.html:288 +#: order/models.py:1125 part/templates/part/part_pricing.html:115 +#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 msgid "Sale Price" msgstr "Eladási ár" -#: order/models.py:1110 +#: order/models.py:1126 msgid "Unit sale price" msgstr "Eladási egységár" -#: order/models.py:1115 +#: order/models.py:1131 msgid "Shipped quantity" msgstr "Szállított mennyiség" -#: order/models.py:1191 +#: order/models.py:1207 msgid "Date of shipment" msgstr "Szállítás dátuma" -#: order/models.py:1198 +#: order/models.py:1214 msgid "Checked By" msgstr "Ellenőrizte" -#: order/models.py:1199 +#: order/models.py:1215 msgid "User who checked this shipment" msgstr "Felhasználó aki ellenőrizte ezt a szállítmányt" -#: order/models.py:1207 +#: order/models.py:1223 msgid "Shipment number" msgstr "Szállítmány száma" -#: order/models.py:1214 +#: order/models.py:1230 msgid "Shipment notes" msgstr "Szállítmány megjegyzései" -#: order/models.py:1221 +#: order/models.py:1237 msgid "Tracking Number" msgstr "Nyomkövetési szám" -#: order/models.py:1222 +#: order/models.py:1238 msgid "Shipment tracking information" msgstr "Szállítmány nyomkövetési információ" -#: order/models.py:1229 +#: order/models.py:1245 msgid "Invoice Number" msgstr "Számlaszám" -#: order/models.py:1230 +#: order/models.py:1246 msgid "Reference number for associated invoice" msgstr "Hozzátartozó számla referencia száma" -#: order/models.py:1248 +#: order/models.py:1264 msgid "Shipment has already been sent" msgstr "Szállítmány már elküldve" -#: order/models.py:1251 +#: order/models.py:1267 msgid "Shipment has no allocated stock items" msgstr "Szállítmány nem tartalmaz foglalt készlet tételeket" -#: order/models.py:1354 order/models.py:1356 +#: order/models.py:1370 order/models.py:1372 msgid "Stock item has not been assigned" msgstr "Készlet tétel nincs hozzárendelve" -#: order/models.py:1360 +#: order/models.py:1376 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:1362 +#: order/models.py:1378 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:1365 +#: order/models.py:1381 msgid "Allocation quantity cannot exceed stock quantity" msgstr "A lefoglalandó mennyiség nem haladhatja meg a készlet mennyiségét" -#: order/models.py:1369 +#: order/models.py:1385 msgid "StockItem is over-allocated" msgstr "Készlet tétel túlfoglalva" -#: order/models.py:1375 order/serializers.py:1045 +#: order/models.py:1391 order/serializers.py:1047 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:1378 +#: order/models.py:1394 msgid "Sales order does not match shipment" msgstr "Vevői rendelés nem egyezik a szállítmánnyal" -#: order/models.py:1379 +#: order/models.py:1395 msgid "Shipment does not match sales order" msgstr "Szállítmány nem egyezik a vevői rendeléssel" -#: order/models.py:1387 +#: order/models.py:1403 msgid "Line" msgstr "Sor" -#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 +#: order/models.py:1411 order/serializers.py:1151 order/serializers.py:1275 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "Szállítmány" -#: order/models.py:1396 +#: order/models.py:1412 msgid "Sales order shipment reference" msgstr "Vevői rendelés szállítmány azonosító" -#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1424 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "Tétel" -#: order/models.py:1409 +#: order/models.py:1425 msgid "Select stock item to allocate" msgstr "Válaszd ki a foglalásra szánt készlet tételt" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Enter stock allocation quantity" msgstr "Készlet foglalási mennyiség megadása" @@ -3663,7 +3693,7 @@ msgstr "A beszállítónak egyeznie kell a beszerzési rendelésben lévővel" 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:1117 +#: order/serializers.py:406 order/serializers.py:1119 msgid "Line Item" msgstr "Sortétel" @@ -3711,42 +3741,60 @@ msgstr "A cél helyet kötelező megadni" msgid "Supplied barcode values must be unique" msgstr "Megadott vonalkódoknak egyedieknek kel lenniük" -#: order/serializers.py:866 +#: order/serializers.py:868 msgid "Sale price currency" msgstr "Eladási ár pénzneme" -#: order/serializers.py:947 +#: order/serializers.py:949 msgid "No shipment details provided" msgstr "Nincsenek szállítmány részletek megadva" -#: order/serializers.py:1006 order/serializers.py:1126 +#: order/serializers.py:1008 order/serializers.py:1128 msgid "Line item is not associated with this order" msgstr "Sortétel nincs hozzárendelve ehhez a rendeléshez" -#: order/serializers.py:1028 +#: order/serializers.py:1030 msgid "Quantity must be positive" msgstr "Mennyiség pozitív kell legyen" -#: order/serializers.py:1139 +#: order/serializers.py:1141 msgid "Enter serial numbers to allocate" msgstr "Írd be a sorozatszámokat a kiosztáshoz" -#: order/serializers.py:1161 order/serializers.py:1281 +#: order/serializers.py:1163 order/serializers.py:1283 msgid "Shipment has already been shipped" msgstr "Szállítmány kiszállítva" -#: order/serializers.py:1164 order/serializers.py:1284 +#: order/serializers.py:1166 order/serializers.py:1286 msgid "Shipment is not associated with this order" msgstr "Szállítmány nincs hozzárendelve ehhez a rendeléshez" -#: order/serializers.py:1214 +#: order/serializers.py:1216 msgid "No match found for the following serial numbers" msgstr "Nincs találat a következő sorozatszámokra" -#: order/serializers.py:1224 +#: order/serializers.py:1226 msgid "The following serial numbers are already allocated" msgstr "A következő sorozatszámok már ki lettek osztva" +#: order/tasks.py:26 +msgid "Overdue Purchase Order" +msgstr "" + +#: order/tasks.py:31 +#, python-brace-format +msgid "Purchase order {po} is now overdue" +msgstr "" + +#: order/tasks.py:88 +msgid "Overdue Sales Order" +msgstr "" + +#: order/tasks.py:93 +#, python-brace-format +msgid "Sales order {so} is now overdue" +msgstr "" + #: order/templates/order/order_base.html:33 msgid "Print purchase order report" msgstr "Beszerzési rendelés nyomtatása" @@ -3871,8 +3919,8 @@ msgstr "Beszállítói alkatrész kiválasztása" #: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: 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:2731 templates/js/translated/stock.js:570 -#: templates/js/translated/stock.js:738 +#: templates/js/translated/order.js:2731 templates/js/translated/stock.js:569 +#: templates/js/translated/stock.js:737 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Sor törlése" @@ -3991,7 +4039,7 @@ msgid "Pending Shipments" msgstr "Függő szállítmányok" #: order/templates/order/sales_order_detail.html:70 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1047 #: templates/js/translated/build.js:1880 msgid "Actions" msgstr "Műveletek" @@ -4022,47 +4070,47 @@ msgstr "A {part} egységára {price}-ra módosítva" 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:481 +#: part/api.py:482 msgid "Incoming Purchase Order" msgstr "Beérkező beszerzési rendelés" -#: part/api.py:501 +#: part/api.py:502 msgid "Outgoing Sales Order" msgstr "Kimenő vevői rendelés" -#: part/api.py:519 +#: part/api.py:520 msgid "Stock produced by Build Order" msgstr "Gyártással előállított készlet" -#: part/api.py:551 +#: part/api.py:552 msgid "Stock required for Build Order" msgstr "A gyártási utasításhoz szükséges készlet" -#: part/api.py:637 +#: part/api.py:638 msgid "Valid" msgstr "Érvényes" -#: part/api.py:638 +#: part/api.py:639 msgid "Validate entire Bill of Materials" msgstr "Teljes alkatrészjegyzék jóváhagyása" -#: part/api.py:644 +#: part/api.py:645 msgid "This option must be selected" msgstr "Ennek az opciónak ki kll lennie választva" -#: part/api.py:1010 +#: part/api.py:1011 msgid "Must be greater than zero" msgstr "Nullánál nagyobb kell legyen" -#: part/api.py:1014 +#: part/api.py:1015 msgid "Must be a valid quantity" msgstr "Érvényes mennyiségnek kell lennie" -#: part/api.py:1029 +#: part/api.py:1030 msgid "Specify location for initial part stock" msgstr "Hely megadása a kezdeti alkarész készlethez" -#: part/api.py:1060 part/api.py:1064 part/api.py:1079 part/api.py:1083 +#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 msgid "This field is required" msgstr "Ez a mező kötelező" @@ -4081,17 +4129,13 @@ msgid "Available Stock" msgstr "Elérhető készlet" #: 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 +#: templates/js/translated/part.js:561 templates/js/translated/part.js:581 +#: templates/js/translated/part.js:1273 templates/js/translated/part.js:1445 +#: templates/js/translated/part.js:1461 msgid "On Order" msgstr "Rendelve" -#: part/forms.py:59 -msgid "Select part category" -msgstr "Alkatrész kategória kiválasztása" - -#: part/forms.py:69 +#: part/forms.py:60 msgid "Input quantity for price calculation" msgstr "Add meg a mennyiséget az árszámításhoz" @@ -4107,7 +4151,7 @@ msgstr "Alapértelmezett kulcsszavak" msgid "Default keywords for parts in this category" msgstr "Ebben a kategóriában évő alkatrészek kulcsszavai alapban" -#: part/models.py:115 part/models.py:2415 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2403 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Alkatrész kategória" @@ -4124,7 +4168,7 @@ msgstr "Alkatrész kategóriák" #: 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/js/translated/part.js:1864 templates/js/translated/search.js:144 #: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "Alkatrészek" @@ -4154,7 +4198,7 @@ msgstr "A legutóbbi sorozatszám" msgid "Duplicate IPN not allowed in part settings" msgstr "Azonos IPN nem engedélyezett az alkatrész beállításokban" -#: part/models.py:738 part/models.py:2469 +#: part/models.py:738 part/models.py:2457 msgid "Part name" msgstr "Alkatrész neve" @@ -4187,12 +4231,11 @@ msgstr "Kulcsszavak" 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:776 part/models.py:2171 part/models.py:2414 +#: part/models.py:776 part/models.py:2159 part/models.py:2402 #: part/templates/part/part_base.html:257 -#: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 #: templates/InvenTree/settings/settings.html:231 -#: templates/js/translated/part.js:1369 +#: templates/js/translated/part.js:1413 templates/js/translated/part.js:1639 msgid "Category" msgstr "Kategória" @@ -4201,8 +4244,8 @@ msgid "Part category" msgstr "Alkatrész kategória" #: 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 +#: templates/js/translated/part.js:710 templates/js/translated/part.js:1366 +#: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "IPN" @@ -4215,7 +4258,7 @@ 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:790 part/templates/part/part_base.html:273 -#: report/models.py:170 templates/js/translated/part.js:670 +#: report/models.py:170 templates/js/translated/part.js:714 msgid "Revision" msgstr "Változat" @@ -4303,317 +4346,321 @@ msgstr "Alkatrészjegyzék ellenőrzési dátuma" msgid "Creation User" msgstr "Létrehozó" -#: part/models.py:1690 +#: part/models.py:1685 msgid "Sell multiple" msgstr "Több értékesítése" -#: part/models.py:2218 +#: part/models.py:2206 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:2235 +#: part/models.py:2223 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:2255 templates/js/translated/part.js:1819 -#: templates/js/translated/stock.js:1274 +#: part/models.py:2243 templates/js/translated/part.js:1915 +#: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "Teszt név" -#: part/models.py:2256 +#: part/models.py:2244 msgid "Enter a name for the test" msgstr "Add meg a teszt nevét" -#: part/models.py:2261 +#: part/models.py:2249 msgid "Test Description" msgstr "Teszt leírása" -#: part/models.py:2262 +#: part/models.py:2250 msgid "Enter description for this test" msgstr "Adj hozzá egy leírást ehhez a teszthez" -#: part/models.py:2267 templates/js/translated/part.js:1828 +#: part/models.py:2255 templates/js/translated/part.js:1924 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "Kötelező" -#: part/models.py:2268 +#: part/models.py:2256 msgid "Is this test required to pass?" msgstr "Szükséges-e hogy ez a teszt sikeres legyen?" -#: part/models.py:2273 templates/js/translated/part.js:1836 +#: part/models.py:2261 templates/js/translated/part.js:1932 msgid "Requires Value" msgstr "Kötelező érték" -#: part/models.py:2274 +#: part/models.py:2262 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:2279 templates/js/translated/part.js:1843 +#: part/models.py:2267 templates/js/translated/part.js:1939 msgid "Requires Attachment" msgstr "Kötelező melléklet" -#: part/models.py:2280 +#: part/models.py:2268 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:2288 +#: part/models.py:2276 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "Érvénytelen karakter ({c}) a sablon nevében" -#: part/models.py:2324 +#: part/models.py:2312 msgid "Parameter template name must be unique" msgstr "A paraméter sablon nevének egyedinek kell lennie" -#: part/models.py:2332 +#: part/models.py:2320 msgid "Parameter Name" msgstr "Paraméter neve" -#: part/models.py:2339 +#: part/models.py:2327 msgid "Parameter Units" msgstr "Paraméter mértékegysége" -#: part/models.py:2370 +#: part/models.py:2358 msgid "Parent Part" msgstr "Szülő alkatrész" -#: part/models.py:2372 part/models.py:2420 part/models.py:2421 +#: part/models.py:2360 part/models.py:2408 part/models.py:2409 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "Paraméter sablon" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Data" msgstr "Adat" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Parameter Value" msgstr "Paraméter értéke" -#: part/models.py:2425 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2413 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "Alapértelmezett érték" -#: part/models.py:2426 +#: part/models.py:2414 msgid "Default Parameter Value" msgstr "Alapértelmezett paraméter érték" -#: part/models.py:2461 +#: part/models.py:2449 msgid "Part ID or part name" msgstr "Alkatrész ID vagy alkatrész név" -#: part/models.py:2464 templates/js/translated/model_renderers.js:200 +#: part/models.py:2452 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "Alkatrész ID" -#: part/models.py:2465 +#: part/models.py:2453 msgid "Unique part ID value" msgstr "Egyedi alkatrész ID értéke" -#: part/models.py:2468 +#: part/models.py:2456 msgid "Part Name" msgstr "Alkatrész neve" -#: part/models.py:2472 +#: part/models.py:2460 msgid "Part IPN" msgstr "Alkatrész IPN" -#: part/models.py:2473 +#: part/models.py:2461 msgid "Part IPN value" msgstr "Alkatrész IPN érték" -#: part/models.py:2476 +#: part/models.py:2464 msgid "Level" msgstr "Szint" -#: part/models.py:2477 +#: part/models.py:2465 msgid "BOM level" msgstr "Alkatrészjegyzék szint" -#: part/models.py:2546 +#: part/models.py:2534 msgid "Select parent part" msgstr "Szülő alkatrész kiválasztása" -#: part/models.py:2554 +#: part/models.py:2542 msgid "Sub part" msgstr "Al alkatrész" -#: part/models.py:2555 +#: part/models.py:2543 msgid "Select part to be used in BOM" msgstr "Válaszd ki az alkatrészjegyzékben használandó alkatrészt" -#: part/models.py:2561 +#: part/models.py:2549 msgid "BOM quantity for this BOM item" msgstr "Alkatrészjegyzék mennyiség ehhez az alkatrészjegyzék tételhez" -#: part/models.py:2563 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 +#: part/models.py:2551 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:871 templates/js/translated/bom.js:965 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "Opcionális" -#: part/models.py:2563 +#: part/models.py:2551 msgid "This BOM item is optional" msgstr "Ez az alkatrészjegyzék tétel opcionális" -#: part/models.py:2566 part/templates/part/upload_bom.html:55 +#: part/models.py:2554 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Többlet" -#: part/models.py:2567 +#: part/models.py:2555 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:2570 +#: part/models.py:2558 msgid "BOM item reference" msgstr "Alkatrészjegyzék tétel azonosító" -#: part/models.py:2573 +#: part/models.py:2561 msgid "BOM item notes" msgstr "Alkatrészjegyzék tétel megjegyzései" -#: part/models.py:2575 +#: part/models.py:2563 msgid "Checksum" msgstr "Ellenőrző összeg" -#: part/models.py:2575 +#: part/models.py:2563 msgid "BOM line checksum" msgstr "Alkatrészjegyzék sor ellenőrző összeg" -#: part/models.py:2579 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:988 +#: part/models.py:2567 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:982 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "Örökölt" -#: part/models.py:2580 +#: part/models.py:2568 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:2585 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:980 +#: part/models.py:2573 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:974 msgid "Allow Variants" msgstr "Változatok" -#: part/models.py:2586 +#: part/models.py:2574 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:2664 stock/models.py:460 +#: part/models.py:2652 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:2673 part/models.py:2675 +#: part/models.py:2661 part/models.py:2663 msgid "Sub part must be specified" msgstr "Al alkatrészt kötelező megadni" -#: part/models.py:2780 +#: part/models.py:2768 msgid "BOM Item Substitute" msgstr "Alkatrészjegyzék tétel helyettesítő" -#: part/models.py:2801 +#: part/models.py:2789 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:2814 +#: part/models.py:2802 msgid "Parent BOM item" msgstr "Szülő alkatrészjegyzék tétel" -#: part/models.py:2822 +#: part/models.py:2810 msgid "Substitute part" msgstr "Helyettesítő alkatrész" -#: part/models.py:2833 +#: part/models.py:2825 msgid "Part 1" msgstr "1.rész" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Part 2" msgstr "2.rész" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Select Related Part" msgstr "Válassz kapcsolódó alkatrészt" -#: part/models.py:2868 -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/models.py:2847 +msgid "Part relationship cannot be created between a part and itself" +msgstr "" -#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 +#: part/models.py:2851 +msgid "Duplicate relationship already exists" +msgstr "" + +#: part/serializers.py:140 part/serializers.py:171 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:794 +#: part/serializers.py:796 msgid "Select part to copy BOM from" msgstr "Válassz alkatrészt ahonnan az alkatrészjegyzéket másoljuk" -#: part/serializers.py:802 +#: part/serializers.py:804 msgid "Remove Existing Data" msgstr "Létező adat törlése" -#: part/serializers.py:803 +#: part/serializers.py:805 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:808 +#: part/serializers.py:810 msgid "Include Inherited" msgstr "Örököltekkel együtt" -#: part/serializers.py:809 +#: part/serializers.py:811 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:814 +#: part/serializers.py:816 msgid "Skip Invalid Rows" msgstr "Hibás sorok kihagyása" -#: part/serializers.py:815 +#: part/serializers.py:817 msgid "Enable this option to skip invalid rows" msgstr "Engedély a hibás sorok kihagyására" -#: part/serializers.py:820 +#: part/serializers.py:822 msgid "Copy Substitute Parts" msgstr "Helyettesítő alkatrészek másolása" -#: part/serializers.py:821 +#: part/serializers.py:823 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:861 +#: part/serializers.py:863 msgid "Clear Existing BOM" msgstr "Meglévő alkatrészjegyzék törlése" -#: part/serializers.py:862 +#: part/serializers.py:864 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:892 +#: part/serializers.py:894 msgid "No part column specified" msgstr "Nincs megadva alkatrész oszlop" -#: part/serializers.py:935 +#: part/serializers.py:937 msgid "Multiple matching parts found" msgstr "Több egyező alkatrész is található" -#: part/serializers.py:938 +#: part/serializers.py:940 msgid "No matching part found" msgstr "Nincs egyező alkatrész" -#: part/serializers.py:941 +#: part/serializers.py:943 msgid "Part is not designated as a component" msgstr "Az alkatrész nem lett összetevőként jelölve" -#: part/serializers.py:950 +#: part/serializers.py:952 msgid "Quantity not provided" msgstr "Mennyiség nincs megadva" -#: part/serializers.py:958 +#: part/serializers.py:960 msgid "Invalid quantity" msgstr "Érvénytelen mennyiség" -#: part/serializers.py:979 +#: part/serializers.py:981 msgid "At least one BOM item is required" msgstr "Legalább egy alkatrészjegyzék tétel szükséges" @@ -5089,10 +5136,10 @@ msgid "Part is virtual (not a physical part)" msgstr "Virtuális (nem kézzelfogható alkatrész)" #: part/templates/part/part_base.html:143 -#: templates/js/translated/company.js:623 -#: templates/js/translated/company.js:882 +#: templates/js/translated/company.js:608 +#: templates/js/translated/company.js:867 #: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:658 +#: templates/js/translated/part.js:625 templates/js/translated/part.js:702 msgid "Inactive" msgstr "Inaktív" @@ -5121,13 +5168,13 @@ msgstr "Gyártáshoz lefoglalva" msgid "Allocated to Sales Orders" msgstr "Vevő rendeléshez lefoglalva" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1009 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1003 msgid "Can Build" msgstr "Gyártható" -#: part/templates/part/part_base.html:238 templates/js/translated/part.js:520 -#: templates/js/translated/part.js:540 templates/js/translated/part.js:1233 -#: templates/js/translated/part.js:1405 templates/js/translated/part.js:1421 +#: part/templates/part/part_base.html:238 templates/js/translated/part.js:564 +#: templates/js/translated/part.js:584 templates/js/translated/part.js:1277 +#: templates/js/translated/part.js:1449 templates/js/translated/part.js:1465 msgid "Building" msgstr "Gyártásban" @@ -5144,7 +5191,7 @@ msgstr "Legutolsó sorozatszám" msgid "Search for serial number" msgstr "Sorozatszámra keresés" -#: part/templates/part/part_base.html:443 part/templates/part/prices.html:147 +#: part/templates/part/part_base.html:443 part/templates/part/prices.html:149 msgid "Calculate" msgstr "Számítás" @@ -5162,54 +5209,55 @@ msgstr "Beszállító árazás" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:106 -#: part/templates/part/prices.html:123 +#: part/templates/part/part_pricing.html:103 +#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 +#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Unit Cost" msgstr "Egység költség" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:104 -#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:111 -#: part/templates/part/prices.html:128 +#: part/templates/part/part_pricing.html:107 +#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 +#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 +#: part/templates/part/prices.html:130 msgid "Total Cost" msgstr "Teljes költség" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:963 +#: templates/js/translated/bom.js:957 msgid "No supplier pricing available" msgstr "Nincs beszállítói árinfomáció" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:246 +#: part/templates/part/prices.html:248 msgid "BOM Pricing" msgstr "Alkatrészjegyzék árazás" -#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 msgid "Unit Purchase Price" msgstr "Beszerzési egységár" -#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 msgid "Total Purchase Price" msgstr "Teljes beszerzési ár" -#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:89 +#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 msgid "Note: BOM pricing is incomplete for this part" msgstr "Megjegyzés: ennek az alkatrésznek az alkatrészjegyzék árazása nem teljes" -#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:96 +#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 msgid "No BOM pricing available" msgstr "Nincs alkatrészjegyzék árinfomáció" -#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:105 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/prices.html:107 msgid "Internal Price" msgstr "Belső ár" -#: part/templates/part/part_pricing.html:128 -#: part/templates/part/prices.html:137 +#: part/templates/part/part_pricing.html:131 +#: part/templates/part/prices.html:139 msgid "No pricing information is available for this part." msgstr "Az alkatrészhez nem áll rendelkezésre árinformáció." @@ -5233,43 +5281,6 @@ msgstr "Teszt sablonok" msgid "Select from existing images" msgstr "Válassz a meglévő képek közül" -#: part/templates/part/partial_delete.html:9 -#, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" -"
Disable the \"Active\" part attribute and re-try.\n" -" " -msgstr "A(z) '%(full_name)s' alkatrész nem törölhető mert még mindig aktív. Előbb állítsd az alkatrészt inaktív állapotúra és probáld újra! " - -#: part/templates/part/partial_delete.html:17 -#, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" -msgstr "Biztosan töröljük a %(full_name)s alkatrészt?" - -#: part/templates/part/partial_delete.html:22 -#, python-format -msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" -msgstr "Ez a alkatrész %(count)s másik alkatrész alkatrészjegyzékében szerepel. Ha törlöd a következő alkatrészek módosítva lesznek" - -#: part/templates/part/partial_delete.html:32 -#, python-format -msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" -msgstr "Ennek az alkatrésznek %(count)s készlet tétele van. Ha törlöd a következő készlet tételek is törölve lesznek:" - -#: part/templates/part/partial_delete.html:43 -#, python-format -msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" -msgstr "Ennek az alkatrésznek %(count)s gyártója van. Ha törlöd a következő gyártói alkatrészek is törölve lesznek:" - -#: part/templates/part/partial_delete.html:54 -#, python-format -msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" -msgstr "Ennek az alkatrésznek %(count)s beszállítója van. Ha törlöd a következő beszállítói alkatrészek is törölve lesznek:" - -#: part/templates/part/partial_delete.html:67 -#, python-format -msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." -msgstr "Összesen %(count)s követésre kötelezett '%(full_name)s' alkatrész van. Ha törlöd, a követési információk véglegesen elvesznek." - #: part/templates/part/prices.html:19 msgid "Pricing ranges" msgstr "Ártartományok" @@ -5286,66 +5297,58 @@ msgstr "Beszerzési ár megjelenítése" msgid "Show BOM cost" msgstr "Alkatrészjegyzék költség megjelenítése" -#: part/templates/part/prices.html:120 +#: part/templates/part/prices.html:122 msgid "Show sale cost" msgstr "Értékesítési költség megjelenítése" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:123 msgid "Show sale price" msgstr "Eladási ár megjelenítése" -#: part/templates/part/prices.html:143 +#: part/templates/part/prices.html:145 msgid "Calculation parameters" msgstr "Számítási paraméterek" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:957 +#: part/templates/part/prices.html:160 templates/js/translated/bom.js:951 msgid "Supplier Cost" msgstr "Beszállítói költség" -#: part/templates/part/prices.html:159 part/templates/part/prices.html:180 -#: part/templates/part/prices.html:204 part/templates/part/prices.html:234 -#: part/templates/part/prices.html:260 part/templates/part/prices.html:289 +#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 +#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 +#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 msgid "Jump to overview" msgstr "Ugrás az áttekintéshez" -#: part/templates/part/prices.html:184 +#: part/templates/part/prices.html:186 msgid "Stock Pricing" msgstr "Készlet árazás" -#: part/templates/part/prices.html:193 +#: part/templates/part/prices.html:195 msgid "No stock pricing history is available for this part." msgstr "Az alkatrészhez nem áll rendelkezésre ártörténet." -#: part/templates/part/prices.html:203 +#: part/templates/part/prices.html:205 msgid "Internal Cost" msgstr "Belső költség" -#: part/templates/part/prices.html:218 +#: part/templates/part/prices.html:220 msgid "Add Internal Price Break" msgstr "Belső árlépcső hozzáadása" -#: part/templates/part/prices.html:233 +#: part/templates/part/prices.html:235 msgid "BOM Cost" msgstr "Alkatrészjegyzék költség" -#: part/templates/part/prices.html:259 +#: part/templates/part/prices.html:261 msgid "Sale Cost" msgstr "Eladási költség" -#: part/templates/part/prices.html:300 +#: part/templates/part/prices.html:302 msgid "No sale pice history available for this part." msgstr "Az alkatrészhez nem áll rendelkezésre eladási ártörténet." -#: part/templates/part/set_category.html:9 -msgid "Set category for the following parts" -msgstr "Állítsd be a következő alkatrészek kategóriáját" - -#: part/templates/part/set_category.html:32 -msgid "Remove part" -msgstr "Alkatrész eltávolítása" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543 -#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:587 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:1469 msgid "No Stock" msgstr "Nincs készlet" @@ -5408,56 +5411,39 @@ msgstr "Ismeretlen adatbázis" msgid "{title} v{version}" msgstr "{title} v{version}" -#: part/views.py:74 -msgid "Set Part Category" -msgstr "Alkatrész kategória beállítása" - -#: part/views.py:122 -#, python-brace-format -msgid "Set category for {n} parts" -msgstr "Állítsd be {n} alkatrész kategóriáját" - -#: part/views.py:193 +#: part/views.py:118 msgid "Match References" msgstr "Azonosítók egyeztetése" -#: part/views.py:494 +#: part/views.py:419 msgid "None" msgstr "Egyik sem" -#: part/views.py:556 +#: part/views.py:481 msgid "Part QR Code" msgstr "Alkatrész QR kódja" -#: part/views.py:650 +#: part/views.py:575 msgid "Select Part Image" msgstr "Válassz képet az alkatrészhez" -#: part/views.py:676 +#: part/views.py:601 msgid "Updated part image" msgstr "Alkatrész képe frissítve" -#: part/views.py:679 +#: part/views.py:604 msgid "Part image not found" msgstr "Az alkatrész képe nem található" -#: part/views.py:768 -msgid "Confirm Part Deletion" -msgstr "Alkatrész törlés megerősítése" - -#: part/views.py:776 -msgid "Part was deleted" -msgstr "Alkatrész törölve" - -#: part/views.py:785 +#: part/views.py:693 msgid "Part Pricing" msgstr "Alkatrész árak" -#: part/views.py:976 +#: part/views.py:884 msgid "Delete Part Category" msgstr "Alkatrész kategória törlése" -#: part/views.py:983 +#: part/views.py:891 msgid "Part category was deleted" msgstr "Alkatrész kategória törölve" @@ -5517,21 +5503,21 @@ msgstr "Készlet tételhez tartozó vonalkód" msgid "Label printing failed" msgstr "Címkenyomtatás sikertelen" -#: plugin/builtin/integration/core_notifications.py:28 +#: plugin/builtin/integration/core_notifications.py:29 msgid "InvenTree contributors" msgstr "InvenTree fejlesztők" -#: plugin/builtin/integration/core_notifications.py:29 +#: plugin/builtin/integration/core_notifications.py:30 msgid "Integrated outgoing notificaton methods" msgstr "Integrált kimenő értesítési módszerek" -#: plugin/builtin/integration/core_notifications.py:33 -#: plugin/builtin/integration/core_notifications.py:52 +#: plugin/builtin/integration/core_notifications.py:34 +#: plugin/builtin/integration/core_notifications.py:53 msgid "Enable email notifications" msgstr "Email értesítések engedélyezése" -#: plugin/builtin/integration/core_notifications.py:34 -#: plugin/builtin/integration/core_notifications.py:53 +#: plugin/builtin/integration/core_notifications.py:35 +#: plugin/builtin/integration/core_notifications.py:54 msgid "Allow sending of emails for event notifications" msgstr "Email küldés engedélyezése esemény értesítésekre" @@ -5647,15 +5633,19 @@ msgstr "Tlepítés nincs megerősítve" msgid "Either packagename of URL must be provided" msgstr "Vagy csomag nevet vagy URL-t meg kell adni" -#: report/api.py:166 +#: report/api.py:179 msgid "No valid objects provided to template" msgstr "Nincs érvényes objektum megadva a sablonhoz" -#: report/api.py:198 report/api.py:239 +#: report/api.py:215 report/api.py:256 #, 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/api.py:359 +msgid "Test report" +msgstr "" + #: report/models.py:152 msgid "Template name" msgstr "Sablon neve" @@ -5758,7 +5748,7 @@ msgstr "Készlet tétel teszt riport" #: 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:3229 -#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:434 msgid "Serial Number" msgstr "Sorozatszám" @@ -5767,19 +5757,19 @@ msgid "Test Results" msgstr "Teszt eredmények" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2068 +#: stock/models.py:2072 msgid "Test" msgstr "Teszt" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2074 +#: stock/models.py:2078 msgid "Result" msgstr "Eredmény" #: 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:1669 templates/js/translated/stock.js:2340 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2350 msgid "Date" msgstr "Dátum" @@ -5797,20 +5787,20 @@ msgid "Installed Items" msgstr "Beépített tételek" #: 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:2589 +#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724 +#: templates/js/translated/stock.js:2599 msgid "Serial" msgstr "Sorozatszám" -#: stock/api.py:504 +#: stock/api.py:505 msgid "Quantity is required" msgstr "Mennyiség megadása kötelező" -#: stock/api.py:511 +#: stock/api.py:512 msgid "Valid part must be supplied" msgstr "Egy érvényes alkatrészt meg kell adni" -#: stock/api.py:536 +#: stock/api.py:537 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" @@ -5918,7 +5908,7 @@ msgid "Destination Sales Order" msgstr "Cél vevői rendelés" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1826 msgid "Expiry Date" msgstr "Lejárati dátum" @@ -5972,79 +5962,79 @@ msgstr "A mennyiség nem egyezik a megadott sorozatszámok számával" msgid "Serial numbers already exist: {exists}" msgstr "Ezek a sorozatszámok már léteznek: {exists}" -#: stock/models.py:1321 +#: stock/models.py:1325 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:1324 +#: stock/models.py:1328 msgid "Stock item is installed in another item" msgstr "Készlet tétel beépül egy másikba" -#: stock/models.py:1327 +#: stock/models.py:1331 msgid "Stock item contains other items" msgstr "A készlet tétel más tételeket tartalmaz" -#: stock/models.py:1330 +#: stock/models.py:1334 msgid "Stock item has been assigned to a customer" msgstr "Készlet tétel hozzárendelve egy vevőhöz" -#: stock/models.py:1333 +#: stock/models.py:1337 msgid "Stock item is currently in production" msgstr "Készlet tétel gyártás alatt" -#: stock/models.py:1336 +#: stock/models.py:1340 msgid "Serialized stock cannot be merged" msgstr "Követésre kötelezett készlet nem vonható össze" -#: stock/models.py:1343 stock/serializers.py:908 +#: stock/models.py:1347 stock/serializers.py:895 msgid "Duplicate stock items" msgstr "Duplikált készlet tételek vannak" -#: stock/models.py:1347 +#: stock/models.py:1351 msgid "Stock items must refer to the same part" msgstr "A készlet tétel ugyanarra az alkatrészre kell vonatkozzon" -#: stock/models.py:1351 +#: stock/models.py:1355 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:1355 +#: stock/models.py:1359 msgid "Stock status codes must match" msgstr "Készlet tételek állapotainak egyeznie kell" -#: stock/models.py:1524 +#: stock/models.py:1528 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:1986 +#: stock/models.py:1990 msgid "Entry notes" msgstr "Bejegyzés megjegyzései" -#: stock/models.py:2044 +#: stock/models.py:2048 msgid "Value must be provided for this test" msgstr "Ehhez a teszthez meg kell adni értéket" -#: stock/models.py:2050 +#: stock/models.py:2054 msgid "Attachment must be uploaded for this test" msgstr "Ehhez a teszthez fel kell tölteni mellékletet" -#: stock/models.py:2069 +#: stock/models.py:2073 msgid "Test name" msgstr "Teszt neve" -#: stock/models.py:2075 +#: stock/models.py:2079 msgid "Test result" msgstr "Teszt eredménye" -#: stock/models.py:2081 +#: stock/models.py:2085 msgid "Test output value" msgstr "Teszt kimeneti értéke" -#: stock/models.py:2088 +#: stock/models.py:2092 msgid "Test result attachment" msgstr "Teszt eredmény melléklet" -#: stock/models.py:2094 +#: stock/models.py:2098 msgid "Test notes" msgstr "Tesztek megjegyzései" @@ -6065,7 +6055,7 @@ msgstr "A mennyiség nem lépheti túl a rendelkezésre álló készletet ({q})" msgid "Enter serial numbers for new items" msgstr "Írd be a sorozatszámokat az új tételekhez" -#: stock/serializers.py:309 stock/serializers.py:865 stock/serializers.py:1098 +#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 msgid "Destination stock location" msgstr "Cél készlet hely" @@ -6105,63 +6095,63 @@ msgstr "Tranzakció megjegyzés hozzáadása (opcionális)" msgid "Destination location for returned item" msgstr "Cél hely a visszatérő tételeknek" -#: stock/serializers.py:720 +#: stock/serializers.py:707 msgid "Part must be salable" msgstr "Az alkatrésznek értékesíthetőnek kell lennie" -#: stock/serializers.py:724 +#: stock/serializers.py:711 msgid "Item is allocated to a sales order" msgstr "A tétel egy vevő rendeléshez foglalt" -#: stock/serializers.py:728 +#: stock/serializers.py:715 msgid "Item is allocated to a build order" msgstr "A tétel egy gyártási utasításhoz foglalt" -#: stock/serializers.py:759 +#: stock/serializers.py:746 msgid "Customer to assign stock items" msgstr "Vevő akihez rendeljük a készlet tételeket" -#: stock/serializers.py:765 +#: stock/serializers.py:752 msgid "Selected company is not a customer" msgstr "A kiválasztott cég nem egy vevő" -#: stock/serializers.py:773 +#: stock/serializers.py:760 msgid "Stock assignment notes" msgstr "Készlet hozzárendelés megjegyzései" -#: stock/serializers.py:783 stock/serializers.py:1014 +#: stock/serializers.py:770 stock/serializers.py:1001 msgid "A list of stock items must be provided" msgstr "A készlet tételek listáját meg kell adni" -#: stock/serializers.py:872 +#: stock/serializers.py:859 msgid "Stock merging notes" msgstr "Készlet összevonás megjegyzései" -#: stock/serializers.py:877 +#: stock/serializers.py:864 msgid "Allow mismatched suppliers" msgstr "Nem egyező beszállítók megengedése" -#: stock/serializers.py:878 +#: stock/serializers.py:865 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:883 +#: stock/serializers.py:870 msgid "Allow mismatched status" msgstr "Nem egyező állapotok megjelenítése" -#: stock/serializers.py:884 +#: stock/serializers.py:871 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:894 +#: stock/serializers.py:881 msgid "At least two stock items must be provided" msgstr "Legalább két készlet tételt meg kell adni" -#: stock/serializers.py:976 +#: stock/serializers.py:963 msgid "StockItem primary key value" msgstr "Készlet tétel elsődleges kulcs értéke" -#: stock/serializers.py:1004 +#: stock/serializers.py:991 msgid "Stock transaction notes" msgstr "Készlet tranzakció megjegyzései" @@ -6186,7 +6176,7 @@ msgstr "Teszt adatok" msgid "Test Report" msgstr "Teszt riport" -#: stock/templates/stock/item.html:94 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:298 msgid "Delete Test Data" msgstr "Teszt adatok törlése" @@ -6198,11 +6188,15 @@ msgstr "Teszt adatok hozzáadása" msgid "Installed Stock Items" msgstr "Beépített készlet tételek" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2733 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2743 msgid "Install Stock Item" msgstr "Készlet tétel beépítése" -#: stock/templates/stock/item.html:292 templates/js/translated/stock.js:1455 +#: stock/templates/stock/item.html:290 +msgid "Delete all test results for this stock item" +msgstr "" + +#: stock/templates/stock/item.html:323 templates/js/translated/stock.js:1465 msgid "Add Test Result" msgstr "Teszt eredmény hozzáadása" @@ -6389,7 +6383,7 @@ msgid "Stale" msgstr "Állott" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/stock.js:1842 msgid "Last Updated" msgstr "Utoljára módosítva" @@ -6530,7 +6524,7 @@ msgstr "Foglalások" msgid "Child Items" msgstr "Gyermek tételek" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:182 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:144 msgid "Convert Stock Item" msgstr "Készlet tétel konvertálása" @@ -6551,31 +6545,19 @@ msgstr "Figyelem" msgid "This action cannot be easily undone" msgstr "Ez a művelet nem vonható vissza könnyen" -#: stock/views.py:113 +#: stock/views.py:111 msgid "Stock Location QR code" msgstr "Készlet hely QR kódja" -#: stock/views.py:131 -msgid "Delete All Test Data" -msgstr "Minden teszt adat törlése" - -#: stock/views.py:149 -msgid "Confirm test data deletion" -msgstr "Teszt adat törlésének megerősítése" - -#: stock/views.py:150 -msgid "Check the confirmation box" -msgstr "Klikkeld be a megerősítő mezőt" - -#: stock/views.py:165 +#: stock/views.py:127 msgid "Stock Item QR Code" msgstr "Készlet tétel QR kódja" -#: stock/views.py:216 +#: stock/views.py:178 msgid "Delete Stock Location" msgstr "Készlethely törlése" -#: stock/views.py:229 +#: stock/views.py:191 msgid "Delete Stock Item" msgstr "Készlet tétel törlése" @@ -7318,8 +7300,8 @@ msgstr "InvenTree verzió információk" #: 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:56 templates/js/translated/modals.js:595 -#: templates/js/translated/modals.js:689 templates/js/translated/modals.js:997 +#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 +#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 #: templates/js/translated/order.js:928 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7391,6 +7373,10 @@ msgstr "Email cím megerősítése" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Erősítsd meg hogy a %(email)s email a %(user_display)s felhasználó email címe." +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:630 +msgid "Confirm" +msgstr "Megerősítés" + #: templates/account/email_confirm.html:27 #, python-format msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." @@ -7563,7 +7549,7 @@ msgstr "Melléklet hozzáadása" msgid "Delete selected attachments" msgstr "Kiválasztott mellékletek törlése" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:112 msgid "Delete Attachments" msgstr "Mellékletek törlése" @@ -7597,15 +7583,15 @@ msgid "The following parts are low on required stock" msgstr "A következő alkatrészek szükséges készlete alacsony" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1425 +#: templates/js/translated/bom.js:1419 msgid "Required Quantity" msgstr "Szükséges mennyiség" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: 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/bom.js:884 templates/js/translated/build.js:1787 +#: templates/js/translated/build.js:2650 templates/js/translated/part.js:571 +#: templates/js/translated/part.js:574 #: templates/js/translated/table_filters.js:178 msgid "Available" msgstr "Elérhető" @@ -7623,6 +7609,13 @@ msgstr "Klikk a következő linkre az alkatrész megjelenítéséhez" msgid "Minimum Quantity" msgstr "Minimum mennyiség" +#: templates/email/new_order_assigned.html:9 +#: templates/email/overdue_build_order.html:9 +#: templates/email/overdue_purchase_order.html:9 +#: templates/email/overdue_sales_order.html:9 +msgid "Click on the following link to view this order" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "URL megadása a kép letöltéséhez" @@ -7639,91 +7632,91 @@ msgstr "A távoli kiszolgálónak elérhetőnek kell lennie" msgid "Remote image must not exceed maximum allowable file size" msgstr "A távoli kép mérete nem haladhatja meg a maximális fájlméretet" -#: templates/js/translated/api.js:235 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1073 msgid "No Response" msgstr "Nincs válasz" -#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1074 msgid "No response from the InvenTree server" msgstr "Nincs válasz az InvenTree kiszolgálótól" -#: templates/js/translated/api.js:242 +#: templates/js/translated/api.js:202 msgid "Error 400: Bad request" msgstr "Error 400: Rossz kérelem" -#: templates/js/translated/api.js:243 +#: templates/js/translated/api.js:203 msgid "API request returned error code 400" msgstr "Az API kérelem 400-as hibakódot adott vissza" -#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1083 msgid "Error 401: Not Authenticated" msgstr "Error 401: Nincs hitelesítve" -#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1084 msgid "Authentication credentials not supplied" msgstr "Hitelesítési adatok nem lettek megadva" -#: templates/js/translated/api.js:252 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1088 msgid "Error 403: Permission Denied" msgstr "Error 403: Hozzáférés megtagadva" -#: templates/js/translated/api.js:253 templates/js/translated/modals.js:1083 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1089 msgid "You do not have the required permissions to access this function" msgstr "Nincs meg a szükséges jogosultságod, hogy elérd ezt a funkciót" -#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1093 msgid "Error 404: Resource Not Found" msgstr "Error 404: Erőforrás nem található" -#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1088 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1094 msgid "The requested resource could not be located on the server" msgstr "A kért erőforrás nem található a kiszolgálón" -#: templates/js/translated/api.js:262 +#: templates/js/translated/api.js:222 msgid "Error 405: Method Not Allowed" msgstr "Error 405: Metódus nincs engedélyezve" -#: templates/js/translated/api.js:263 +#: templates/js/translated/api.js:223 msgid "HTTP method not allowed at URL" msgstr "HTTP metódus nincs engedélyezve ezen az URL-n" -#: templates/js/translated/api.js:267 templates/js/translated/modals.js:1092 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1098 msgid "Error 408: Timeout" msgstr "Error 408: Időtúllépés" -#: templates/js/translated/api.js:268 templates/js/translated/modals.js:1093 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1099 msgid "Connection timeout while requesting data from server" msgstr "Időtúllépés a kiszolgálótól való adatlekérés közben" -#: templates/js/translated/api.js:271 +#: templates/js/translated/api.js:231 msgid "Unhandled Error Code" msgstr "Nem kezelt hibakód" -#: templates/js/translated/api.js:272 +#: templates/js/translated/api.js:232 msgid "Error code" msgstr "Hiba kód" -#: templates/js/translated/attachment.js:96 +#: templates/js/translated/attachment.js:98 msgid "All selected attachments will be deleted" msgstr "Az összes kijelölt melléklet törlésre kerül" -#: templates/js/translated/attachment.js:156 +#: templates/js/translated/attachment.js:152 msgid "No attachments found" msgstr "Nem találhatók mellékletek" -#: templates/js/translated/attachment.js:180 +#: templates/js/translated/attachment.js:176 msgid "Edit Attachment" msgstr "Melléklet szerkesztése" -#: templates/js/translated/attachment.js:246 +#: templates/js/translated/attachment.js:242 msgid "Upload Date" msgstr "Feltöltés dátuma" -#: templates/js/translated/attachment.js:262 +#: templates/js/translated/attachment.js:264 msgid "Edit attachment" msgstr "Melléklet szerkesztése" -#: templates/js/translated/attachment.js:269 +#: templates/js/translated/attachment.js:271 msgid "Delete attachment" msgstr "Melléklet törlése" @@ -7756,7 +7749,7 @@ msgid "Unknown response from server" msgstr "Ismeretlen válasz a kiszolgálótól" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "Invalid server response" msgstr "Érvénytelen válasz a szervertől" @@ -7784,7 +7777,7 @@ msgstr "Ez törli az összerendelést a készlet tétel és a vonalkód között msgid "Unlink" msgstr "Leválasztás" -#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999 +#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:998 msgid "Remove stock item" msgstr "Készlet tétel törlése" @@ -7919,89 +7912,89 @@ msgstr "Helyettesítő hozzáadása" msgid "Edit BOM Item Substitutes" msgstr "Alkatrészjegyzék tétel helyettesítők szerkesztése" -#: templates/js/translated/bom.js:682 +#: templates/js/translated/bom.js:684 msgid "All selected BOM items will be deleted" msgstr "Az összes kijelölt alkatrészjegyzék tétel törlésre kerül" -#: templates/js/translated/bom.js:697 +#: templates/js/translated/bom.js:699 msgid "Delete selected BOM items?" msgstr "Töröljük a kiválasztott alkatrészjegyzék tételeket?" -#: templates/js/translated/bom.js:824 +#: templates/js/translated/bom.js:818 msgid "Load BOM for subassembly" msgstr "BOM betöltése az al-gyártmányhoz" -#: templates/js/translated/bom.js:834 +#: templates/js/translated/bom.js:828 msgid "Substitutes Available" msgstr "Vannak helyettesítők" -#: templates/js/translated/bom.js:838 templates/js/translated/build.js:1769 +#: templates/js/translated/bom.js:832 templates/js/translated/build.js:1769 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/bom.js:900 templates/js/translated/build.js:1814 #: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "Nincs szabad" -#: templates/js/translated/bom.js:910 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:904 templates/js/translated/build.js:1818 msgid "Includes variant and substitute stock" msgstr "Változatokkal és helyettesítőkkel együtt" -#: templates/js/translated/bom.js:912 templates/js/translated/build.js:1820 -#: templates/js/translated/part.js:690 +#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1820 +#: templates/js/translated/part.js:734 msgid "Includes variant stock" msgstr "Változatokkal együtt" -#: templates/js/translated/bom.js:914 templates/js/translated/build.js:1822 +#: templates/js/translated/bom.js:908 templates/js/translated/build.js:1822 msgid "Includes substitute stock" msgstr "Helyettesítőkkel együtt" -#: templates/js/translated/bom.js:928 +#: templates/js/translated/bom.js:922 msgid "Substitutes" msgstr "Helyettesítõk" -#: templates/js/translated/bom.js:943 +#: templates/js/translated/bom.js:937 msgid "Purchase Price Range" msgstr "Beszerzési ártartomány" -#: templates/js/translated/bom.js:950 +#: templates/js/translated/bom.js:944 msgid "Purchase Price Average" msgstr "Beszerzési átlagár" -#: templates/js/translated/bom.js:999 templates/js/translated/bom.js:1090 +#: templates/js/translated/bom.js:993 templates/js/translated/bom.js:1084 msgid "View BOM" msgstr "Alkatrészjegyzék megtekintése" -#: templates/js/translated/bom.js:1061 +#: templates/js/translated/bom.js:1055 msgid "Validate BOM Item" msgstr "Alkatrészjegyzék tétel jóváhagyása" -#: templates/js/translated/bom.js:1063 +#: templates/js/translated/bom.js:1057 msgid "This line has been validated" msgstr "Ez a sor jóvá lett hagyva" -#: templates/js/translated/bom.js:1065 +#: templates/js/translated/bom.js:1059 msgid "Edit substitute parts" msgstr "Helyettesítő alkatrészek szerkesztése" -#: templates/js/translated/bom.js:1067 templates/js/translated/bom.js:1228 +#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1222 msgid "Edit BOM Item" msgstr "Alkatrészjegyzék tétel szerkesztése" -#: templates/js/translated/bom.js:1069 +#: templates/js/translated/bom.js:1063 msgid "Delete BOM Item" msgstr "Alkatrészjegyzék tétel törlése" -#: templates/js/translated/bom.js:1164 templates/js/translated/build.js:1615 +#: templates/js/translated/bom.js:1158 templates/js/translated/build.js:1615 msgid "No BOM items found" msgstr "Nem találhatók alkatrészjegyzék tételek" -#: templates/js/translated/bom.js:1408 templates/js/translated/build.js:1753 +#: templates/js/translated/bom.js:1402 templates/js/translated/build.js:1753 msgid "Required Part" msgstr "Szükséges alkatrész" -#: templates/js/translated/bom.js:1430 +#: templates/js/translated/bom.js:1424 msgid "Inherited from parent BOM" msgstr "Örökölve a szülő alkatrészjegyzéktől" @@ -8041,13 +8034,13 @@ msgstr "Gyártási utasítás befejezetlen" msgid "Complete Build Order" msgstr "Gyártási utasítás befejezése" -#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91 -#: templates/js/translated/stock.js:181 +#: templates/js/translated/build.js:259 templates/js/translated/stock.js:90 +#: templates/js/translated/stock.js:180 msgid "Next available serial number" msgstr "Következő szabad sorozatszám" -#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93 -#: templates/js/translated/stock.js:183 +#: templates/js/translated/build.js:261 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:182 msgid "Latest serial number" msgstr "Legutolsó sorozatszám" @@ -8260,9 +8253,9 @@ msgstr "Készlet tételek foglalása" msgid "No builds matching query" msgstr "Nincs a lekérdezéssel egyező gyártási utasítás" -#: 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 +#: templates/js/translated/build.js:2448 templates/js/translated/part.js:1358 +#: templates/js/translated/part.js:1825 templates/js/translated/stock.js:1629 +#: templates/js/translated/stock.js:2287 msgid "Select" msgstr "Kiválaszt" @@ -8274,7 +8267,7 @@ msgstr "Gyártás késésben van" msgid "Progress" msgstr "Haladás" -#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2519 +#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2529 msgid "No user information" msgstr "Nincs felhasználói információ" @@ -8286,107 +8279,107 @@ msgstr "Nincs információ" msgid "No parts allocated for" msgstr "Nincs lefoglalt alkatrész ehhez" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "Gyártó hozzáadása" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:169 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:168 msgid "Add Manufacturer Part" msgstr "Gyártói alkatrész hozzáadása" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "Gyártói alkatrész szerkesztése" -#: templates/js/translated/company.js:157 templates/js/translated/order.js:506 +#: templates/js/translated/company.js:156 templates/js/translated/order.js:506 msgid "Add Supplier" msgstr "Beszállító hozzáadása" -#: templates/js/translated/company.js:185 +#: templates/js/translated/company.js:184 msgid "Add Supplier Part" msgstr "Beszállítói alkatrész hozzáadása" -#: templates/js/translated/company.js:200 +#: templates/js/translated/company.js:199 msgid "Edit Supplier Part" msgstr "Beszállítói alkatrész szerkesztése" -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:249 msgid "All selected supplier parts will be deleted" msgstr "Az összes kiválasztott beszállítói alkatrész törölve lesz" -#: templates/js/translated/company.js:263 +#: templates/js/translated/company.js:264 msgid "Delete Supplier Parts" msgstr "Beszállítói alkatrészek törlése" -#: templates/js/translated/company.js:342 +#: templates/js/translated/company.js:336 msgid "Add new Company" msgstr "Új cég hozzáadása" -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:413 msgid "Parts Supplied" msgstr "Beszállított alkatrészek" -#: templates/js/translated/company.js:428 +#: templates/js/translated/company.js:422 msgid "Parts Manufactured" msgstr "Gyártott alkatrészek" -#: templates/js/translated/company.js:443 +#: templates/js/translated/company.js:437 msgid "No company information found" msgstr "Nem található céginformáció" -#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:478 msgid "All selected manufacturer parts will be deleted" msgstr "Az összes kijelölt gyártói alkatrész törlésre kerül" -#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:492 msgid "Delete Manufacturer Parts" msgstr "Gyártói alkatrészek törlése" -#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:526 msgid "All selected parameters will be deleted" msgstr "Az összes kijelölt paraméter törlésre kerül" -#: templates/js/translated/company.js:548 +#: templates/js/translated/company.js:539 msgid "Delete Parameters" msgstr "Paraméterek törlése" -#: templates/js/translated/company.js:595 +#: templates/js/translated/company.js:580 msgid "No manufacturer parts found" msgstr "Nincs gyártói alkatrész" -#: templates/js/translated/company.js:615 -#: templates/js/translated/company.js:874 templates/js/translated/part.js:565 -#: templates/js/translated/part.js:650 +#: templates/js/translated/company.js:600 +#: templates/js/translated/company.js:859 templates/js/translated/part.js:609 +#: templates/js/translated/part.js:694 msgid "Template part" msgstr "Sablon alkatrész" -#: templates/js/translated/company.js:619 -#: templates/js/translated/company.js:878 templates/js/translated/part.js:569 -#: templates/js/translated/part.js:654 +#: templates/js/translated/company.js:604 +#: templates/js/translated/company.js:863 templates/js/translated/part.js:613 +#: templates/js/translated/part.js:698 msgid "Assembled part" msgstr "Gyártmány alkatrész" -#: templates/js/translated/company.js:747 templates/js/translated/part.js:757 +#: templates/js/translated/company.js:732 templates/js/translated/part.js:801 msgid "No parameters found" msgstr "Nem található paraméter" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:799 +#: templates/js/translated/company.js:769 templates/js/translated/part.js:843 msgid "Edit parameter" msgstr "Paraméter szerkesztése" -#: templates/js/translated/company.js:785 templates/js/translated/part.js:800 +#: templates/js/translated/company.js:770 templates/js/translated/part.js:844 msgid "Delete parameter" msgstr "Paraméter törlése" -#: templates/js/translated/company.js:804 templates/js/translated/part.js:817 +#: templates/js/translated/company.js:789 templates/js/translated/part.js:861 msgid "Edit Parameter" msgstr "Paraméter szerkesztése" -#: templates/js/translated/company.js:815 templates/js/translated/part.js:829 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:873 msgid "Delete Parameter" msgstr "Paraméter törlése" -#: templates/js/translated/company.js:854 +#: templates/js/translated/company.js:839 msgid "No supplier parts found" msgstr "Nincs beszállítói alkatrész" @@ -8449,36 +8442,36 @@ msgstr "Megtekintés nem engedélyezett" msgid "Keep this form open" msgstr "Form nyitva tartása" -#: templates/js/translated/forms.js:756 +#: templates/js/translated/forms.js:757 msgid "Enter a valid number" msgstr "Adj meg egy érvényes számot" -#: templates/js/translated/forms.js:1248 templates/modals.html:19 +#: templates/js/translated/forms.js:1249 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Form hibák vannak" -#: templates/js/translated/forms.js:1681 +#: templates/js/translated/forms.js:1682 msgid "No results found" msgstr "Nincs eredmény" -#: templates/js/translated/forms.js:1896 templates/search.html:29 +#: templates/js/translated/forms.js:1897 templates/search.html:29 msgid "Searching" msgstr "Keresés" -#: templates/js/translated/forms.js:2149 +#: templates/js/translated/forms.js:2150 msgid "Clear input" msgstr "Bevitel törlése" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "File Column" msgstr "Fájl oszlop" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "Field Name" msgstr "Mező név" -#: templates/js/translated/forms.js:2627 +#: templates/js/translated/forms.js:2628 msgid "Select Columns" msgstr "Oszlopok kiválasztása" @@ -8499,7 +8492,7 @@ msgid "Labels sent to printer" msgstr "Címkék nyomtatónak elküldve" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1023 +#: templates/js/translated/stock.js:1022 msgid "Select Stock Items" msgstr "Készlet tételek kiválasztása" @@ -8553,12 +8546,12 @@ msgid "Select Label Template" msgstr "Címke sablon kiválasztása" #: templates/js/translated/modals.js:82 templates/js/translated/modals.js:142 -#: templates/js/translated/modals.js:621 +#: templates/js/translated/modals.js:627 msgid "Cancel" msgstr "Mégsem" #: 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/js/translated/modals.js:694 templates/js/translated/modals.js:1002 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "Küldés" @@ -8567,47 +8560,47 @@ msgstr "Küldés" msgid "Form Title" msgstr "Form megnevezése" -#: templates/js/translated/modals.js:403 +#: templates/js/translated/modals.js:421 msgid "Waiting for server..." msgstr "Várakozás a kiszolgálóra..." -#: templates/js/translated/modals.js:562 +#: templates/js/translated/modals.js:568 msgid "Show Error Information" msgstr "Hibainformációk megjelenítése" -#: templates/js/translated/modals.js:620 +#: templates/js/translated/modals.js:626 msgid "Accept" msgstr "Elfogadás" -#: templates/js/translated/modals.js:677 +#: templates/js/translated/modals.js:683 msgid "Loading Data" msgstr "Adatok betöltése" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Invalid response from server" msgstr "Rossz válasz a kiszolgálótól" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Form data missing from server response" msgstr "Űrlap adat hiányzik a kiszolgálótól kapott válaszban" -#: templates/js/translated/modals.js:960 +#: templates/js/translated/modals.js:966 msgid "Error posting form data" msgstr "Form adat küldési hiba" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "JSON response missing form data" msgstr "JSON válasz hiányzó form adatok" -#: templates/js/translated/modals.js:1072 +#: templates/js/translated/modals.js:1078 msgid "Error 400: Bad Request" msgstr "Error 400: Rossz kérelem" -#: templates/js/translated/modals.js:1073 +#: templates/js/translated/modals.js:1079 msgid "Server returned error code 400" msgstr "A kiszolgáló 400-as hibakódot adott vissza" -#: templates/js/translated/modals.js:1096 +#: templates/js/translated/modals.js:1102 msgid "Error requesting form data" msgstr "Form adat lekérése sikertelen" @@ -8657,11 +8650,11 @@ msgstr "Megjelölés olvasatlanként" msgid "Mark as read" msgstr "Megjelölés olvasottként" -#: templates/js/translated/notification.js:259 +#: templates/js/translated/notification.js:260 msgid "No unread notifications" msgstr "Nincs olvasatlan értesítés" -#: templates/js/translated/notification.js:300 templates/notifications.html:10 +#: templates/js/translated/notification.js:302 templates/notifications.html:10 msgid "Notifications will load here" msgstr "Az értesítések itt fognak megjelenni" @@ -8805,7 +8798,7 @@ msgstr "Sorozatszám hozzáadása" msgid "Quantity to receive" msgstr "Érkező mennyiség" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2080 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2090 msgid "Stock Status" msgstr "Készlet állapota" @@ -8829,7 +8822,7 @@ msgstr "Bevételezés megerősítése" msgid "Receive Purchase Order Items" msgstr "Beszerzési rendelés tételeinek bevételezése" -#: templates/js/translated/order.js:1602 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1602 templates/js/translated/part.js:914 msgid "No purchase orders found" msgstr "Nem található beszerzési rendelés" @@ -8864,7 +8857,7 @@ 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:3978 -#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 +#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2397 msgid "Unit Price" msgstr "Egységár" @@ -8874,11 +8867,11 @@ msgid "Total Price" msgstr "Teljes ár" #: templates/js/translated/order.js:1993 templates/js/translated/order.js:3525 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:1023 msgid "This line item is overdue" msgstr "Ez a sortétel késésben van" -#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1069 msgid "Receive line item" msgstr "Sortétel bevételezése" @@ -8999,7 +8992,7 @@ msgid "Delete Stock Allocation" msgstr "Készlet foglalások törlése" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1535 +#: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "Vevőnek kiszállítva" @@ -9139,165 +9132,209 @@ msgstr "Alkatrész módosítva" msgid "Create Part Variant" msgstr "Alkatrész változat létrehozása" +#: templates/js/translated/part.js:405 +msgid "Active Part" +msgstr "" + +#: templates/js/translated/part.js:406 +msgid "Part cannot be deleted as it is currently active" +msgstr "" + +#: templates/js/translated/part.js:420 +msgid "Deleting this part cannot be reversed" +msgstr "" + +#: templates/js/translated/part.js:422 +msgid "Any stock items for this part will be deleted" +msgstr "" + #: templates/js/translated/part.js:423 +msgid "This part will be removed from any Bills of Material" +msgstr "" + +#: templates/js/translated/part.js:424 +msgid "All manufacturer and supplier information for this part will be deleted" +msgstr "" + +#: templates/js/translated/part.js:431 +msgid "Delete Part" +msgstr "" + +#: templates/js/translated/part.js:467 msgid "You are subscribed to notifications for this item" msgstr "Értesítések beállítva erre a tételre" -#: templates/js/translated/part.js:425 +#: templates/js/translated/part.js:469 msgid "You have subscribed to notifications for this item" msgstr "Értesítések beállítva erre a tételre" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:474 msgid "Subscribe to notifications for this item" msgstr "Értesítések kérése erre a tételre" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:476 msgid "You have unsubscribed to notifications for this item" msgstr "Értesítések letiltva erre a tételre" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:493 msgid "Validating the BOM will mark each line item as valid" msgstr "Az alkatrészjegyzék jóváhagyása minden sortételt jóvá fog hagyni" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:503 msgid "Validate Bill of Materials" msgstr "Alkatrészjegyzék jóváhagyása" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:506 msgid "Validated Bill of Materials" msgstr "Alkatrészjegyzék jóvá lett hagyva" -#: templates/js/translated/part.js:487 +#: templates/js/translated/part.js:531 msgid "Copy Bill of Materials" msgstr "Alkatrészjegyzék másolása" -#: templates/js/translated/part.js:513 templates/js/translated/part.js:1397 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1441 #: templates/js/translated/table_filters.js:452 msgid "Low stock" msgstr "Alacsony készlet" -#: templates/js/translated/part.js:523 templates/js/translated/part.js:1409 +#: templates/js/translated/part.js:567 templates/js/translated/part.js:1453 msgid "No stock available" msgstr "Nincs szabad" -#: templates/js/translated/part.js:557 templates/js/translated/part.js:642 +#: templates/js/translated/part.js:601 templates/js/translated/part.js:686 msgid "Trackable part" msgstr "Követésre kötelezett alkatrész" -#: templates/js/translated/part.js:561 templates/js/translated/part.js:646 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:690 msgid "Virtual part" msgstr "Virtuális alkatrész" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:617 msgid "Subscribed part" msgstr "Értesítésre beállított alkatrész" -#: templates/js/translated/part.js:577 +#: templates/js/translated/part.js:621 msgid "Salable part" msgstr "Értékesíthető alkatrész" -#: templates/js/translated/part.js:705 +#: templates/js/translated/part.js:749 msgid "No variants found" msgstr "Nincs több változat" -#: templates/js/translated/part.js:1095 +#: templates/js/translated/part.js:1139 msgid "Delete part relationship" msgstr "Alkatrész kapcsolatok törlése" -#: templates/js/translated/part.js:1119 +#: templates/js/translated/part.js:1163 msgid "Delete Part Relationship" msgstr "Alkatrész kapcsolatok törlése" -#: templates/js/translated/part.js:1184 templates/js/translated/part.js:1480 +#: templates/js/translated/part.js:1228 templates/js/translated/part.js:1524 msgid "No parts found" msgstr "Nincs alkatrész" -#: templates/js/translated/part.js:1223 +#: templates/js/translated/part.js:1267 msgid "Not available" msgstr "Nincs szabad" -#: templates/js/translated/part.js:1374 +#: templates/js/translated/part.js:1418 msgid "No category" msgstr "Nincs kategória" -#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664 -#: templates/js/translated/stock.js:2238 +#: templates/js/translated/part.js:1548 templates/js/translated/part.js:1760 +#: templates/js/translated/stock.js:2248 msgid "Display as list" msgstr "Megjelenítés listaként" -#: templates/js/translated/part.js:1520 +#: templates/js/translated/part.js:1564 msgid "Display as grid" msgstr "Megjelenítés rácsnézetként" -#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2257 +#: templates/js/translated/part.js:1630 +msgid "Set the part category for the selected parts" +msgstr "" + +#: templates/js/translated/part.js:1635 +msgid "Set Part Category" +msgstr "Alkatrész kategória beállítása" + +#: templates/js/translated/part.js:1640 +msgid "Select Part Category" +msgstr "" + +#: templates/js/translated/part.js:1653 +msgid "Category is required" +msgstr "" + +#: templates/js/translated/part.js:1779 templates/js/translated/stock.js:2267 msgid "Display as tree" msgstr "Megjelenítés fában" -#: templates/js/translated/part.js:1747 +#: templates/js/translated/part.js:1843 msgid "Subscribed category" msgstr "Értesítésre beállított kategória" -#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2301 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2311 msgid "Path" msgstr "Elérési út" -#: templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:1901 msgid "No test templates matching query" msgstr "Nincs a lekérdezéssel egyező teszt sablon" -#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1233 +#: templates/js/translated/part.js:1952 templates/js/translated/stock.js:1243 msgid "Edit test result" msgstr "Teszt eredmény szerkesztése" -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1234 -#: templates/js/translated/stock.js:1493 +#: templates/js/translated/part.js:1953 templates/js/translated/stock.js:1244 +#: templates/js/translated/stock.js:1503 msgid "Delete test result" msgstr "Teszt eredmény törlése" -#: templates/js/translated/part.js:1863 +#: templates/js/translated/part.js:1959 msgid "This test is defined for a parent part" msgstr "Ez a teszt a szülő alkatrészhez lett felvéve" -#: templates/js/translated/part.js:1885 +#: templates/js/translated/part.js:1981 msgid "Edit Test Result Template" msgstr "Teszt eredmény sablon szerkesztése" -#: templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:1995 msgid "Delete Test Result Template" msgstr "Teszt eredmény sablon törlése" -#: templates/js/translated/part.js:1924 +#: templates/js/translated/part.js:2020 #, python-brace-format msgid "No ${human_name} information found" msgstr "Nincs ${human_name} információ" -#: templates/js/translated/part.js:1981 +#: templates/js/translated/part.js:2077 #, python-brace-format msgid "Edit ${human_name}" msgstr "${human_name} szerkesztése" -#: templates/js/translated/part.js:1982 +#: templates/js/translated/part.js:2078 #, python-brace-format msgid "Delete ${human_name}" msgstr "${human_name} törlése" -#: templates/js/translated/part.js:2096 +#: templates/js/translated/part.js:2192 msgid "Current Stock" msgstr "Aktuális készlet" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2225 msgid "No scheduling information available for this part" msgstr "Az alkatrészhez nem áll rendelkezésre ütemezési információ" -#: templates/js/translated/part.js:2155 +#: templates/js/translated/part.js:2251 msgid "Scheduled Stock Quantities" msgstr "Ütemezett készlet mennyiség" -#: templates/js/translated/part.js:2225 +#: templates/js/translated/part.js:2321 msgid "Single Price" msgstr "Egységes ár" -#: templates/js/translated/part.js:2244 +#: templates/js/translated/part.js:2340 msgid "Single Price Difference" msgstr "Egységes ár különbség" @@ -9379,360 +9416,360 @@ msgstr "Eredmények összezárása" msgid "Remove results" msgstr "Eredmények eltávolítása" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:72 msgid "Serialize Stock Item" msgstr "Készlet tétel sorszámozása" -#: templates/js/translated/stock.js:101 +#: templates/js/translated/stock.js:100 msgid "Confirm Stock Serialization" msgstr "Készlet sorozatszámozás megerősítése" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:109 msgid "Parent stock location" msgstr "Felsőbb szintű készlet hely" -#: templates/js/translated/stock.js:139 +#: templates/js/translated/stock.js:138 msgid "Edit Stock Location" msgstr "Készlet hely szerkesztése" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:153 msgid "New Stock Location" msgstr "Új készlet hely" -#: templates/js/translated/stock.js:194 +#: templates/js/translated/stock.js:193 msgid "This part cannot be serialized" msgstr "Ezt az alkatrészt nem lehet sorozatszámozni" -#: templates/js/translated/stock.js:233 +#: templates/js/translated/stock.js:232 msgid "Enter initial quantity for this stock item" msgstr "Add meg a kezdeti mennyiséget ehhez a készlet tételhez" -#: templates/js/translated/stock.js:239 +#: templates/js/translated/stock.js:238 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "Add meg az új készlet tételhez tartozó sorozatszámokat (vagy hagyd üresen)" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:303 msgid "Stock item duplicated" msgstr "Készlet tétel lemásolva" -#: templates/js/translated/stock.js:324 +#: templates/js/translated/stock.js:323 msgid "Duplicate Stock Item" msgstr "Készlet tétel másolása" -#: templates/js/translated/stock.js:344 +#: templates/js/translated/stock.js:343 msgid "Edit Stock Item" msgstr "Készlet tétel szerkesztése" -#: templates/js/translated/stock.js:394 +#: templates/js/translated/stock.js:393 msgid "Created new stock item" msgstr "Készlet tétel létrehozva" -#: templates/js/translated/stock.js:407 +#: templates/js/translated/stock.js:406 msgid "Created multiple stock items" msgstr "Több készlet tétel létre lett hozva" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:431 msgid "Find Serial Number" msgstr "Sorozatszám keresése" -#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436 msgid "Enter serial number" msgstr "Sorozatszám megadása" -#: templates/js/translated/stock.js:453 +#: templates/js/translated/stock.js:452 msgid "Enter a serial number" msgstr "Adj meg egy sorozatszámot" -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:472 msgid "No matching serial number" msgstr "Nincs egyező sorozatszám" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:481 msgid "More than one matching result found" msgstr "Több egyező eredmény is van" -#: templates/js/translated/stock.js:605 +#: templates/js/translated/stock.js:604 msgid "Confirm stock assignment" msgstr "Készlet hozzárendelés jóváhagyása" -#: templates/js/translated/stock.js:606 +#: templates/js/translated/stock.js:605 msgid "Assign Stock to Customer" msgstr "Készlet vevőhöz rendelése" -#: templates/js/translated/stock.js:683 +#: templates/js/translated/stock.js:682 msgid "Warning: Merge operation cannot be reversed" msgstr "Figyelem: az összevonási művelet nem vonható vissza" -#: templates/js/translated/stock.js:684 +#: templates/js/translated/stock.js:683 msgid "Some information will be lost when merging stock items" msgstr "Némi információ elveszik a készlet összevonás során" -#: templates/js/translated/stock.js:686 +#: templates/js/translated/stock.js:685 msgid "Stock transaction history will be deleted for merged items" msgstr "A készlettörténet törölve lesz az összevont tételeknél" -#: templates/js/translated/stock.js:687 +#: templates/js/translated/stock.js:686 msgid "Supplier part information will be deleted for merged items" msgstr "A beszállítói alkatrész információk törlődnek az összevont tételeknél" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:772 msgid "Confirm stock item merge" msgstr "Készlet összevonás megerősítése" -#: templates/js/translated/stock.js:774 +#: templates/js/translated/stock.js:773 msgid "Merge Stock Items" msgstr "Készlet tételek összevonása" -#: templates/js/translated/stock.js:869 +#: templates/js/translated/stock.js:868 msgid "Transfer Stock" msgstr "Készlet áthelyezése" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:869 msgid "Move" msgstr "Áthelyezés" -#: templates/js/translated/stock.js:876 +#: templates/js/translated/stock.js:875 msgid "Count Stock" msgstr "Leltározás" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:876 msgid "Count" msgstr "Mennyiség" -#: templates/js/translated/stock.js:881 +#: templates/js/translated/stock.js:880 msgid "Remove Stock" msgstr "Készlet csökkentése" -#: templates/js/translated/stock.js:882 +#: templates/js/translated/stock.js:881 msgid "Take" msgstr "Kivesz" -#: templates/js/translated/stock.js:886 +#: templates/js/translated/stock.js:885 msgid "Add Stock" msgstr "Készlet növelése" -#: templates/js/translated/stock.js:887 users/models.py:215 +#: templates/js/translated/stock.js:886 users/models.py:215 msgid "Add" msgstr "Hozzáad" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Delete Stock" msgstr "Készlet törlése" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Quantity cannot be adjusted for serialized stock" msgstr "Egyedi követésre kötelezett tételeknél a menyiség nem módosítható" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Specify stock quantity" msgstr "Készlet mennyiség megadása" -#: templates/js/translated/stock.js:1024 +#: templates/js/translated/stock.js:1023 msgid "You must select at least one available stock item" msgstr "Ki kell választanod legalább egy rendelkezésre álló készlet tételt" -#: templates/js/translated/stock.js:1047 +#: templates/js/translated/stock.js:1046 msgid "Confirm stock adjustment" msgstr "Készlet módosítás jóváhagyása" -#: templates/js/translated/stock.js:1172 +#: templates/js/translated/stock.js:1182 msgid "PASS" msgstr "SIKER" -#: templates/js/translated/stock.js:1174 +#: templates/js/translated/stock.js:1184 msgid "FAIL" msgstr "SIKERTELEN" -#: templates/js/translated/stock.js:1179 +#: templates/js/translated/stock.js:1189 msgid "NO RESULT" msgstr "NINCS EREDMÉNY" -#: templates/js/translated/stock.js:1226 +#: templates/js/translated/stock.js:1236 msgid "Pass test" msgstr "Teszt sikeres" -#: templates/js/translated/stock.js:1229 +#: templates/js/translated/stock.js:1239 msgid "Add test result" msgstr "Teszt eredmény hozzáadása" -#: templates/js/translated/stock.js:1255 +#: templates/js/translated/stock.js:1265 msgid "No test results found" msgstr "Nincs teszt eredmény" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1321 msgid "Test Date" msgstr "Teszt dátuma" -#: templates/js/translated/stock.js:1476 +#: templates/js/translated/stock.js:1486 msgid "Edit Test Result" msgstr "Teszt eredmény szerkesztése" -#: templates/js/translated/stock.js:1498 +#: templates/js/translated/stock.js:1508 msgid "Delete Test Result" msgstr "Teszt eredmény törlése" -#: templates/js/translated/stock.js:1527 +#: templates/js/translated/stock.js:1537 msgid "In production" msgstr "Gyártásban" -#: templates/js/translated/stock.js:1531 +#: templates/js/translated/stock.js:1541 msgid "Installed in Stock Item" msgstr "Beépítve készlet tételbe" -#: templates/js/translated/stock.js:1539 +#: templates/js/translated/stock.js:1549 msgid "Assigned to Sales Order" msgstr "Vevő rendeléshez hozzárendelve" -#: templates/js/translated/stock.js:1545 +#: templates/js/translated/stock.js:1555 msgid "No stock location set" msgstr "Nincs hely megadva" -#: templates/js/translated/stock.js:1712 +#: templates/js/translated/stock.js:1722 msgid "Stock item is in production" msgstr "Készlet tétel gyártás alatt" -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1727 msgid "Stock item assigned to sales order" msgstr "Készlet tétel hozzárendelve egy vevői rendeléshez" -#: templates/js/translated/stock.js:1720 +#: templates/js/translated/stock.js:1730 msgid "Stock item assigned to customer" msgstr "Készlet tétel hozzárendelve egy vevőhöz" -#: templates/js/translated/stock.js:1723 +#: templates/js/translated/stock.js:1733 msgid "Serialized stock item has been allocated" msgstr "Egyedi követésre kötelezett készlet tétel lefoglalva" -#: templates/js/translated/stock.js:1725 +#: templates/js/translated/stock.js:1735 msgid "Stock item has been fully allocated" msgstr "Készlet tétel teljes egészében lefoglalva" -#: templates/js/translated/stock.js:1727 +#: templates/js/translated/stock.js:1737 msgid "Stock item has been partially allocated" msgstr "Készlet tétel részben lefoglalva" -#: templates/js/translated/stock.js:1730 +#: templates/js/translated/stock.js:1740 msgid "Stock item has been installed in another item" msgstr "Készlet tétel beépítve egy másikba" -#: templates/js/translated/stock.js:1734 +#: templates/js/translated/stock.js:1744 msgid "Stock item has expired" msgstr "Készlet tétel lejárt" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1746 msgid "Stock item will expire soon" msgstr "Készlet tétel hamarosan lejár" -#: templates/js/translated/stock.js:1743 +#: templates/js/translated/stock.js:1753 msgid "Stock item has been rejected" msgstr "Készlet tétel elutasítva" -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1755 msgid "Stock item is lost" msgstr "Készlet tétel elveszett" -#: templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:1757 msgid "Stock item is destroyed" msgstr "Készlet tétel megsemmisült" -#: templates/js/translated/stock.js:1751 +#: templates/js/translated/stock.js:1761 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "Kimerült" -#: templates/js/translated/stock.js:1802 +#: templates/js/translated/stock.js:1812 msgid "Stocktake" msgstr "Leltár" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1894 msgid "Supplier part not specified" msgstr "Beszállítói alkatrész nincs megadva" -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1932 msgid "No stock items matching query" msgstr "Nincs a lekérdezésnek megfelelő készlet tétel" -#: templates/js/translated/stock.js:2095 +#: templates/js/translated/stock.js:2105 msgid "Set Stock Status" msgstr "Készlet állapot beállítása" -#: templates/js/translated/stock.js:2109 +#: templates/js/translated/stock.js:2119 msgid "Select Status Code" msgstr "Státuszkód kiválasztása" -#: templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2120 msgid "Status code must be selected" msgstr "Státuszkódot ki kell választani" -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2375 msgid "Details" msgstr "Részletek" -#: templates/js/translated/stock.js:2381 +#: templates/js/translated/stock.js:2391 msgid "Part information unavailable" msgstr "Alkatrész információ nem áll rendelkezésre" -#: templates/js/translated/stock.js:2403 +#: templates/js/translated/stock.js:2413 msgid "Location no longer exists" msgstr "A hely már nem létezik" -#: templates/js/translated/stock.js:2422 +#: templates/js/translated/stock.js:2432 msgid "Purchase order no longer exists" msgstr "Beszerzési megrendelés már nem létezik" -#: templates/js/translated/stock.js:2441 +#: templates/js/translated/stock.js:2451 msgid "Customer no longer exists" msgstr "Vevő már nem létezik" -#: templates/js/translated/stock.js:2459 +#: templates/js/translated/stock.js:2469 msgid "Stock item no longer exists" msgstr "A készlet tétel már nem létezik" -#: templates/js/translated/stock.js:2482 +#: templates/js/translated/stock.js:2492 msgid "Added" msgstr "Hozzáadva" -#: templates/js/translated/stock.js:2490 +#: templates/js/translated/stock.js:2500 msgid "Removed" msgstr "Eltávolítva" -#: templates/js/translated/stock.js:2566 +#: templates/js/translated/stock.js:2576 msgid "No installed items" msgstr "Nincsenek beépített tételek" -#: templates/js/translated/stock.js:2617 templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2663 msgid "Uninstall Stock Item" msgstr "Készlet tétel kiszedése" -#: templates/js/translated/stock.js:2666 +#: templates/js/translated/stock.js:2676 msgid "Select stock item to uninstall" msgstr "Válaszd ki a kiszedni való készlet tételt" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2697 msgid "Install another stock item into this item" msgstr "Másik tétel beépítése ebbe a készlet tételbe" -#: templates/js/translated/stock.js:2688 +#: templates/js/translated/stock.js:2698 msgid "Stock items can only be installed if they meet the following criteria" msgstr "Készlet tételek csak akkor építhetők be ha teljesítik a következő kritériumokat" -#: templates/js/translated/stock.js:2690 +#: templates/js/translated/stock.js:2700 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "A készlet tétel egy olyan alkatrészre mutat ami alkatrészjegyzéke ennek a készlet tételnek" -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/stock.js:2701 msgid "The Stock Item is currently available in stock" msgstr "A készlet tétel jelenleg elérhető készleten" -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2702 msgid "The Stock Item is not already installed in another item" msgstr "A készlet tétel még nem épült be egy másik tételbe" -#: templates/js/translated/stock.js:2693 +#: templates/js/translated/stock.js:2703 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "A készlet tétel követett vagy sorozatszámmal vagy batch kóddal" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2716 msgid "Select part to install" msgstr "Válaszd ki a beépítendő alkatrészt" diff --git a/InvenTree/locale/id/LC_MESSAGES/django.po b/InvenTree/locale/id/LC_MESSAGES/django.po index ddb68a3507..8eb850647a 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-06-05 14:26+0000\n" -"PO-Revision-Date: 2022-06-05 14:34\n" +"POT-Creation-Date: 2022-06-06 22:59+0000\n" +"PO-Revision-Date: 2022-06-07 14:34\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:46 +#: InvenTree/api.py:49 msgid "API endpoint not found" msgstr "API endpoint tidak ditemukan" @@ -29,275 +29,273 @@ msgstr "" msgid "Enter date" msgstr "Masukkan tanggal" -#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:630 -msgid "Confirm" -msgstr "Konfirmasi" - -#: InvenTree/forms.py:134 +#: InvenTree/forms.py:117 msgid "Confirm delete" msgstr "Konfirmasi penghapusan" -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:118 msgid "Confirm item deletion" msgstr "Konfirmasi penghapusan item" -#: InvenTree/forms.py:167 +#: InvenTree/forms.py:150 msgid "Enter password" msgstr "Masukkan sandi" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:151 msgid "Enter new password" msgstr "Masukkan kata sandi baru" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:158 msgid "Confirm password" msgstr "Konfirmasikan kata sandi" -#: InvenTree/forms.py:176 +#: InvenTree/forms.py:159 msgid "Confirm new password" msgstr "Konfirmasi sandi baru" -#: InvenTree/forms.py:213 -msgid "Select Category" -msgstr "Pilih Kategori" - -#: InvenTree/forms.py:234 +#: InvenTree/forms.py:184 msgid "Email (again)" msgstr "Email (ulang)" -#: InvenTree/forms.py:238 +#: InvenTree/forms.py:188 msgid "Email address confirmation" msgstr "Konfirmasi alamat email" -#: InvenTree/forms.py:259 +#: InvenTree/forms.py:209 msgid "You must type the same email each time." msgstr "" -#: InvenTree/helpers.py:402 +#: InvenTree/helpers.py:404 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 +#: InvenTree/helpers.py:411 order/models.py:370 order/models.py:522 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:412 +#: InvenTree/helpers.py:414 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:444 +#: InvenTree/helpers.py:446 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:447 +#: InvenTree/helpers.py:449 #, python-brace-format msgid "Invalid group: {g}" msgstr "" -#: InvenTree/helpers.py:475 +#: InvenTree/helpers.py:477 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:483 +#: InvenTree/helpers.py:485 #, python-brace-format msgid "Invalid/no group {group}" msgstr "" -#: InvenTree/helpers.py:489 +#: InvenTree/helpers.py:491 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:493 +#: InvenTree/helpers.py:495 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:174 +#: InvenTree/models.py:178 msgid "Missing file" msgstr "" -#: InvenTree/models.py:175 +#: InvenTree/models.py:179 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:187 stock/models.py:2087 -#: templates/js/translated/attachment.js:101 -#: templates/js/translated/attachment.js:198 +#: InvenTree/models.py:191 stock/models.py:2091 +#: templates/js/translated/attachment.js:103 +#: templates/js/translated/attachment.js:194 msgid "Attachment" msgstr "" -#: InvenTree/models.py:188 +#: InvenTree/models.py:192 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 -#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: InvenTree/models.py:198 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:136 order/models.py:1251 #: 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 -#: templates/js/translated/part.js:1441 +#: templates/js/translated/company.js:640 +#: templates/js/translated/company.js:931 templates/js/translated/order.js:2676 +#: templates/js/translated/part.js:1485 msgid "Link" msgstr "" -#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: InvenTree/models.py:199 build/models.py:320 part/models.py:796 #: stock/models.py:642 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 -#: templates/js/translated/attachment.js:242 +#: InvenTree/models.py:202 templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:238 msgid "Comment" msgstr "" -#: InvenTree/models.py:198 +#: InvenTree/models.py:202 msgid "File comment" msgstr "" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1506 +#: common/models.py:1507 common/models.py:1735 common/models.py:1736 +#: common/models.py:1998 common/models.py:1999 part/models.py:2141 +#: part/models.py:2161 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:2523 msgid "User" msgstr "" -#: InvenTree/models.py:208 +#: InvenTree/models.py:212 msgid "upload date" msgstr "" -#: InvenTree/models.py:230 +#: InvenTree/models.py:234 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:253 +#: InvenTree/models.py:257 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:263 +#: InvenTree/models.py:267 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:266 +#: InvenTree/models.py:270 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:273 +#: InvenTree/models.py:277 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:280 +#: InvenTree/models.py:284 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:314 +#: InvenTree/models.py:318 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 #: company/models.py:354 label/models.py:101 part/models.py:739 -#: part/models.py:2331 plugin/models.py:93 report/models.py:151 +#: part/models.py:2319 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 #: templates/InvenTree/settings/plugin.html:132 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:346 -#: 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:2283 +#: templates/js/translated/company.js:530 +#: templates/js/translated/company.js:742 templates/js/translated/part.js:659 +#: templates/js/translated/part.js:811 templates/js/translated/part.js:1832 +#: templates/js/translated/stock.js:2293 msgid "Name" msgstr "" -#: InvenTree/models.py:340 build/models.py:197 +#: InvenTree/models.py:344 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: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:164 +#: order/models.py:134 part/models.py:762 part/templates/part/category.html:74 +#: part/templates/part/part_base.html:167 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 -#: 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/bom.js:553 templates/js/translated/bom.js:845 +#: templates/js/translated/build.js:2476 templates/js/translated/company.js:395 +#: templates/js/translated/company.js:651 +#: templates/js/translated/company.js:942 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:1676 -#: templates/js/translated/stock.js:2295 templates/js/translated/stock.js:2350 +#: templates/js/translated/part.js:718 templates/js/translated/part.js:1126 +#: templates/js/translated/part.js:1399 templates/js/translated/part.js:1851 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:1686 +#: templates/js/translated/stock.js:2305 templates/js/translated/stock.js:2360 msgid "Description" msgstr "" -#: InvenTree/models.py:341 +#: InvenTree/models.py:345 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:349 +#: InvenTree/models.py:353 msgid "parent" msgstr "" -#: InvenTree/serializers.py:52 part/models.py:2652 +#: InvenTree/models.py:466 +msgid "Server Error" +msgstr "" + +#: InvenTree/models.py:467 +msgid "An error has been logged by the server." +msgstr "" + +#: InvenTree/serializers.py:52 part/models.py:2640 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:271 +#: InvenTree/serializers.py:263 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:306 +#: InvenTree/serializers.py:298 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:320 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:321 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:342 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:348 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:377 +#: InvenTree/serializers.py:369 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:372 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:495 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:506 +#: InvenTree/serializers.py:498 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:583 +#: InvenTree/serializers.py:575 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:592 +#: InvenTree/serializers.py:584 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" @@ -440,7 +438,7 @@ msgstr "" msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:141 order/models.py:1114 +#: InvenTree/status_codes.py:141 order/models.py:1130 #: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "" @@ -525,7 +523,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2020 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2030 msgid "Merged stock items" msgstr "" @@ -597,27 +595,27 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:522 +#: InvenTree/views.py:521 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:571 +#: InvenTree/views.py:570 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:585 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:597 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "" -#: InvenTree/views.py:618 +#: InvenTree/views.py:617 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:842 templates/navbar.html:152 +#: InvenTree/views.py:807 templates/navbar.html:152 msgid "System Information" msgstr "" @@ -628,6 +626,7 @@ msgstr "" #: 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/email/overdue_build_order.html:15 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "" @@ -646,12 +645,12 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:189 order/models.py:288 order/models.py:638 -#: order/models.py:916 part/models.py:2570 +#: build/models.py:189 order/models.py:293 order/models.py:654 +#: order/models.py:932 part/models.py:2558 #: 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/bom.js:690 templates/js/translated/bom.js:852 #: 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:3959 @@ -673,13 +672,12 @@ msgstr "" #: 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:2460 part/models.py:2545 part/models.py:2821 -#: part/serializers.py:793 part/templates/part/part_app_base.html:8 +#: order/models.py:1028 order/models.py:1119 part/models.py:336 +#: part/models.py:2087 part/models.py:2102 part/models.py:2121 +#: part/models.py:2139 part/models.py:2238 part/models.py:2358 +#: part/models.py:2448 part/models.py:2533 part/models.py:2809 +#: part/serializers.py:795 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 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 @@ -687,22 +685,23 @@ msgstr "" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 +#: templates/email/overdue_build_order.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:805 +#: templates/js/translated/bom.js:689 templates/js/translated/bom.js:799 #: 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/company.js:253 +#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:592 +#: templates/js/translated/company.js:851 templates/js/translated/order.js:100 #: templates/js/translated/order.js:883 templates/js/translated/order.js:1315 #: 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:1633 templates/js/translated/stock.js:2376 -#: templates/js/translated/stock.js:2571 templates/js/translated/stock.js:2705 +#: templates/js/translated/part.js:1111 templates/js/translated/part.js:1181 +#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:695 templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2386 +#: templates/js/translated/stock.js:2581 templates/js/translated/stock.js:2715 msgid "Part" msgstr "" @@ -768,12 +767,12 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:282 order/models.py:137 part/models.py:932 +#: build/models.py:282 order/models.py:138 part/models.py:932 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "" -#: build/models.py:286 order/models.py:660 +#: build/models.py:286 order/models.py:676 msgid "Target completion date" msgstr "" @@ -781,7 +780,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:290 order/models.py:331 +#: build/models.py:290 order/models.py:336 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "" @@ -799,7 +798,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:313 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:151 +#: build/templates/build/detail.html:115 order/models.py:152 #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 @@ -822,20 +821,20 @@ msgstr "" #: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 #: company/models.py:519 company/templates/company/sidebar.html:25 -#: order/models.py:155 order/models.py:918 order/models.py:1213 +#: order/models.py:156 order/models.py:934 order/models.py:1229 #: order/templates/order/po_sidebar.html:11 #: 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:713 stock/models.py:1985 stock/models.py:2093 +#: stock/models.py:713 stock/models.py:1989 stock/models.py:2097 #: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:486 -#: stock/serializers.py:772 stock/serializers.py:871 stock/serializers.py:1003 +#: stock/serializers.py:759 stock/serializers.py:858 stock/serializers.py:990 #: 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/barcode.js:100 templates/js/translated/bom.js:1038 +#: templates/js/translated/company.js:947 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 -#: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 +#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1926 msgid "Notes" msgstr "" @@ -855,44 +854,44 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1108 +#: build/models.py:1111 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1117 +#: build/models.py:1120 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1127 +#: build/models.py:1130 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1133 order/models.py:1372 +#: build/models.py:1136 order/models.py:1388 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1139 +#: build/models.py:1142 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1196 +#: build/models.py:1199 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1265 stock/templates/stock/item_base.html:177 +#: build/models.py:1268 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:1266 +#: build/models.py:1269 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 -#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:703 -#: stock/serializers.py:829 stock/templates/stock/item_base.html:10 +#: build/models.py:1285 build/serializers.py:603 order/serializers.py:996 +#: order/serializers.py:1017 stock/serializers.py:382 stock/serializers.py:690 +#: stock/serializers.py:816 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 @@ -900,22 +899,22 @@ msgstr "" #: 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:2449 +#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696 +#: templates/js/translated/stock.js:2459 msgid "Stock Item" msgstr "" -#: build/models.py:1283 +#: build/models.py:1286 msgid "Source stock item" msgstr "" -#: build/models.py:1295 build/serializers.py:183 +#: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1536 +#: build/templates/build/detail.html:34 common/models.py:1543 #: 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:68 -#: part/forms.py:83 part/forms.py:98 part/models.py:2561 +#: order/models.py:925 order/models.py:1428 order/serializers.py:1136 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 +#: part/forms.py:74 part/forms.py:89 part/models.py:2549 #: 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 @@ -926,8 +925,8 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:139 #: 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 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:691 +#: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 #: templates/js/translated/build.js:574 templates/js/translated/build.js:765 #: templates/js/translated/build.js:1175 templates/js/translated/build.js:1673 #: templates/js/translated/build.js:2086 @@ -937,23 +936,23 @@ msgstr "" #: 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: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 -#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727 -#: templates/js/translated/stock.js:2498 templates/js/translated/stock.js:2583 +#: templates/js/translated/part.js:1011 templates/js/translated/part.js:2065 +#: templates/js/translated/part.js:2296 templates/js/translated/part.js:2330 +#: templates/js/translated/part.js:2408 templates/js/translated/stock.js:402 +#: templates/js/translated/stock.js:556 templates/js/translated/stock.js:726 +#: templates/js/translated/stock.js:2508 templates/js/translated/stock.js:2593 msgid "Quantity" msgstr "" -#: build/models.py:1296 +#: build/models.py:1299 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1304 +#: build/models.py:1307 msgid "Install into" msgstr "" -#: build/models.py:1305 +#: build/models.py:1308 msgid "Destination stock item" msgstr "" @@ -982,9 +981,9 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: 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:1239 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:368 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:514 +#: part/serializers.py:958 stock/models.py:470 stock/models.py:1239 #: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" @@ -997,9 +996,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 #: stock/serializers.py:297 templates/js/translated/order.js:1186 -#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:237 templates/js/translated/stock.js:403 msgid "Serial Numbers" msgstr "" @@ -1015,7 +1014,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:552 +#: build/serializers.py:268 stock/api.py:553 msgid "The following serial numbers already exist" msgstr "" @@ -1025,16 +1024,16 @@ msgstr "" #: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 #: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:481 -#: stock/serializers.py:864 stock/serializers.py:1097 +#: stock/serializers.py:851 stock/serializers.py:1084 #: 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 #: 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:1787 templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532 +#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904 +#: templates/js/translated/stock.js:1797 templates/js/translated/stock.js:2400 msgid "Location" msgstr "" @@ -1043,12 +1042,12 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:363 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:654 +#: build/templates/build/detail.html:62 order/models.py:670 #: 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 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1772 +#: templates/js/translated/stock.js:2477 templates/js/translated/stock.js:2609 msgid "Status" msgstr "" @@ -1108,8 +1107,8 @@ msgstr "" msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:535 build/serializers.py:580 part/models.py:2679 -#: part/models.py:2813 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2667 +#: part/models.py:2801 msgid "BOM Item" msgstr "" @@ -1125,11 +1124,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:716 +#: build/serializers.py:609 stock/serializers.py:703 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:667 order/serializers.py:1052 +#: build/serializers.py:667 order/serializers.py:1054 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1146,7 +1145,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:708 order/serializers.py:1298 +#: build/serializers.py:708 order/serializers.py:1300 msgid "Allocation items must be provided" msgstr "" @@ -1178,10 +1177,19 @@ msgstr "" msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:96 +#: build/tasks.py:100 msgid "Stock required for build order" msgstr "" +#: build/tasks.py:118 +msgid "Overdue Build Order" +msgstr "" + +#: build/tasks.py:123 +#, python-brace-format +msgid "Build order {bo} is now overdue" +msgstr "" + #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 #: order/templates/order/sales_order_base.html:38 @@ -1244,13 +1252,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:922 +#: build/templates/build/detail.html:131 order/models.py:938 #: 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: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 +#: templates/js/translated/order.js:3517 templates/js/translated/part.js:1015 msgid "Target Date" msgstr "" @@ -1277,13 +1285,14 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1100 -#: order/models.py:1185 order/models.py:1320 +#: build/templates/build/detail.html:94 order/models.py:1116 +#: order/models.py:1201 order/models.py:1336 #: 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/email/overdue_sales_order.html:15 #: templates/js/translated/order.js:2436 msgid "Sales Order" msgstr "" @@ -1319,7 +1328,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1034 +#: build/templates/build/detail.html:49 order/models.py:1050 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "" @@ -1336,8 +1345,8 @@ msgstr "" #: stock/templates/stock/item_base.html:170 #: templates/js/translated/build.js:1179 #: templates/js/translated/model_renderers.js:112 -#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1776 -#: templates/js/translated/stock.js:2606 +#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:2616 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1716,7 +1725,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:820 part/models.py:2372 report/models.py:157 +#: common/models.py:820 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" @@ -1726,7 +1735,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" @@ -1880,7 +1889,7 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:968 -msgid "Test Reports" +msgid "Enable Test Reports" msgstr "" #: common/models.py:969 @@ -1888,568 +1897,576 @@ msgid "Enable generation of test reports" msgstr "" #: common/models.py:975 -msgid "Batch Code Template" +msgid "Attach Test Reports" msgstr "" #: common/models.py:976 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:981 -msgid "Stock Expiry" +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" #: common/models.py:982 -msgid "Enable stock expiry functionality" +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:983 +msgid "Template for generating default batch codes for stock items" msgstr "" #: common/models.py:988 -msgid "Sell Expired Stock" +msgid "Stock Expiry" msgstr "" #: common/models.py:989 -msgid "Allow sale of expired stock" +msgid "Enable stock expiry functionality" msgstr "" #: common/models.py:995 -msgid "Stock Stale Time" +msgid "Sell Expired Stock" msgstr "" #: common/models.py:996 -msgid "Number of days stock items are considered stale before expiring" +msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:998 -msgid "days" +#: common/models.py:1002 +msgid "Stock Stale Time" msgstr "" #: common/models.py:1003 -msgid "Build Expired Stock" +msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1004 -msgid "Allow building with expired stock" +#: common/models.py:1005 +msgid "days" msgstr "" #: common/models.py:1010 -msgid "Stock Ownership Control" +msgid "Build Expired Stock" msgstr "" #: common/models.py:1011 -msgid "Enable ownership control over stock locations and items" +msgid "Allow building with expired stock" msgstr "" #: common/models.py:1017 -msgid "Build Order Reference Prefix" +msgid "Stock Ownership Control" msgstr "" #: common/models.py:1018 -msgid "Prefix value for build order reference" -msgstr "" - -#: common/models.py:1023 -msgid "Build Order Reference Regex" +msgid "Enable ownership control over stock locations and items" msgstr "" #: common/models.py:1024 +msgid "Build Order Reference Prefix" +msgstr "" + +#: common/models.py:1025 +msgid "Prefix value for build order reference" +msgstr "" + +#: common/models.py:1030 +msgid "Build Order Reference Regex" +msgstr "" + +#: common/models.py:1031 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1029 +#: common/models.py:1036 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1041 +#: common/models.py:1048 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1042 +#: common/models.py:1049 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1048 +#: common/models.py:1055 msgid "Enable password forgot" msgstr "" -#: common/models.py:1049 +#: common/models.py:1056 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1055 +#: common/models.py:1062 msgid "Enable registration" msgstr "" -#: common/models.py:1056 +#: common/models.py:1063 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1069 msgid "Enable SSO" msgstr "" -#: common/models.py:1063 +#: common/models.py:1070 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1069 +#: common/models.py:1076 msgid "Email required" msgstr "" -#: common/models.py:1070 +#: common/models.py:1077 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1076 +#: common/models.py:1083 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1077 +#: common/models.py:1084 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1083 +#: common/models.py:1090 msgid "Mail twice" msgstr "" -#: common/models.py:1084 +#: common/models.py:1091 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1090 +#: common/models.py:1097 msgid "Password twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1098 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1097 +#: common/models.py:1104 msgid "Group on signup" msgstr "" -#: common/models.py:1098 +#: common/models.py:1105 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1104 +#: common/models.py:1111 msgid "Enforce MFA" msgstr "" -#: common/models.py:1105 +#: common/models.py:1112 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1111 +#: common/models.py:1118 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1112 +#: common/models.py:1119 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1120 +#: common/models.py:1127 msgid "Enable URL integration" msgstr "" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1136 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1136 +#: common/models.py:1143 msgid "Enable app integration" msgstr "" -#: common/models.py:1137 +#: common/models.py:1144 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1144 +#: common/models.py:1151 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1145 +#: common/models.py:1152 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1152 +#: common/models.py:1159 msgid "Enable event integration" msgstr "" -#: common/models.py:1153 +#: common/models.py:1160 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1170 common/models.py:1492 +#: common/models.py:1177 common/models.py:1499 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1192 +#: common/models.py:1199 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1193 +#: common/models.py:1200 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1199 +#: common/models.py:1206 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1200 +#: common/models.py:1207 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1213 msgid "Show latest parts" msgstr "" -#: common/models.py:1207 +#: common/models.py:1214 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1213 +#: common/models.py:1220 msgid "Recent Part Count" msgstr "" -#: common/models.py:1214 +#: common/models.py:1221 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1220 +#: common/models.py:1227 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1221 +#: common/models.py:1228 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1227 +#: common/models.py:1234 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1228 +#: common/models.py:1235 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1235 +#: common/models.py:1242 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Show low stock" msgstr "" -#: common/models.py:1242 +#: common/models.py:1249 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Show depleted stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1256 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1262 msgid "Show needed stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1263 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1269 msgid "Show expired stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1270 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1276 msgid "Show stale stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Show pending builds" msgstr "" -#: common/models.py:1277 +#: common/models.py:1284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Show overdue builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1291 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1291 +#: common/models.py:1298 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Show overdue POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1305 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1312 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1318 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1319 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1317 +#: common/models.py:1324 msgid "Enable label printing" msgstr "" -#: common/models.py:1318 +#: common/models.py:1325 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1324 +#: common/models.py:1331 msgid "Inline label display" msgstr "" -#: common/models.py:1325 +#: common/models.py:1332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1331 +#: common/models.py:1338 msgid "Inline report display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1345 msgid "Search Parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1345 +#: common/models.py:1352 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1359 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1366 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1367 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1373 msgid "Search Categories" msgstr "" -#: common/models.py:1367 +#: common/models.py:1374 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1380 msgid "Search Stock" msgstr "" -#: common/models.py:1374 +#: common/models.py:1381 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1387 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1381 +#: common/models.py:1388 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1394 msgid "Search Locations" msgstr "" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1401 msgid "Search Companies" msgstr "" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1408 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1415 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1422 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1429 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Search Preview Results" msgstr "" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1457 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1457 +#: common/models.py:1464 msgid "Date Format" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1472 part/templates/part/detail.html:39 +#: common/models.py:1479 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1473 +#: common/models.py:1480 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1537 company/forms.py:37 +#: common/models.py:1544 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: 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 +#: common/models.py:1551 company/serializers.py:290 +#: company/templates/company/supplier_part.html:263 order/models.py:965 +#: templates/js/translated/part.js:1042 templates/js/translated/part.js:2070 msgid "Price" msgstr "" -#: common/models.py:1545 +#: common/models.py:1552 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1705 common/models.py:1883 +#: common/models.py:1712 common/models.py:1890 msgid "Endpoint" msgstr "" -#: common/models.py:1706 +#: common/models.py:1713 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1715 +#: common/models.py:1722 msgid "Name for this webhook" msgstr "" -#: common/models.py:1720 part/models.py:911 plugin/models.py:99 +#: common/models.py:1727 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 @@ -2457,79 +2474,89 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1721 +#: common/models.py:1728 msgid "Is this webhook active" msgstr "" -#: common/models.py:1735 +#: common/models.py:1742 msgid "Token" msgstr "" -#: common/models.py:1736 +#: common/models.py:1743 msgid "Token for access" msgstr "" -#: common/models.py:1743 +#: common/models.py:1750 msgid "Secret" msgstr "" -#: common/models.py:1744 +#: common/models.py:1751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Message ID" msgstr "" -#: common/models.py:1851 +#: common/models.py:1858 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1859 +#: common/models.py:1866 msgid "Host" msgstr "" -#: common/models.py:1860 +#: common/models.py:1867 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1867 +#: common/models.py:1874 msgid "Header" msgstr "" -#: common/models.py:1868 +#: common/models.py:1875 msgid "Header of this message" msgstr "" -#: common/models.py:1874 +#: common/models.py:1881 msgid "Body" msgstr "" -#: common/models.py:1875 +#: common/models.py:1882 msgid "Body of this message" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1889 +#: common/models.py:1896 msgid "Worked on" msgstr "" -#: common/models.py:1890 +#: common/models.py:1897 msgid "Was the work on this message finished?" msgstr "" +#: common/notifications.py:292 +#, python-brace-format +msgid "New {verbose_name}" +msgstr "" + +#: common/notifications.py:294 +#, python-brace-format +msgid "A new {verbose_name} has been created and ,assigned to you" +msgstr "" + #: common/views.py:87 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:191 +#: order/views.py:102 part/views.py:116 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:192 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:117 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -2545,19 +2572,19 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:511 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:16 part/forms.py:21 +#: company/forms.py:16 part/forms.py:18 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:17 part/forms.py:22 +#: company/forms.py:17 part/forms.py:19 msgid "Image URL" msgstr "" @@ -2571,7 +2598,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:405 +#: templates/js/translated/company.js:399 msgid "Website" msgstr "" @@ -2644,9 +2671,9 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: 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 +#: company/models.py:144 company/serializers.py:296 +#: company/templates/company/company_base.html:106 part/serializers.py:139 +#: part/serializers.py:170 stock/serializers.py:162 msgid "Currency" msgstr "" @@ -2667,10 +2694,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: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/company.js:383 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:617 +#: templates/js/translated/company.js:902 templates/js/translated/part.js:235 #: templates/js/translated/table_filters.js:411 msgid "Manufacturer" msgstr "" @@ -2681,11 +2708,11 @@ msgstr "" #: 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 -#: 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 +#: templates/js/translated/company.js:256 +#: templates/js/translated/company.js:483 +#: templates/js/translated/company.js:633 +#: templates/js/translated/company.js:920 templates/js/translated/order.js:1907 +#: templates/js/translated/part.js:246 templates/js/translated/part.js:1000 msgid "MPN" msgstr "" @@ -2714,9 +2741,9 @@ msgstr "" #: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2080 templates/js/translated/company.js:540 -#: templates/js/translated/company.js:763 templates/js/translated/part.js:776 -#: templates/js/translated/stock.js:1294 +#: stock/models.py:2084 templates/js/translated/company.js:531 +#: templates/js/translated/company.js:748 templates/js/translated/part.js:820 +#: templates/js/translated/stock.js:1304 msgid "Value" msgstr "" @@ -2724,10 +2751,10 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:368 part/models.py:878 part/models.py:2339 +#: company/models.py:368 part/models.py:878 part/models.py:2327 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:351 -#: templates/js/translated/company.js:769 templates/js/translated/part.js:782 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:826 msgid "Units" msgstr "" @@ -2740,13 +2767,14 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:487 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:303 +#: company/templates/company/supplier_part.html:87 order/models.py:308 #: 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 -#: 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/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:255 +#: templates/js/translated/company.js:387 +#: templates/js/translated/company.js:876 templates/js/translated/order.js:1643 +#: templates/js/translated/part.js:216 templates/js/translated/part.js:968 #: templates/js/translated/table_filters.js:415 msgid "Supplier" msgstr "" @@ -2756,9 +2784,9 @@ msgid "Select supplier" msgstr "" #: 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 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:254 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 -#: templates/js/translated/part.js:942 +#: templates/js/translated/part.js:986 msgid "SKU" msgstr "" @@ -2779,23 +2807,23 @@ msgid "Supplier part description" msgstr "" #: company/models.py:518 company/templates/company/supplier_part.html:125 -#: part/models.py:2573 part/templates/part/upload_bom.html:59 +#: part/models.py:2561 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:387 msgid "Note" msgstr "" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "base cost" msgstr "" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: 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 +#: templates/js/translated/company.js:952 templates/js/translated/stock.js:1922 msgid "Packaging" msgstr "" @@ -2803,7 +2831,7 @@ msgstr "" msgid "Part packaging" msgstr "" -#: company/models.py:526 part/models.py:1690 +#: company/models.py:526 part/models.py:1685 msgid "multiple" msgstr "" @@ -2825,7 +2853,7 @@ msgstr "" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:177 templates/js/translated/company.js:378 +#: templates/InvenTree/search.html:177 templates/js/translated/company.js:372 msgid "Company" msgstr "" @@ -2843,7 +2871,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:321 +#: templates/js/translated/company.js:315 msgid "Edit Company" msgstr "" @@ -2866,12 +2894,13 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:649 +#: company/templates/company/company_base.html:86 order/models.py:665 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:758 +#: stock/models.py:628 stock/serializers.py:745 #: 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 +#: templates/email/overdue_sales_order.html:16 +#: templates/js/translated/company.js:379 templates/js/translated/order.js:2458 +#: templates/js/translated/stock.js:2441 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "" @@ -2999,7 +3028,7 @@ msgid "Supplier List" msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:45 -#: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 +#: part/templates/part/prices.html:172 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -3012,12 +3041,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:680 +#: templates/js/translated/company.js:665 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:681 +#: templates/js/translated/company.js:666 msgid "Delete manufacturer part" msgstr "" @@ -3032,7 +3061,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:39 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 +#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" msgstr "" @@ -3092,18 +3121,18 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: 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 +#: templates/js/translated/company.js:892 templates/js/translated/order.js:884 +#: templates/js/translated/stock.js:1879 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:38 -#: templates/js/translated/company.js:980 +#: templates/js/translated/company.js:965 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:42 -#: templates/js/translated/company.js:981 +#: templates/js/translated/company.js:966 msgid "Delete supplier part" msgstr "" @@ -3123,7 +3152,7 @@ msgstr "" #: company/templates/company/supplier_part.html:148 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 -#: templates/js/translated/stock.js:380 +#: templates/js/translated/stock.js:379 msgid "New Stock Item" msgstr "" @@ -3144,7 +3173,7 @@ msgstr "" #: company/templates/company/supplier_part.html:191 #: company/templates/company/supplier_part.html:305 -#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046 +#: part/templates/part/prices.html:276 templates/js/translated/part.js:2142 msgid "Add Price Break" msgstr "" @@ -3153,12 +3182,12 @@ msgid "No price break information found" msgstr "" #: company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2152 msgid "Delete Price Break" msgstr "" #: company/templates/company/supplier_part.html:245 -#: templates/js/translated/part.js:2070 +#: templates/js/translated/part.js:2166 msgid "Edit Price Break" msgstr "" @@ -3180,9 +3209,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: 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:1687 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:722 +#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1431 +#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3209,7 +3238,7 @@ msgstr "" #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 -#: templates/js/translated/stock.js:2307 users/models.py:39 +#: templates/js/translated/stock.js:2317 users/models.py:39 msgid "Stock Items" msgstr "" @@ -3238,20 +3267,20 @@ msgstr "" msgid "New Company" msgstr "" -#: company/views.py:112 part/views.py:576 +#: company/views.py:112 part/views.py:501 msgid "Download Image" msgstr "" -#: company/views.py:139 part/views.py:606 +#: company/views.py:139 part/views.py:531 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:146 part/views.py:613 +#: company/views.py:146 part/views.py:538 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:155 part/views.py:622 +#: company/views.py:155 part/views.py:547 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3320,313 +3349,314 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:133 +#: order/models.py:134 msgid "Order description" msgstr "" -#: order/models.py:135 order/models.py:1236 +#: order/models.py:136 order/models.py:1252 msgid "Link to external page" msgstr "" -#: order/models.py:143 +#: order/models.py:144 msgid "Created By" msgstr "" -#: order/models.py:150 +#: order/models.py:151 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:155 +#: order/models.py:156 msgid "Order notes" msgstr "" -#: order/models.py:289 order/models.py:639 +#: order/models.py:294 order/models.py:655 msgid "Order reference" msgstr "" -#: order/models.py:294 order/models.py:654 +#: order/models.py:299 order/models.py:670 msgid "Purchase order status" msgstr "" -#: order/models.py:304 +#: order/models.py:309 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:307 order/templates/order/order_base.html:124 +#: order/models.py:312 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:307 +#: order/models.py:312 msgid "Supplier order reference code" msgstr "" -#: order/models.py:314 +#: order/models.py:319 msgid "received by" msgstr "" -#: order/models.py:319 +#: order/models.py:324 msgid "Issue Date" msgstr "" -#: order/models.py:320 +#: order/models.py:325 msgid "Date order was issued" msgstr "" -#: order/models.py:325 +#: order/models.py:330 msgid "Target Delivery Date" msgstr "" -#: order/models.py:326 +#: order/models.py:331 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:332 +#: order/models.py:337 msgid "Date order was completed" msgstr "" -#: order/models.py:368 +#: order/models.py:373 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:512 +#: order/models.py:517 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:650 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer Reference " msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer order reference code" msgstr "" -#: order/models.py:661 +#: order/models.py:677 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:664 order/models.py:1190 +#: order/models.py:680 order/models.py:1206 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:671 +#: order/models.py:687 msgid "shipped by" msgstr "" -#: order/models.py:726 +#: order/models.py:742 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:730 +#: order/models.py:746 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:733 +#: order/models.py:749 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:736 +#: order/models.py:752 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:910 +#: order/models.py:926 msgid "Item quantity" msgstr "" -#: order/models.py:916 +#: order/models.py:932 msgid "Line item reference" msgstr "" -#: order/models.py:918 +#: order/models.py:934 msgid "Line item notes" msgstr "" -#: order/models.py:923 +#: order/models.py:939 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:941 +#: order/models.py:957 msgid "Context" msgstr "" -#: order/models.py:942 +#: order/models.py:958 msgid "Additional context for this line" msgstr "" -#: order/models.py:950 +#: order/models.py:966 msgid "Unit price" msgstr "" -#: order/models.py:980 +#: order/models.py:996 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:988 +#: order/models.py:1004 msgid "deleted" msgstr "" -#: order/models.py:994 order/models.py:1074 order/models.py:1099 -#: order/models.py:1184 order/models.py:1320 +#: order/models.py:1010 order/models.py:1090 order/models.py:1115 +#: order/models.py:1200 order/models.py:1336 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:995 order/models.py:1074 +#: order/models.py:1011 order/models.py:1090 #: 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/email/overdue_purchase_order.html:15 #: 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 +#: templates/js/translated/part.js:943 templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:2422 msgid "Purchase Order" msgstr "" -#: order/models.py:1013 +#: order/models.py:1029 msgid "Supplier part" msgstr "" -#: order/models.py:1020 order/templates/order/order_base.html:169 +#: order/models.py:1036 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/part.js:1037 templates/js/translated/part.js:1064 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1021 +#: order/models.py:1037 msgid "Number of items received" msgstr "" -#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: order/models.py:1044 part/templates/part/prices.html:181 stock/models.py:722 #: stock/serializers.py:153 stock/templates/stock/item_base.html:191 -#: templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:1910 msgid "Purchase Price" msgstr "" -#: order/models.py:1029 +#: order/models.py:1045 msgid "Unit purchase price" msgstr "" -#: order/models.py:1037 +#: order/models.py:1053 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1109 part/templates/part/part_pricing.html:112 -#: part/templates/part/prices.html:119 part/templates/part/prices.html:288 +#: order/models.py:1125 part/templates/part/part_pricing.html:115 +#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 msgid "Sale Price" msgstr "" -#: order/models.py:1110 +#: order/models.py:1126 msgid "Unit sale price" msgstr "" -#: order/models.py:1115 +#: order/models.py:1131 msgid "Shipped quantity" msgstr "" -#: order/models.py:1191 +#: order/models.py:1207 msgid "Date of shipment" msgstr "" -#: order/models.py:1198 +#: order/models.py:1214 msgid "Checked By" msgstr "" -#: order/models.py:1199 +#: order/models.py:1215 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1207 +#: order/models.py:1223 msgid "Shipment number" msgstr "" -#: order/models.py:1214 +#: order/models.py:1230 msgid "Shipment notes" msgstr "" -#: order/models.py:1221 +#: order/models.py:1237 msgid "Tracking Number" msgstr "" -#: order/models.py:1222 +#: order/models.py:1238 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1229 +#: order/models.py:1245 msgid "Invoice Number" msgstr "" -#: order/models.py:1230 +#: order/models.py:1246 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1248 +#: order/models.py:1264 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1251 +#: order/models.py:1267 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1354 order/models.py:1356 +#: order/models.py:1370 order/models.py:1372 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1360 +#: order/models.py:1376 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1362 +#: order/models.py:1378 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1365 +#: order/models.py:1381 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1369 +#: order/models.py:1385 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1375 order/serializers.py:1045 +#: order/models.py:1391 order/serializers.py:1047 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1378 +#: order/models.py:1394 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1379 +#: order/models.py:1395 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1387 +#: order/models.py:1403 msgid "Line" msgstr "" -#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 +#: order/models.py:1411 order/serializers.py:1151 order/serializers.py:1275 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1396 +#: order/models.py:1412 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1424 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1409 +#: order/models.py:1425 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Enter stock allocation quantity" msgstr "" @@ -3662,7 +3692,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1117 +#: order/serializers.py:406 order/serializers.py:1119 msgid "Line Item" msgstr "" @@ -3710,42 +3740,60 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:866 +#: order/serializers.py:868 msgid "Sale price currency" msgstr "" -#: order/serializers.py:947 +#: order/serializers.py:949 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1006 order/serializers.py:1126 +#: order/serializers.py:1008 order/serializers.py:1128 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1028 +#: order/serializers.py:1030 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1139 +#: order/serializers.py:1141 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1161 order/serializers.py:1281 +#: order/serializers.py:1163 order/serializers.py:1283 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1164 order/serializers.py:1284 +#: order/serializers.py:1166 order/serializers.py:1286 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1216 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1224 +#: order/serializers.py:1226 msgid "The following serial numbers are already allocated" msgstr "" +#: order/tasks.py:26 +msgid "Overdue Purchase Order" +msgstr "" + +#: order/tasks.py:31 +#, python-brace-format +msgid "Purchase order {po} is now overdue" +msgstr "" + +#: order/tasks.py:88 +msgid "Overdue Sales Order" +msgstr "" + +#: order/tasks.py:93 +#, python-brace-format +msgid "Sales order {so} is now overdue" +msgstr "" + #: order/templates/order/order_base.html:33 msgid "Print purchase order report" msgstr "" @@ -3870,8 +3918,8 @@ msgstr "" #: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: 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:2731 templates/js/translated/stock.js:570 -#: templates/js/translated/stock.js:738 +#: templates/js/translated/order.js:2731 templates/js/translated/stock.js:569 +#: templates/js/translated/stock.js:737 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -3990,7 +4038,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1047 #: templates/js/translated/build.js:1880 msgid "Actions" msgstr "" @@ -4021,47 +4069,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:481 +#: part/api.py:482 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:501 +#: part/api.py:502 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:519 +#: part/api.py:520 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:551 +#: part/api.py:552 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:637 +#: part/api.py:638 msgid "Valid" msgstr "" -#: part/api.py:638 +#: part/api.py:639 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:644 +#: part/api.py:645 msgid "This option must be selected" msgstr "" -#: part/api.py:1010 +#: part/api.py:1011 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1014 +#: part/api.py:1015 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1029 +#: part/api.py:1030 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1060 part/api.py:1064 part/api.py:1079 part/api.py:1083 +#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 msgid "This field is required" msgstr "" @@ -4080,17 +4128,13 @@ msgid "Available Stock" msgstr "" #: 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 +#: templates/js/translated/part.js:561 templates/js/translated/part.js:581 +#: templates/js/translated/part.js:1273 templates/js/translated/part.js:1445 +#: templates/js/translated/part.js:1461 msgid "On Order" msgstr "" -#: part/forms.py:59 -msgid "Select part category" -msgstr "" - -#: part/forms.py:69 +#: part/forms.py:60 msgid "Input quantity for price calculation" msgstr "" @@ -4106,7 +4150,7 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:115 part/models.py:2415 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2403 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -4123,7 +4167,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:144 +#: templates/js/translated/part.js:1864 templates/js/translated/search.js:144 #: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "" @@ -4153,7 +4197,7 @@ msgstr "" msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:738 part/models.py:2469 +#: part/models.py:738 part/models.py:2457 msgid "Part name" msgstr "" @@ -4186,12 +4230,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:776 part/models.py:2171 part/models.py:2414 +#: part/models.py:776 part/models.py:2159 part/models.py:2402 #: part/templates/part/part_base.html:257 -#: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 #: templates/InvenTree/settings/settings.html:231 -#: templates/js/translated/part.js:1369 +#: templates/js/translated/part.js:1413 templates/js/translated/part.js:1639 msgid "Category" msgstr "" @@ -4200,8 +4243,8 @@ msgid "Part category" msgstr "" #: 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 +#: templates/js/translated/part.js:710 templates/js/translated/part.js:1366 +#: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" @@ -4214,7 +4257,7 @@ msgid "Part revision or version number" msgstr "" #: part/models.py:790 part/templates/part/part_base.html:273 -#: report/models.py:170 templates/js/translated/part.js:670 +#: report/models.py:170 templates/js/translated/part.js:714 msgid "Revision" msgstr "" @@ -4302,317 +4345,321 @@ msgstr "" msgid "Creation User" msgstr "" -#: part/models.py:1690 +#: part/models.py:1685 msgid "Sell multiple" msgstr "" -#: part/models.py:2218 +#: part/models.py:2206 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2235 +#: part/models.py:2223 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2255 templates/js/translated/part.js:1819 -#: templates/js/translated/stock.js:1274 +#: part/models.py:2243 templates/js/translated/part.js:1915 +#: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2256 +#: part/models.py:2244 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2261 +#: part/models.py:2249 msgid "Test Description" msgstr "" -#: part/models.py:2262 +#: part/models.py:2250 msgid "Enter description for this test" msgstr "" -#: part/models.py:2267 templates/js/translated/part.js:1828 +#: part/models.py:2255 templates/js/translated/part.js:1924 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2268 +#: part/models.py:2256 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2273 templates/js/translated/part.js:1836 +#: part/models.py:2261 templates/js/translated/part.js:1932 msgid "Requires Value" msgstr "" -#: part/models.py:2274 +#: part/models.py:2262 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2279 templates/js/translated/part.js:1843 +#: part/models.py:2267 templates/js/translated/part.js:1939 msgid "Requires Attachment" msgstr "" -#: part/models.py:2280 +#: part/models.py:2268 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2288 +#: part/models.py:2276 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2324 +#: part/models.py:2312 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2332 +#: part/models.py:2320 msgid "Parameter Name" msgstr "" -#: part/models.py:2339 +#: part/models.py:2327 msgid "Parameter Units" msgstr "" -#: part/models.py:2370 +#: part/models.py:2358 msgid "Parent Part" msgstr "" -#: part/models.py:2372 part/models.py:2420 part/models.py:2421 +#: part/models.py:2360 part/models.py:2408 part/models.py:2409 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Data" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Parameter Value" msgstr "" -#: part/models.py:2425 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2413 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2426 +#: part/models.py:2414 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2461 +#: part/models.py:2449 msgid "Part ID or part name" msgstr "" -#: part/models.py:2464 templates/js/translated/model_renderers.js:200 +#: part/models.py:2452 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2465 +#: part/models.py:2453 msgid "Unique part ID value" msgstr "" -#: part/models.py:2468 +#: part/models.py:2456 msgid "Part Name" msgstr "" -#: part/models.py:2472 +#: part/models.py:2460 msgid "Part IPN" msgstr "" -#: part/models.py:2473 +#: part/models.py:2461 msgid "Part IPN value" msgstr "" -#: part/models.py:2476 +#: part/models.py:2464 msgid "Level" msgstr "" -#: part/models.py:2477 +#: part/models.py:2465 msgid "BOM level" msgstr "" -#: part/models.py:2546 +#: part/models.py:2534 msgid "Select parent part" msgstr "" -#: part/models.py:2554 +#: part/models.py:2542 msgid "Sub part" msgstr "" -#: part/models.py:2555 +#: part/models.py:2543 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2561 +#: part/models.py:2549 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2563 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 +#: part/models.py:2551 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:871 templates/js/translated/bom.js:965 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2563 +#: part/models.py:2551 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2566 part/templates/part/upload_bom.html:55 +#: part/models.py:2554 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2567 +#: part/models.py:2555 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2570 +#: part/models.py:2558 msgid "BOM item reference" msgstr "" -#: part/models.py:2573 +#: part/models.py:2561 msgid "BOM item notes" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "Checksum" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "BOM line checksum" msgstr "" -#: part/models.py:2579 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:988 +#: part/models.py:2567 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:982 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2580 +#: part/models.py:2568 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2585 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:980 +#: part/models.py:2573 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:974 msgid "Allow Variants" msgstr "" -#: part/models.py:2586 +#: part/models.py:2574 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2664 stock/models.py:460 +#: part/models.py:2652 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2673 part/models.py:2675 +#: part/models.py:2661 part/models.py:2663 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2780 +#: part/models.py:2768 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2801 +#: part/models.py:2789 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2814 +#: part/models.py:2802 msgid "Parent BOM item" msgstr "" -#: part/models.py:2822 +#: part/models.py:2810 msgid "Substitute part" msgstr "" -#: part/models.py:2833 +#: part/models.py:2825 msgid "Part 1" msgstr "" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Part 2" msgstr "" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Select Related Part" msgstr "" -#: part/models.py:2868 -msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" +#: part/models.py:2847 +msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 +#: part/models.py:2851 +msgid "Duplicate relationship already exists" +msgstr "" + +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:794 +#: part/serializers.py:796 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:804 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:805 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:810 msgid "Include Inherited" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:811 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:816 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:817 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:820 +#: part/serializers.py:822 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:821 +#: part/serializers.py:823 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:861 +#: part/serializers.py:863 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:864 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:894 msgid "No part column specified" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:937 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:938 +#: part/serializers.py:940 msgid "No matching part found" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:943 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:950 +#: part/serializers.py:952 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:958 +#: part/serializers.py:960 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:979 +#: part/serializers.py:981 msgid "At least one BOM item is required" msgstr "" @@ -5088,10 +5135,10 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:143 -#: templates/js/translated/company.js:623 -#: templates/js/translated/company.js:882 +#: templates/js/translated/company.js:608 +#: templates/js/translated/company.js:867 #: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:658 +#: templates/js/translated/part.js:625 templates/js/translated/part.js:702 msgid "Inactive" msgstr "" @@ -5120,13 +5167,13 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1009 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1003 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/part.js:520 -#: templates/js/translated/part.js:540 templates/js/translated/part.js:1233 -#: templates/js/translated/part.js:1405 templates/js/translated/part.js:1421 +#: part/templates/part/part_base.html:238 templates/js/translated/part.js:564 +#: templates/js/translated/part.js:584 templates/js/translated/part.js:1277 +#: templates/js/translated/part.js:1449 templates/js/translated/part.js:1465 msgid "Building" msgstr "" @@ -5143,7 +5190,7 @@ msgstr "" msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:443 part/templates/part/prices.html:147 +#: part/templates/part/part_base.html:443 part/templates/part/prices.html:149 msgid "Calculate" msgstr "" @@ -5161,54 +5208,55 @@ msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:106 -#: part/templates/part/prices.html:123 +#: part/templates/part/part_pricing.html:103 +#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 +#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:104 -#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:111 -#: part/templates/part/prices.html:128 +#: part/templates/part/part_pricing.html:107 +#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 +#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 +#: part/templates/part/prices.html:130 msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:963 +#: templates/js/translated/bom.js:957 msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:246 +#: part/templates/part/prices.html:248 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:89 +#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:96 +#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:105 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/prices.html:107 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:128 -#: part/templates/part/prices.html:137 +#: part/templates/part/part_pricing.html:131 +#: part/templates/part/prices.html:139 msgid "No pricing information is available for this part." msgstr "" @@ -5232,43 +5280,6 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:9 -#, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" -"
Disable the \"Active\" part attribute and re-try.\n" -" " -msgstr "" - -#: part/templates/part/partial_delete.html:17 -#, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" -msgstr "" - -#: part/templates/part/partial_delete.html:22 -#, python-format -msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" -msgstr "" - -#: part/templates/part/partial_delete.html:32 -#, python-format -msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:43 -#, python-format -msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:54 -#, python-format -msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:67 -#, python-format -msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." -msgstr "" - #: part/templates/part/prices.html:19 msgid "Pricing ranges" msgstr "" @@ -5285,66 +5296,58 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:120 +#: part/templates/part/prices.html:122 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:123 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:143 +#: part/templates/part/prices.html:145 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:957 +#: part/templates/part/prices.html:160 templates/js/translated/bom.js:951 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:159 part/templates/part/prices.html:180 -#: part/templates/part/prices.html:204 part/templates/part/prices.html:234 -#: part/templates/part/prices.html:260 part/templates/part/prices.html:289 +#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 +#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 +#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:184 +#: part/templates/part/prices.html:186 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:193 +#: part/templates/part/prices.html:195 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:203 +#: part/templates/part/prices.html:205 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:218 +#: part/templates/part/prices.html:220 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:233 +#: part/templates/part/prices.html:235 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:259 +#: part/templates/part/prices.html:261 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:300 +#: part/templates/part/prices.html:302 msgid "No sale pice history available for this part." msgstr "" -#: part/templates/part/set_category.html:9 -msgid "Set category for the following parts" -msgstr "" - -#: part/templates/part/set_category.html:32 -msgid "Remove part" -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543 -#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:587 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:1469 msgid "No Stock" msgstr "" @@ -5407,56 +5410,39 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:74 -msgid "Set Part Category" -msgstr "" - -#: part/views.py:122 -#, python-brace-format -msgid "Set category for {n} parts" -msgstr "" - -#: part/views.py:193 +#: part/views.py:118 msgid "Match References" msgstr "" -#: part/views.py:494 +#: part/views.py:419 msgid "None" msgstr "" -#: part/views.py:556 +#: part/views.py:481 msgid "Part QR Code" msgstr "" -#: part/views.py:650 +#: part/views.py:575 msgid "Select Part Image" msgstr "" -#: part/views.py:676 +#: part/views.py:601 msgid "Updated part image" msgstr "" -#: part/views.py:679 +#: part/views.py:604 msgid "Part image not found" msgstr "" -#: part/views.py:768 -msgid "Confirm Part Deletion" -msgstr "" - -#: part/views.py:776 -msgid "Part was deleted" -msgstr "" - -#: part/views.py:785 +#: part/views.py:693 msgid "Part Pricing" msgstr "" -#: part/views.py:976 +#: part/views.py:884 msgid "Delete Part Category" msgstr "" -#: part/views.py:983 +#: part/views.py:891 msgid "Part category was deleted" msgstr "" @@ -5516,21 +5502,21 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:28 +#: plugin/builtin/integration/core_notifications.py:29 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 +#: plugin/builtin/integration/core_notifications.py:30 msgid "Integrated outgoing notificaton methods" msgstr "" -#: 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:34 #: plugin/builtin/integration/core_notifications.py:53 +msgid "Enable email notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:35 +#: plugin/builtin/integration/core_notifications.py:54 msgid "Allow sending of emails for event notifications" msgstr "" @@ -5646,15 +5632,19 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:166 +#: report/api.py:179 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:198 report/api.py:239 +#: report/api.py:215 report/api.py:256 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" +#: report/api.py:359 +msgid "Test report" +msgstr "" + #: report/models.py:152 msgid "Template name" msgstr "" @@ -5757,7 +5747,7 @@ msgstr "" #: 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:3229 -#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:434 msgid "Serial Number" msgstr "" @@ -5766,19 +5756,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2068 +#: stock/models.py:2072 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2074 +#: stock/models.py:2078 msgid "Result" 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:1669 templates/js/translated/stock.js:2340 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2350 msgid "Date" msgstr "" @@ -5796,20 +5786,20 @@ msgid "Installed Items" 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:2589 +#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724 +#: templates/js/translated/stock.js:2599 msgid "Serial" msgstr "" -#: stock/api.py:504 +#: stock/api.py:505 msgid "Quantity is required" msgstr "" -#: stock/api.py:511 +#: stock/api.py:512 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:536 +#: stock/api.py:537 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5917,7 +5907,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1826 msgid "Expiry Date" msgstr "" @@ -5971,79 +5961,79 @@ msgstr "" msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1325 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1324 +#: stock/models.py:1328 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1327 +#: stock/models.py:1331 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1334 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1333 +#: stock/models.py:1337 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1340 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1343 stock/serializers.py:908 +#: stock/models.py:1347 stock/serializers.py:895 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1347 +#: stock/models.py:1351 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1355 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1359 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1524 +#: stock/models.py:1528 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1986 +#: stock/models.py:1990 msgid "Entry notes" msgstr "" -#: stock/models.py:2044 +#: stock/models.py:2048 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2050 +#: stock/models.py:2054 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2069 +#: stock/models.py:2073 msgid "Test name" msgstr "" -#: stock/models.py:2075 +#: stock/models.py:2079 msgid "Test result" msgstr "" -#: stock/models.py:2081 +#: stock/models.py:2085 msgid "Test output value" msgstr "" -#: stock/models.py:2088 +#: stock/models.py:2092 msgid "Test result attachment" msgstr "" -#: stock/models.py:2094 +#: stock/models.py:2098 msgid "Test notes" msgstr "" @@ -6064,7 +6054,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:865 stock/serializers.py:1098 +#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 msgid "Destination stock location" msgstr "" @@ -6104,63 +6094,63 @@ msgstr "" msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:707 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:724 +#: stock/serializers.py:711 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:728 +#: stock/serializers.py:715 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:759 +#: stock/serializers.py:746 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:765 +#: stock/serializers.py:752 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:773 +#: stock/serializers.py:760 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:783 stock/serializers.py:1014 +#: stock/serializers.py:770 stock/serializers.py:1001 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:872 +#: stock/serializers.py:859 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:877 +#: stock/serializers.py:864 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:878 +#: stock/serializers.py:865 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:883 +#: stock/serializers.py:870 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:884 +#: stock/serializers.py:871 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:894 +#: stock/serializers.py:881 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:976 +#: stock/serializers.py:963 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1004 +#: stock/serializers.py:991 msgid "Stock transaction notes" msgstr "" @@ -6185,7 +6175,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:298 msgid "Delete Test Data" msgstr "" @@ -6197,11 +6187,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2733 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2743 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:292 templates/js/translated/stock.js:1455 +#: stock/templates/stock/item.html:290 +msgid "Delete all test results for this stock item" +msgstr "" + +#: stock/templates/stock/item.html:323 templates/js/translated/stock.js:1465 msgid "Add Test Result" msgstr "" @@ -6388,7 +6382,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/stock.js:1842 msgid "Last Updated" msgstr "" @@ -6529,7 +6523,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:182 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:144 msgid "Convert Stock Item" msgstr "" @@ -6550,31 +6544,19 @@ msgstr "" msgid "This action cannot be easily undone" msgstr "" -#: stock/views.py:113 +#: stock/views.py:111 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:131 -msgid "Delete All Test Data" -msgstr "" - -#: stock/views.py:149 -msgid "Confirm test data deletion" -msgstr "" - -#: stock/views.py:150 -msgid "Check the confirmation box" -msgstr "" - -#: stock/views.py:165 +#: stock/views.py:127 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:216 +#: stock/views.py:178 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:229 +#: stock/views.py:191 msgid "Delete Stock Item" msgstr "" @@ -7317,8 +7299,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:56 templates/js/translated/modals.js:595 -#: templates/js/translated/modals.js:689 templates/js/translated/modals.js:997 +#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 +#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 #: templates/js/translated/order.js:928 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7390,6 +7372,10 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:630 +msgid "Confirm" +msgstr "Konfirmasi" + #: templates/account/email_confirm.html:27 #, python-format msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." @@ -7562,7 +7548,7 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:112 msgid "Delete Attachments" msgstr "" @@ -7596,15 +7582,15 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1425 +#: templates/js/translated/bom.js:1419 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: 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/bom.js:884 templates/js/translated/build.js:1787 +#: templates/js/translated/build.js:2650 templates/js/translated/part.js:571 +#: templates/js/translated/part.js:574 #: templates/js/translated/table_filters.js:178 msgid "Available" msgstr "" @@ -7622,6 +7608,13 @@ msgstr "" msgid "Minimum Quantity" msgstr "" +#: templates/email/new_order_assigned.html:9 +#: templates/email/overdue_build_order.html:9 +#: templates/email/overdue_purchase_order.html:9 +#: templates/email/overdue_sales_order.html:9 +msgid "Click on the following link to view this order" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -7638,91 +7631,91 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:235 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1073 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1074 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:242 +#: templates/js/translated/api.js:202 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:243 +#: templates/js/translated/api.js:203 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1083 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1084 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:252 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1088 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:253 templates/js/translated/modals.js:1083 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1089 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1093 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1088 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1094 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:262 +#: templates/js/translated/api.js:222 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:263 +#: templates/js/translated/api.js:223 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:267 templates/js/translated/modals.js:1092 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1098 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:268 templates/js/translated/modals.js:1093 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1099 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:271 +#: templates/js/translated/api.js:231 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:272 +#: templates/js/translated/api.js:232 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:96 +#: templates/js/translated/attachment.js:98 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:156 +#: templates/js/translated/attachment.js:152 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:180 +#: templates/js/translated/attachment.js:176 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:246 +#: templates/js/translated/attachment.js:242 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:262 +#: templates/js/translated/attachment.js:264 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:269 +#: templates/js/translated/attachment.js:271 msgid "Delete attachment" msgstr "" @@ -7755,7 +7748,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "Invalid server response" msgstr "" @@ -7783,7 +7776,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999 +#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:998 msgid "Remove stock item" msgstr "" @@ -7918,89 +7911,89 @@ msgstr "" msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:682 +#: templates/js/translated/bom.js:684 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:697 +#: templates/js/translated/bom.js:699 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:824 +#: templates/js/translated/bom.js:818 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:834 +#: templates/js/translated/bom.js:828 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:838 templates/js/translated/build.js:1769 +#: templates/js/translated/bom.js:832 templates/js/translated/build.js:1769 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/bom.js:900 templates/js/translated/build.js:1814 #: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:910 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:904 templates/js/translated/build.js:1818 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:912 templates/js/translated/build.js:1820 -#: templates/js/translated/part.js:690 +#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1820 +#: templates/js/translated/part.js:734 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:914 templates/js/translated/build.js:1822 +#: templates/js/translated/bom.js:908 templates/js/translated/build.js:1822 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:928 +#: templates/js/translated/bom.js:922 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:943 +#: templates/js/translated/bom.js:937 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:950 +#: templates/js/translated/bom.js:944 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:999 templates/js/translated/bom.js:1090 +#: templates/js/translated/bom.js:993 templates/js/translated/bom.js:1084 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1061 +#: templates/js/translated/bom.js:1055 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1063 +#: templates/js/translated/bom.js:1057 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1065 +#: templates/js/translated/bom.js:1059 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1067 templates/js/translated/bom.js:1228 +#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1222 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1069 +#: templates/js/translated/bom.js:1063 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1164 templates/js/translated/build.js:1615 +#: templates/js/translated/bom.js:1158 templates/js/translated/build.js:1615 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1408 templates/js/translated/build.js:1753 +#: templates/js/translated/bom.js:1402 templates/js/translated/build.js:1753 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1430 +#: templates/js/translated/bom.js:1424 msgid "Inherited from parent BOM" msgstr "" @@ -8040,13 +8033,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91 -#: templates/js/translated/stock.js:181 +#: templates/js/translated/build.js:259 templates/js/translated/stock.js:90 +#: templates/js/translated/stock.js:180 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93 -#: templates/js/translated/stock.js:183 +#: templates/js/translated/build.js:261 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:182 msgid "Latest serial number" msgstr "" @@ -8259,9 +8252,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: 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 +#: templates/js/translated/build.js:2448 templates/js/translated/part.js:1358 +#: templates/js/translated/part.js:1825 templates/js/translated/stock.js:1629 +#: templates/js/translated/stock.js:2287 msgid "Select" msgstr "" @@ -8273,7 +8266,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2519 +#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2529 msgid "No user information" msgstr "" @@ -8285,107 +8278,107 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:169 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:168 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:157 templates/js/translated/order.js:506 +#: templates/js/translated/company.js:156 templates/js/translated/order.js:506 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:185 +#: templates/js/translated/company.js:184 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:200 +#: templates/js/translated/company.js:199 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:249 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:263 +#: templates/js/translated/company.js:264 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:342 +#: templates/js/translated/company.js:336 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:413 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:428 +#: templates/js/translated/company.js:422 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:443 +#: templates/js/translated/company.js:437 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:478 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:492 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:526 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:548 +#: templates/js/translated/company.js:539 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:595 +#: templates/js/translated/company.js:580 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:615 -#: templates/js/translated/company.js:874 templates/js/translated/part.js:565 -#: templates/js/translated/part.js:650 +#: templates/js/translated/company.js:600 +#: templates/js/translated/company.js:859 templates/js/translated/part.js:609 +#: templates/js/translated/part.js:694 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:619 -#: templates/js/translated/company.js:878 templates/js/translated/part.js:569 -#: templates/js/translated/part.js:654 +#: templates/js/translated/company.js:604 +#: templates/js/translated/company.js:863 templates/js/translated/part.js:613 +#: templates/js/translated/part.js:698 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:747 templates/js/translated/part.js:757 +#: templates/js/translated/company.js:732 templates/js/translated/part.js:801 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:799 +#: templates/js/translated/company.js:769 templates/js/translated/part.js:843 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:785 templates/js/translated/part.js:800 +#: templates/js/translated/company.js:770 templates/js/translated/part.js:844 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:804 templates/js/translated/part.js:817 +#: templates/js/translated/company.js:789 templates/js/translated/part.js:861 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:815 templates/js/translated/part.js:829 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:873 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:854 +#: templates/js/translated/company.js:839 msgid "No supplier parts found" msgstr "" @@ -8448,36 +8441,36 @@ msgstr "" msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:756 +#: templates/js/translated/forms.js:757 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1248 templates/modals.html:19 +#: templates/js/translated/forms.js:1249 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1681 +#: templates/js/translated/forms.js:1682 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1896 templates/search.html:29 +#: templates/js/translated/forms.js:1897 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2149 +#: templates/js/translated/forms.js:2150 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2627 +#: templates/js/translated/forms.js:2628 msgid "Select Columns" msgstr "" @@ -8498,7 +8491,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1023 +#: templates/js/translated/stock.js:1022 msgid "Select Stock Items" msgstr "" @@ -8552,12 +8545,12 @@ msgid "Select Label Template" msgstr "" #: templates/js/translated/modals.js:82 templates/js/translated/modals.js:142 -#: templates/js/translated/modals.js:621 +#: templates/js/translated/modals.js:627 msgid "Cancel" msgstr "" #: 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/js/translated/modals.js:694 templates/js/translated/modals.js:1002 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" @@ -8566,47 +8559,47 @@ msgstr "" msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:403 +#: templates/js/translated/modals.js:421 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:562 +#: templates/js/translated/modals.js:568 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:620 +#: templates/js/translated/modals.js:626 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:677 +#: templates/js/translated/modals.js:683 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:960 +#: templates/js/translated/modals.js:966 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1072 +#: templates/js/translated/modals.js:1078 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1073 +#: templates/js/translated/modals.js:1079 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1096 +#: templates/js/translated/modals.js:1102 msgid "Error requesting form data" msgstr "" @@ -8656,11 +8649,11 @@ msgstr "" msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:259 +#: templates/js/translated/notification.js:260 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:300 templates/notifications.html:10 +#: templates/js/translated/notification.js:302 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" @@ -8804,7 +8797,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2080 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2090 msgid "Stock Status" msgstr "" @@ -8828,7 +8821,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1602 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1602 templates/js/translated/part.js:914 msgid "No purchase orders found" msgstr "" @@ -8863,7 +8856,7 @@ msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 #: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 -#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 +#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2397 msgid "Unit Price" msgstr "" @@ -8873,11 +8866,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:1993 templates/js/translated/order.js:3525 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:1023 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1069 msgid "Receive line item" msgstr "" @@ -8998,7 +8991,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1535 +#: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" @@ -9138,165 +9131,209 @@ msgstr "" msgid "Create Part Variant" msgstr "" +#: templates/js/translated/part.js:405 +msgid "Active Part" +msgstr "" + +#: templates/js/translated/part.js:406 +msgid "Part cannot be deleted as it is currently active" +msgstr "" + +#: templates/js/translated/part.js:420 +msgid "Deleting this part cannot be reversed" +msgstr "" + +#: templates/js/translated/part.js:422 +msgid "Any stock items for this part will be deleted" +msgstr "" + #: templates/js/translated/part.js:423 +msgid "This part will be removed from any Bills of Material" +msgstr "" + +#: templates/js/translated/part.js:424 +msgid "All manufacturer and supplier information for this part will be deleted" +msgstr "" + +#: templates/js/translated/part.js:431 +msgid "Delete Part" +msgstr "" + +#: templates/js/translated/part.js:467 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:425 +#: templates/js/translated/part.js:469 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:474 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:476 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:493 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:503 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:506 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:487 +#: templates/js/translated/part.js:531 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:513 templates/js/translated/part.js:1397 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1441 #: templates/js/translated/table_filters.js:452 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:523 templates/js/translated/part.js:1409 +#: templates/js/translated/part.js:567 templates/js/translated/part.js:1453 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:557 templates/js/translated/part.js:642 +#: templates/js/translated/part.js:601 templates/js/translated/part.js:686 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:561 templates/js/translated/part.js:646 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:690 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:617 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:577 +#: templates/js/translated/part.js:621 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:705 +#: templates/js/translated/part.js:749 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1095 +#: templates/js/translated/part.js:1139 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1119 +#: templates/js/translated/part.js:1163 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1184 templates/js/translated/part.js:1480 +#: templates/js/translated/part.js:1228 templates/js/translated/part.js:1524 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1223 +#: templates/js/translated/part.js:1267 msgid "Not available" msgstr "" -#: templates/js/translated/part.js:1374 +#: templates/js/translated/part.js:1418 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664 -#: templates/js/translated/stock.js:2238 +#: templates/js/translated/part.js:1548 templates/js/translated/part.js:1760 +#: templates/js/translated/stock.js:2248 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1520 +#: templates/js/translated/part.js:1564 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2257 +#: templates/js/translated/part.js:1630 +msgid "Set the part category for the selected parts" +msgstr "" + +#: templates/js/translated/part.js:1635 +msgid "Set Part Category" +msgstr "" + +#: templates/js/translated/part.js:1640 +msgid "Select Part Category" +msgstr "" + +#: templates/js/translated/part.js:1653 +msgid "Category is required" +msgstr "" + +#: templates/js/translated/part.js:1779 templates/js/translated/stock.js:2267 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1747 +#: templates/js/translated/part.js:1843 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2301 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2311 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:1901 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1233 +#: templates/js/translated/part.js:1952 templates/js/translated/stock.js:1243 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1234 -#: templates/js/translated/stock.js:1493 +#: templates/js/translated/part.js:1953 templates/js/translated/stock.js:1244 +#: templates/js/translated/stock.js:1503 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1863 +#: templates/js/translated/part.js:1959 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1885 +#: templates/js/translated/part.js:1981 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:1995 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1924 +#: templates/js/translated/part.js:2020 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1981 +#: templates/js/translated/part.js:2077 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1982 +#: templates/js/translated/part.js:2078 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:2096 +#: templates/js/translated/part.js:2192 msgid "Current Stock" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2225 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2155 +#: templates/js/translated/part.js:2251 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2225 +#: templates/js/translated/part.js:2321 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:2244 +#: templates/js/translated/part.js:2340 msgid "Single Price Difference" msgstr "" @@ -9378,360 +9415,360 @@ msgstr "" msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:72 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:101 +#: templates/js/translated/stock.js:100 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:109 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:139 +#: templates/js/translated/stock.js:138 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:153 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:194 +#: templates/js/translated/stock.js:193 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:233 +#: templates/js/translated/stock.js:232 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:239 +#: templates/js/translated/stock.js:238 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:303 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:324 +#: templates/js/translated/stock.js:323 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:344 +#: templates/js/translated/stock.js:343 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:394 +#: templates/js/translated/stock.js:393 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:407 +#: templates/js/translated/stock.js:406 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:431 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:453 +#: templates/js/translated/stock.js:452 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:472 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:481 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:605 +#: templates/js/translated/stock.js:604 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:606 +#: templates/js/translated/stock.js:605 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:683 +#: templates/js/translated/stock.js:682 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:684 +#: templates/js/translated/stock.js:683 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:686 +#: templates/js/translated/stock.js:685 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:687 +#: templates/js/translated/stock.js:686 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:772 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:774 +#: templates/js/translated/stock.js:773 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:869 +#: templates/js/translated/stock.js:868 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:869 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:876 +#: templates/js/translated/stock.js:875 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:876 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:881 +#: templates/js/translated/stock.js:880 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:882 +#: templates/js/translated/stock.js:881 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:886 +#: templates/js/translated/stock.js:885 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:887 users/models.py:215 +#: templates/js/translated/stock.js:886 users/models.py:215 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1024 +#: templates/js/translated/stock.js:1023 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1047 +#: templates/js/translated/stock.js:1046 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1172 +#: templates/js/translated/stock.js:1182 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1174 +#: templates/js/translated/stock.js:1184 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1179 +#: templates/js/translated/stock.js:1189 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1226 +#: templates/js/translated/stock.js:1236 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1229 +#: templates/js/translated/stock.js:1239 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1255 +#: templates/js/translated/stock.js:1265 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1321 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1476 +#: templates/js/translated/stock.js:1486 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1498 +#: templates/js/translated/stock.js:1508 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1527 +#: templates/js/translated/stock.js:1537 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1531 +#: templates/js/translated/stock.js:1541 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1539 +#: templates/js/translated/stock.js:1549 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1545 +#: templates/js/translated/stock.js:1555 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1712 +#: templates/js/translated/stock.js:1722 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1727 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1720 +#: templates/js/translated/stock.js:1730 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1723 +#: templates/js/translated/stock.js:1733 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1725 +#: templates/js/translated/stock.js:1735 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1727 +#: templates/js/translated/stock.js:1737 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1730 +#: templates/js/translated/stock.js:1740 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1734 +#: templates/js/translated/stock.js:1744 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1746 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1743 +#: templates/js/translated/stock.js:1753 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1755 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:1757 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1751 +#: templates/js/translated/stock.js:1761 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1802 +#: templates/js/translated/stock.js:1812 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1894 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1932 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2095 +#: templates/js/translated/stock.js:2105 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2109 +#: templates/js/translated/stock.js:2119 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2120 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2375 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2381 +#: templates/js/translated/stock.js:2391 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2403 +#: templates/js/translated/stock.js:2413 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2422 +#: templates/js/translated/stock.js:2432 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2441 +#: templates/js/translated/stock.js:2451 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2459 +#: templates/js/translated/stock.js:2469 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2482 +#: templates/js/translated/stock.js:2492 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2490 +#: templates/js/translated/stock.js:2500 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2566 +#: templates/js/translated/stock.js:2576 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2617 templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2663 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2666 +#: templates/js/translated/stock.js:2676 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2697 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2688 +#: templates/js/translated/stock.js:2698 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2690 +#: templates/js/translated/stock.js:2700 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/stock.js:2701 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2702 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2693 +#: templates/js/translated/stock.js:2703 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2716 msgid "Select part to install" msgstr "" diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po index 5cce51c3ae..1c5f1349d4 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-06-05 14:26+0000\n" -"PO-Revision-Date: 2022-06-05 14:34\n" +"POT-Creation-Date: 2022-06-06 22:59+0000\n" +"PO-Revision-Date: 2022-06-07 14:34\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:46 +#: InvenTree/api.py:49 msgid "API endpoint not found" msgstr "Endpoint API non trovato" @@ -29,275 +29,273 @@ msgstr "" msgid "Enter date" msgstr "Inserisci la data" -#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:630 -msgid "Confirm" -msgstr "Conferma" - -#: InvenTree/forms.py:134 +#: InvenTree/forms.py:117 msgid "Confirm delete" msgstr "Conferma eliminazione" -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:118 msgid "Confirm item deletion" msgstr "Conferma eliminazione elementi" -#: InvenTree/forms.py:167 +#: InvenTree/forms.py:150 msgid "Enter password" msgstr "Inserire la password" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:151 msgid "Enter new password" msgstr "Inserire una nuova password" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:158 msgid "Confirm password" msgstr "Conferma la password" -#: InvenTree/forms.py:176 +#: InvenTree/forms.py:159 msgid "Confirm new password" msgstr "Conferma la nuova password" -#: InvenTree/forms.py:213 -msgid "Select Category" -msgstr "Selezione una categoria" - -#: InvenTree/forms.py:234 +#: InvenTree/forms.py:184 msgid "Email (again)" msgstr "Email (ancora)" -#: InvenTree/forms.py:238 +#: InvenTree/forms.py:188 msgid "Email address confirmation" msgstr "Conferma indirizzo email" -#: InvenTree/forms.py:259 +#: InvenTree/forms.py:209 msgid "You must type the same email each time." msgstr "È necessario digitare la stessa e-mail ogni volta." -#: InvenTree/helpers.py:402 +#: InvenTree/helpers.py:404 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "Seriale duplicato: {sn}" -#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 +#: InvenTree/helpers.py:411 order/models.py:370 order/models.py:522 msgid "Invalid quantity provided" msgstr "Quantità inserita non valida" -#: InvenTree/helpers.py:412 +#: InvenTree/helpers.py:414 msgid "Empty serial number string" msgstr "Numero seriale vuoto" -#: InvenTree/helpers.py:444 +#: InvenTree/helpers.py:446 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:447 +#: InvenTree/helpers.py:449 #, python-brace-format msgid "Invalid group: {g}" msgstr "Gruppo non valido: {g}" -#: InvenTree/helpers.py:475 +#: InvenTree/helpers.py:477 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:483 +#: InvenTree/helpers.py:485 #, python-brace-format msgid "Invalid/no group {group}" msgstr "Gruppo {group} invalido o inesistente" -#: InvenTree/helpers.py:489 +#: InvenTree/helpers.py:491 msgid "No serial numbers found" msgstr "Nessun numero di serie trovato" -#: InvenTree/helpers.py:493 +#: InvenTree/helpers.py:495 #, 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:174 +#: InvenTree/models.py:178 msgid "Missing file" msgstr "File mancante" -#: InvenTree/models.py:175 +#: InvenTree/models.py:179 msgid "Missing external link" msgstr "Link esterno mancante" -#: InvenTree/models.py:187 stock/models.py:2087 -#: templates/js/translated/attachment.js:101 -#: templates/js/translated/attachment.js:198 +#: InvenTree/models.py:191 stock/models.py:2091 +#: templates/js/translated/attachment.js:103 +#: templates/js/translated/attachment.js:194 msgid "Attachment" msgstr "Allegato" -#: InvenTree/models.py:188 +#: InvenTree/models.py:192 msgid "Select file to attach" msgstr "Seleziona file da allegare" -#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 -#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: InvenTree/models.py:198 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:136 order/models.py:1251 #: 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 -#: templates/js/translated/part.js:1441 +#: templates/js/translated/company.js:640 +#: templates/js/translated/company.js:931 templates/js/translated/order.js:2676 +#: templates/js/translated/part.js:1485 msgid "Link" msgstr "Collegamento" -#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: InvenTree/models.py:199 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:198 templates/js/translated/attachment.js:102 -#: templates/js/translated/attachment.js:242 +#: InvenTree/models.py:202 templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:238 msgid "Comment" msgstr "Commento" -#: InvenTree/models.py:198 +#: InvenTree/models.py:202 msgid "File comment" msgstr "Commento del file" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1506 +#: common/models.py:1507 common/models.py:1735 common/models.py:1736 +#: common/models.py:1998 common/models.py:1999 part/models.py:2141 +#: part/models.py:2161 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:2523 msgid "User" msgstr "Utente" -#: InvenTree/models.py:208 +#: InvenTree/models.py:212 msgid "upload date" msgstr "data caricamento" -#: InvenTree/models.py:230 +#: InvenTree/models.py:234 msgid "Filename must not be empty" msgstr "Il nome del file non deve essere vuoto" -#: InvenTree/models.py:253 +#: InvenTree/models.py:257 msgid "Invalid attachment directory" msgstr "Directory allegati non valida" -#: InvenTree/models.py:263 +#: InvenTree/models.py:267 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Il nome del file contiene caratteri non validi '{c}'" -#: InvenTree/models.py:266 +#: InvenTree/models.py:270 msgid "Filename missing extension" msgstr "Nome file estensione mancante" -#: InvenTree/models.py:273 +#: InvenTree/models.py:277 msgid "Attachment with this filename already exists" msgstr "Esiste già un allegato con questo nome di file" -#: InvenTree/models.py:280 +#: InvenTree/models.py:284 msgid "Error renaming file" msgstr "Errore nella rinominazione del file" -#: InvenTree/models.py:314 +#: InvenTree/models.py:318 msgid "Invalid choice" msgstr "Scelta non valida" -#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 #: company/models.py:354 label/models.py:101 part/models.py:739 -#: part/models.py:2331 plugin/models.py:93 report/models.py:151 +#: part/models.py:2319 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 #: templates/InvenTree/settings/plugin.html:132 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:346 -#: 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:2283 +#: templates/js/translated/company.js:530 +#: templates/js/translated/company.js:742 templates/js/translated/part.js:659 +#: templates/js/translated/part.js:811 templates/js/translated/part.js:1832 +#: templates/js/translated/stock.js:2293 msgid "Name" msgstr "Nome" -#: InvenTree/models.py:340 build/models.py:197 +#: InvenTree/models.py:344 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: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:164 +#: order/models.py:134 part/models.py:762 part/templates/part/category.html:74 +#: part/templates/part/part_base.html:167 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 -#: 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/bom.js:553 templates/js/translated/bom.js:845 +#: templates/js/translated/build.js:2476 templates/js/translated/company.js:395 +#: templates/js/translated/company.js:651 +#: templates/js/translated/company.js:942 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:1676 -#: templates/js/translated/stock.js:2295 templates/js/translated/stock.js:2350 +#: templates/js/translated/part.js:718 templates/js/translated/part.js:1126 +#: templates/js/translated/part.js:1399 templates/js/translated/part.js:1851 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:1686 +#: templates/js/translated/stock.js:2305 templates/js/translated/stock.js:2360 msgid "Description" msgstr "Descrizione" -#: InvenTree/models.py:341 +#: InvenTree/models.py:345 msgid "Description (optional)" msgstr "Descrizione (opzionale)" -#: InvenTree/models.py:349 +#: InvenTree/models.py:353 msgid "parent" msgstr "genitore" -#: InvenTree/serializers.py:52 part/models.py:2652 +#: InvenTree/models.py:466 +msgid "Server Error" +msgstr "" + +#: InvenTree/models.py:467 +msgid "An error has been logged by the server." +msgstr "" + +#: InvenTree/serializers.py:52 part/models.py:2640 msgid "Must be a valid number" msgstr "Deve essere un numero valido" -#: InvenTree/serializers.py:271 +#: InvenTree/serializers.py:263 msgid "Filename" msgstr "Nome del file" -#: InvenTree/serializers.py:306 +#: InvenTree/serializers.py:298 msgid "Invalid value" msgstr "Valore non valido" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:320 msgid "Data File" msgstr "File dati" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:321 msgid "Select data file for upload" msgstr "Seleziona un file per il caricamento" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:342 msgid "Unsupported file type" msgstr "Formato file non supportato" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:348 msgid "File is too large" msgstr "File troppo grande" -#: InvenTree/serializers.py:377 +#: InvenTree/serializers.py:369 msgid "No columns found in file" msgstr "Nessun colonna trovata nel file" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:372 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:495 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:506 +#: InvenTree/serializers.py:498 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:583 +#: InvenTree/serializers.py:575 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Colonna richiesta mancante: '{name}'" -#: InvenTree/serializers.py:592 +#: InvenTree/serializers.py:584 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Colonna duplicata: '{col}'" @@ -440,7 +438,7 @@ msgstr "Perso" msgid "Returned" msgstr "Reso" -#: InvenTree/status_codes.py:141 order/models.py:1114 +#: InvenTree/status_codes.py:141 order/models.py:1130 #: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "Spedito" @@ -525,7 +523,7 @@ msgstr "Diviso dall'elemento genitore" msgid "Split child item" msgstr "Dividi elemento figlio" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2020 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2030 msgid "Merged stock items" msgstr "Elemento stock raggruppato" @@ -597,27 +595,27 @@ msgstr "L'eccesso non deve superare il 100%" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:522 +#: InvenTree/views.py:521 msgid "Delete Item" msgstr "Cancella elemento" -#: InvenTree/views.py:571 +#: InvenTree/views.py:570 msgid "Check box to confirm item deletion" msgstr "Spunta la casella per confermare l'eliminazione dell'elemento" -#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:585 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Modifica informazioni utente" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:597 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Imposta Password" -#: InvenTree/views.py:618 +#: InvenTree/views.py:617 msgid "Password fields must match" msgstr "Le password devono coincidere" -#: InvenTree/views.py:842 templates/navbar.html:152 +#: InvenTree/views.py:807 templates/navbar.html:152 msgid "System Information" msgstr "Informazioni sistema" @@ -628,6 +626,7 @@ msgstr "" #: 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/email/overdue_build_order.html:15 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "Ordine di Produzione" @@ -646,12 +645,12 @@ msgstr "Ordini di Produzione" msgid "Build Order Reference" msgstr "" -#: build/models.py:189 order/models.py:288 order/models.py:638 -#: order/models.py:916 part/models.py:2570 +#: build/models.py:189 order/models.py:293 order/models.py:654 +#: order/models.py:932 part/models.py:2558 #: 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/bom.js:690 templates/js/translated/bom.js:852 #: 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:3959 @@ -673,13 +672,12 @@ msgstr "" #: 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:2460 part/models.py:2545 part/models.py:2821 -#: part/serializers.py:793 part/templates/part/part_app_base.html:8 +#: order/models.py:1028 order/models.py:1119 part/models.py:336 +#: part/models.py:2087 part/models.py:2102 part/models.py:2121 +#: part/models.py:2139 part/models.py:2238 part/models.py:2358 +#: part/models.py:2448 part/models.py:2533 part/models.py:2809 +#: part/serializers.py:795 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 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 @@ -687,22 +685,23 @@ msgstr "" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 +#: templates/email/overdue_build_order.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:805 +#: templates/js/translated/bom.js:689 templates/js/translated/bom.js:799 #: 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/company.js:253 +#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:592 +#: templates/js/translated/company.js:851 templates/js/translated/order.js:100 #: templates/js/translated/order.js:883 templates/js/translated/order.js:1315 #: 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:1633 templates/js/translated/stock.js:2376 -#: templates/js/translated/stock.js:2571 templates/js/translated/stock.js:2705 +#: templates/js/translated/part.js:1111 templates/js/translated/part.js:1181 +#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:695 templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2386 +#: templates/js/translated/stock.js:2581 templates/js/translated/stock.js:2715 msgid "Part" msgstr "Articolo" @@ -768,12 +767,12 @@ msgstr "Codice Lotto" msgid "Batch code for this build output" msgstr "" -#: build/models.py:282 order/models.py:137 part/models.py:932 +#: build/models.py:282 order/models.py:138 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:286 order/models.py:660 +#: build/models.py:286 order/models.py:676 msgid "Target completion date" msgstr "Data completamento obiettivo" @@ -781,7 +780,7 @@ msgstr "Data completamento obiettivo" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:290 order/models.py:331 +#: build/models.py:290 order/models.py:336 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "Data di completamento" @@ -799,7 +798,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:313 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:151 +#: build/templates/build/detail.html:115 order/models.py:152 #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 @@ -822,20 +821,20 @@ msgstr "Collegamento esterno" #: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 #: company/models.py:519 company/templates/company/sidebar.html:25 -#: order/models.py:155 order/models.py:918 order/models.py:1213 +#: order/models.py:156 order/models.py:934 order/models.py:1229 #: order/templates/order/po_sidebar.html:11 #: 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:713 stock/models.py:1985 stock/models.py:2093 +#: stock/models.py:713 stock/models.py:1989 stock/models.py:2097 #: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:486 -#: stock/serializers.py:772 stock/serializers.py:871 stock/serializers.py:1003 +#: stock/serializers.py:759 stock/serializers.py:858 stock/serializers.py:990 #: 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/barcode.js:100 templates/js/translated/bom.js:1038 +#: templates/js/translated/company.js:947 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 -#: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 +#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1926 msgid "Notes" msgstr "Note" @@ -855,44 +854,44 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1108 +#: build/models.py:1111 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1117 +#: build/models.py:1120 #, 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:1127 +#: build/models.py:1130 msgid "Stock item is over-allocated" msgstr "L'articolo in giacenza è sovrallocato" -#: build/models.py:1133 order/models.py:1372 +#: build/models.py:1136 order/models.py:1388 msgid "Allocation quantity must be greater than zero" msgstr "La quantità di assegnazione deve essere maggiore di zero" -#: build/models.py:1139 +#: build/models.py:1142 msgid "Quantity must be 1 for serialized stock" msgstr "La quantità deve essere 1 per lo stock serializzato" -#: build/models.py:1196 +#: build/models.py:1199 msgid "Selected stock item not found in BOM" msgstr "Articolo in giacenza selezionato non trovato nel BOM" -#: build/models.py:1265 stock/templates/stock/item_base.html:177 +#: build/models.py:1268 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:1266 +#: build/models.py:1269 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 -#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:703 -#: stock/serializers.py:829 stock/templates/stock/item_base.html:10 +#: build/models.py:1285 build/serializers.py:603 order/serializers.py:996 +#: order/serializers.py:1017 stock/serializers.py:382 stock/serializers.py:690 +#: stock/serializers.py:816 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 @@ -900,22 +899,22 @@ msgstr "" #: 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:2449 +#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696 +#: templates/js/translated/stock.js:2459 msgid "Stock Item" msgstr "Articoli in magazzino" -#: build/models.py:1283 +#: build/models.py:1286 msgid "Source stock item" msgstr "Origine giacenza articolo" -#: build/models.py:1295 build/serializers.py:183 +#: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1536 +#: build/templates/build/detail.html:34 common/models.py:1543 #: 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:68 -#: part/forms.py:83 part/forms.py:98 part/models.py:2561 +#: order/models.py:925 order/models.py:1428 order/serializers.py:1136 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 +#: part/forms.py:74 part/forms.py:89 part/models.py:2549 #: 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 @@ -926,8 +925,8 @@ msgstr "Origine giacenza articolo" #: report/templates/report/inventree_test_report_base.html:139 #: 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 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:691 +#: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 #: templates/js/translated/build.js:574 templates/js/translated/build.js:765 #: templates/js/translated/build.js:1175 templates/js/translated/build.js:1673 #: templates/js/translated/build.js:2086 @@ -937,23 +936,23 @@ msgstr "Origine giacenza articolo" #: 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: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 -#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727 -#: templates/js/translated/stock.js:2498 templates/js/translated/stock.js:2583 +#: templates/js/translated/part.js:1011 templates/js/translated/part.js:2065 +#: templates/js/translated/part.js:2296 templates/js/translated/part.js:2330 +#: templates/js/translated/part.js:2408 templates/js/translated/stock.js:402 +#: templates/js/translated/stock.js:556 templates/js/translated/stock.js:726 +#: templates/js/translated/stock.js:2508 templates/js/translated/stock.js:2593 msgid "Quantity" msgstr "Quantità" -#: build/models.py:1296 +#: build/models.py:1299 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1304 +#: build/models.py:1307 msgid "Install into" msgstr "Installa in" -#: build/models.py:1305 +#: build/models.py:1308 msgid "Destination stock item" msgstr "Destinazione articolo in giacenza" @@ -982,9 +981,9 @@ msgstr "" msgid "Enter quantity for build output" msgstr "Inserisci la quantità per l'output di compilazione" -#: 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:1239 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:368 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:514 +#: part/serializers.py:958 stock/models.py:470 stock/models.py:1239 #: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "La quantità deve essere maggiore di zero" @@ -997,9 +996,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 #: stock/serializers.py:297 templates/js/translated/order.js:1186 -#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:237 templates/js/translated/stock.js:403 msgid "Serial Numbers" msgstr "Codice Seriale" @@ -1015,7 +1014,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:552 +#: build/serializers.py:268 stock/api.py:553 msgid "The following serial numbers already exist" msgstr "I seguenti numeri di serie sono già esistenti" @@ -1025,16 +1024,16 @@ msgstr "" #: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 #: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:481 -#: stock/serializers.py:864 stock/serializers.py:1097 +#: stock/serializers.py:851 stock/serializers.py:1084 #: 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 #: 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:1787 templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532 +#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904 +#: templates/js/translated/stock.js:1797 templates/js/translated/stock.js:2400 msgid "Location" msgstr "Posizione" @@ -1043,12 +1042,12 @@ msgid "Location for completed build outputs" msgstr "Posizione per gli output di build completati" #: build/serializers.py:363 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:654 +#: build/templates/build/detail.html:62 order/models.py:670 #: 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 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1772 +#: templates/js/translated/stock.js:2477 templates/js/translated/stock.js:2609 msgid "Status" msgstr "Stato" @@ -1108,8 +1107,8 @@ msgstr "" msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:535 build/serializers.py:580 part/models.py:2679 -#: part/models.py:2813 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2667 +#: part/models.py:2801 msgid "BOM Item" msgstr "Distinta base (Bom)" @@ -1125,11 +1124,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:716 +#: build/serializers.py:609 stock/serializers.py:703 msgid "Item must be in stock" msgstr "L'articolo deve essere disponibile" -#: build/serializers.py:667 order/serializers.py:1052 +#: build/serializers.py:667 order/serializers.py:1054 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantità disponibile ({q}) superata" @@ -1146,7 +1145,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:708 order/serializers.py:1298 +#: build/serializers.py:708 order/serializers.py:1300 msgid "Allocation items must be provided" msgstr "Deve essere indicata l'allocazione dell'articolo" @@ -1178,10 +1177,19 @@ msgstr "" msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:96 +#: build/tasks.py:100 msgid "Stock required for build order" msgstr "" +#: build/tasks.py:118 +msgid "Overdue Build Order" +msgstr "" + +#: build/tasks.py:123 +#, python-brace-format +msgid "Build order {bo} is now overdue" +msgstr "" + #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 #: order/templates/order/sales_order_base.html:38 @@ -1244,13 +1252,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:922 +#: build/templates/build/detail.html:131 order/models.py:938 #: 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: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 +#: templates/js/translated/order.js:3517 templates/js/translated/part.js:1015 msgid "Target Date" msgstr "Data scadenza" @@ -1277,13 +1285,14 @@ msgid "Completed" msgstr "Completato" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1100 -#: order/models.py:1185 order/models.py:1320 +#: build/templates/build/detail.html:94 order/models.py:1116 +#: order/models.py:1201 order/models.py:1336 #: 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/email/overdue_sales_order.html:15 #: templates/js/translated/order.js:2436 msgid "Sales Order" msgstr "Ordini di Vendita" @@ -1319,7 +1328,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:1034 +#: build/templates/build/detail.html:49 order/models.py:1050 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "Destinazione" @@ -1336,8 +1345,8 @@ msgstr "" #: stock/templates/stock/item_base.html:170 #: templates/js/translated/build.js:1179 #: templates/js/translated/model_renderers.js:112 -#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1776 -#: templates/js/translated/stock.js:2606 +#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:2616 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1716,7 +1725,7 @@ msgstr "Copia Template Parametri Categoria" msgid "Copy category parameter templates when creating a part" msgstr "Copia i modelli dei parametri categoria quando si crea un articolo" -#: common/models.py:820 part/models.py:2372 report/models.py:157 +#: common/models.py:820 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" @@ -1726,7 +1735,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "Gli articoli sono modelli per impostazione predefinita" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" @@ -1880,576 +1889,584 @@ msgid "Default page size for PDF reports" msgstr "Dimensione predefinita della pagina per i report PDF" #: common/models.py:968 -msgid "Test Reports" -msgstr "Stampa di prova" +msgid "Enable Test Reports" +msgstr "" #: common/models.py:969 msgid "Enable generation of test reports" msgstr "Abilita generazione di stampe di prova" #: common/models.py:975 -msgid "Batch Code Template" +msgid "Attach Test Reports" msgstr "" #: common/models.py:976 +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" +msgstr "" + +#: common/models.py:982 +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:983 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:981 +#: common/models.py:988 msgid "Stock Expiry" msgstr "Scadenza giacenza" -#: common/models.py:982 +#: common/models.py:989 msgid "Enable stock expiry functionality" msgstr "Abilita funzionalità di scadenza della giacenza" -#: common/models.py:988 +#: common/models.py:995 msgid "Sell Expired Stock" msgstr "Vendi giacenza scaduta" -#: common/models.py:989 +#: common/models.py:996 msgid "Allow sale of expired stock" msgstr "Consenti la vendita di stock scaduti" -#: common/models.py:995 +#: common/models.py:1002 msgid "Stock Stale Time" msgstr "" -#: common/models.py:996 +#: common/models.py:1003 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:998 +#: common/models.py:1005 msgid "days" msgstr "giorni" -#: common/models.py:1003 +#: common/models.py:1010 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1004 +#: common/models.py:1011 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1010 +#: common/models.py:1017 msgid "Stock Ownership Control" msgstr "Controllo della proprietà della giacenza" -#: common/models.py:1011 +#: common/models.py:1018 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:1017 +#: common/models.py:1024 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1018 +#: common/models.py:1025 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1023 +#: common/models.py:1030 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1024 +#: common/models.py:1031 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1029 +#: common/models.py:1036 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1041 +#: common/models.py:1048 msgid "Purchase Order Reference Prefix" msgstr "Referenza ordine d'acquisto" -#: common/models.py:1042 +#: common/models.py:1049 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1048 +#: common/models.py:1055 msgid "Enable password forgot" msgstr "Abilita password dimenticata" -#: common/models.py:1049 +#: common/models.py:1056 msgid "Enable password forgot function on the login pages" msgstr "Abilita la funzione password dimenticata nelle pagine di accesso" -#: common/models.py:1055 +#: common/models.py:1062 msgid "Enable registration" msgstr "Abilita registrazione" -#: common/models.py:1056 +#: common/models.py:1063 msgid "Enable self-registration for users on the login pages" msgstr "Abilita auto-registrazione per gli utenti nelle pagine di accesso" -#: common/models.py:1062 +#: common/models.py:1069 msgid "Enable SSO" msgstr "SSO abilitato" -#: common/models.py:1063 +#: common/models.py:1070 msgid "Enable SSO on the login pages" msgstr "Abilita SSO nelle pagine di accesso" -#: common/models.py:1069 +#: common/models.py:1076 msgid "Email required" msgstr "Email richiesta" -#: common/models.py:1070 +#: common/models.py:1077 msgid "Require user to supply mail on signup" msgstr "Richiedi all'utente di fornire una email al momento dell'iscrizione" -#: common/models.py:1076 +#: common/models.py:1083 msgid "Auto-fill SSO users" msgstr "Riempimento automatico degli utenti SSO" -#: common/models.py:1077 +#: common/models.py:1084 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:1083 +#: common/models.py:1090 msgid "Mail twice" msgstr "" -#: common/models.py:1084 +#: common/models.py:1091 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1090 +#: common/models.py:1097 msgid "Password twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1098 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1097 +#: common/models.py:1104 msgid "Group on signup" msgstr "" -#: common/models.py:1098 +#: common/models.py:1105 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1104 +#: common/models.py:1111 msgid "Enforce MFA" msgstr "" -#: common/models.py:1105 +#: common/models.py:1112 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1111 +#: common/models.py:1118 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1112 +#: common/models.py:1119 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1120 +#: common/models.py:1127 msgid "Enable URL integration" msgstr "" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1136 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1136 +#: common/models.py:1143 msgid "Enable app integration" msgstr "" -#: common/models.py:1137 +#: common/models.py:1144 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1144 +#: common/models.py:1151 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1145 +#: common/models.py:1152 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1152 +#: common/models.py:1159 msgid "Enable event integration" msgstr "" -#: common/models.py:1153 +#: common/models.py:1160 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1170 common/models.py:1492 +#: common/models.py:1177 common/models.py:1499 msgid "Settings key (must be unique - case insensitive" msgstr "Tasto impostazioni (deve essere univoco - maiuscole e minuscole" -#: common/models.py:1192 +#: common/models.py:1199 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1193 +#: common/models.py:1200 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1199 +#: common/models.py:1206 msgid "Show subscribed categories" msgstr "Mostra le categorie sottoscritte" -#: common/models.py:1200 +#: common/models.py:1207 msgid "Show subscribed part categories on the homepage" msgstr "Mostra le categorie dei componenti sottoscritti nella homepage" -#: common/models.py:1206 +#: common/models.py:1213 msgid "Show latest parts" msgstr "Mostra ultimi articoli" -#: common/models.py:1207 +#: common/models.py:1214 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1213 +#: common/models.py:1220 msgid "Recent Part Count" msgstr "" -#: common/models.py:1214 +#: common/models.py:1221 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1220 +#: common/models.py:1227 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1221 +#: common/models.py:1228 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1227 +#: common/models.py:1234 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1228 +#: common/models.py:1235 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1235 +#: common/models.py:1242 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Show low stock" msgstr "" -#: common/models.py:1242 +#: common/models.py:1249 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Show depleted stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1256 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1262 msgid "Show needed stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1263 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1269 msgid "Show expired stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1270 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1276 msgid "Show stale stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Show pending builds" msgstr "" -#: common/models.py:1277 +#: common/models.py:1284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Show overdue builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1291 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1291 +#: common/models.py:1298 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Show overdue POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1305 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1312 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1318 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1319 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1317 +#: common/models.py:1324 msgid "Enable label printing" msgstr "" -#: common/models.py:1318 +#: common/models.py:1325 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1324 +#: common/models.py:1331 msgid "Inline label display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:1325 +#: common/models.py:1332 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:1331 +#: common/models.py:1338 msgid "Inline report display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:1332 +#: common/models.py:1339 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:1338 +#: common/models.py:1345 msgid "Search Parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1345 +#: common/models.py:1352 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1359 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1366 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1367 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1373 msgid "Search Categories" msgstr "" -#: common/models.py:1367 +#: common/models.py:1374 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1380 msgid "Search Stock" msgstr "" -#: common/models.py:1374 +#: common/models.py:1381 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1387 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1381 +#: common/models.py:1388 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1394 msgid "Search Locations" msgstr "" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1401 msgid "Search Companies" msgstr "" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1408 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1415 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1422 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1429 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Search Preview Results" msgstr "Risultati Dell'Anteprima Di Ricerca" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1457 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1457 +#: common/models.py:1464 msgid "Date Format" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1472 part/templates/part/detail.html:39 +#: common/models.py:1479 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1473 +#: common/models.py:1480 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1537 company/forms.py:37 +#: common/models.py:1544 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: 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 +#: common/models.py:1551 company/serializers.py:290 +#: company/templates/company/supplier_part.html:263 order/models.py:965 +#: templates/js/translated/part.js:1042 templates/js/translated/part.js:2070 msgid "Price" msgstr "Prezzo" -#: common/models.py:1545 +#: common/models.py:1552 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1705 common/models.py:1883 +#: common/models.py:1712 common/models.py:1890 msgid "Endpoint" msgstr "" -#: common/models.py:1706 +#: common/models.py:1713 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1715 +#: common/models.py:1722 msgid "Name for this webhook" msgstr "" -#: common/models.py:1720 part/models.py:911 plugin/models.py:99 +#: common/models.py:1727 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 @@ -2457,79 +2474,89 @@ msgstr "" msgid "Active" msgstr "Attivo" -#: common/models.py:1721 +#: common/models.py:1728 msgid "Is this webhook active" msgstr "" -#: common/models.py:1735 +#: common/models.py:1742 msgid "Token" msgstr "" -#: common/models.py:1736 +#: common/models.py:1743 msgid "Token for access" msgstr "" -#: common/models.py:1743 +#: common/models.py:1750 msgid "Secret" msgstr "" -#: common/models.py:1744 +#: common/models.py:1751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Message ID" msgstr "" -#: common/models.py:1851 +#: common/models.py:1858 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1859 +#: common/models.py:1866 msgid "Host" msgstr "" -#: common/models.py:1860 +#: common/models.py:1867 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1867 +#: common/models.py:1874 msgid "Header" msgstr "" -#: common/models.py:1868 +#: common/models.py:1875 msgid "Header of this message" msgstr "" -#: common/models.py:1874 +#: common/models.py:1881 msgid "Body" msgstr "" -#: common/models.py:1875 +#: common/models.py:1882 msgid "Body of this message" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1889 +#: common/models.py:1896 msgid "Worked on" msgstr "" -#: common/models.py:1890 +#: common/models.py:1897 msgid "Was the work on this message finished?" msgstr "" +#: common/notifications.py:292 +#, python-brace-format +msgid "New {verbose_name}" +msgstr "" + +#: common/notifications.py:294 +#, python-brace-format +msgid "A new {verbose_name} has been created and ,assigned to you" +msgstr "" + #: common/views.py:87 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:191 +#: order/views.py:102 part/views.py:116 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Carica file" #: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:192 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:117 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "Abbina Campi" @@ -2545,19 +2572,19 @@ msgstr "Corrispondenza campi non riuscita" msgid "Parts imported" msgstr "Articoli importati" -#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:511 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:16 part/forms.py:21 +#: company/forms.py:16 part/forms.py:18 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:17 part/forms.py:22 +#: company/forms.py:17 part/forms.py:19 msgid "Image URL" msgstr "URL Immagine" @@ -2571,7 +2598,7 @@ msgstr "Descrizione dell'azienda" #: company/models.py:104 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:405 +#: templates/js/translated/company.js:399 msgid "Website" msgstr "Sito Web" @@ -2644,9 +2671,9 @@ msgstr "è un produttore" msgid "Does this company manufacture parts?" msgstr "" -#: 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 +#: company/models.py:144 company/serializers.py:296 +#: company/templates/company/company_base.html:106 part/serializers.py:139 +#: part/serializers.py:170 stock/serializers.py:162 msgid "Currency" msgstr "Valuta" @@ -2667,10 +2694,10 @@ msgstr "Seleziona articolo" #: 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: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/company.js:383 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:617 +#: templates/js/translated/company.js:902 templates/js/translated/part.js:235 #: templates/js/translated/table_filters.js:411 msgid "Manufacturer" msgstr "Produttore" @@ -2681,11 +2708,11 @@ msgstr "Seleziona Produttore" #: 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 -#: 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 +#: templates/js/translated/company.js:256 +#: templates/js/translated/company.js:483 +#: templates/js/translated/company.js:633 +#: templates/js/translated/company.js:920 templates/js/translated/order.js:1907 +#: templates/js/translated/part.js:246 templates/js/translated/part.js:1000 msgid "MPN" msgstr "Codice articolo produttore (MPN)" @@ -2714,9 +2741,9 @@ msgstr "Nome parametro" #: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2080 templates/js/translated/company.js:540 -#: templates/js/translated/company.js:763 templates/js/translated/part.js:776 -#: templates/js/translated/stock.js:1294 +#: stock/models.py:2084 templates/js/translated/company.js:531 +#: templates/js/translated/company.js:748 templates/js/translated/part.js:820 +#: templates/js/translated/stock.js:1304 msgid "Value" msgstr "Valore" @@ -2724,10 +2751,10 @@ msgstr "Valore" msgid "Parameter value" msgstr "Valore del parametro" -#: company/models.py:368 part/models.py:878 part/models.py:2339 +#: company/models.py:368 part/models.py:878 part/models.py:2327 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:351 -#: templates/js/translated/company.js:769 templates/js/translated/part.js:782 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:826 msgid "Units" msgstr "Unità" @@ -2740,13 +2767,14 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo" #: company/models.py:487 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:303 +#: company/templates/company/supplier_part.html:87 order/models.py:308 #: 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 -#: 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/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:255 +#: templates/js/translated/company.js:387 +#: templates/js/translated/company.js:876 templates/js/translated/order.js:1643 +#: templates/js/translated/part.js:216 templates/js/translated/part.js:968 #: templates/js/translated/table_filters.js:415 msgid "Supplier" msgstr "Fornitore" @@ -2756,9 +2784,9 @@ msgid "Select supplier" msgstr "Seleziona fornitore" #: 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 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:254 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 -#: templates/js/translated/part.js:942 +#: templates/js/translated/part.js:986 msgid "SKU" msgstr "" @@ -2779,23 +2807,23 @@ msgid "Supplier part description" msgstr "Descrizione articolo fornitore" #: company/models.py:518 company/templates/company/supplier_part.html:125 -#: part/models.py:2573 part/templates/part/upload_bom.html:59 +#: part/models.py:2561 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:387 msgid "Note" msgstr "Nota" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "base cost" msgstr "costo base" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "Minimum charge (e.g. stocking fee)" msgstr "Onere minimo (ad esempio tassa di stoccaggio)" #: 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 +#: templates/js/translated/company.js:952 templates/js/translated/stock.js:1922 msgid "Packaging" msgstr "Confezionamento" @@ -2803,7 +2831,7 @@ msgstr "Confezionamento" msgid "Part packaging" msgstr "Imballaggio del pezzo" -#: company/models.py:526 part/models.py:1690 +#: company/models.py:526 part/models.py:1685 msgid "multiple" msgstr "multiplo" @@ -2825,7 +2853,7 @@ msgstr "Codice valuta" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:177 templates/js/translated/company.js:378 +#: templates/InvenTree/search.html:177 templates/js/translated/company.js:372 msgid "Company" msgstr "Azienda" @@ -2843,7 +2871,7 @@ msgid "Edit company information" msgstr "Modifica le informazioni dell'azienda" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:321 +#: templates/js/translated/company.js:315 msgid "Edit Company" msgstr "Modifica azienda" @@ -2866,12 +2894,13 @@ msgstr "Carica nuova immagine" msgid "Download image from URL" msgstr "Scarica immagine dall'URL" -#: company/templates/company/company_base.html:86 order/models.py:649 +#: company/templates/company/company_base.html:86 order/models.py:665 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:758 +#: stock/models.py:628 stock/serializers.py:745 #: 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 +#: templates/email/overdue_sales_order.html:16 +#: templates/js/translated/company.js:379 templates/js/translated/order.js:2458 +#: templates/js/translated/stock.js:2441 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "Cliente" @@ -2999,7 +3028,7 @@ msgid "Supplier List" msgstr "Elenco dei fornitori" #: company/templates/company/manufacturer_part.html:15 company/views.py:45 -#: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 +#: part/templates/part/prices.html:172 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" msgstr "Produttori" @@ -3012,12 +3041,12 @@ msgid "Order part" msgstr "Articoli ordinati" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:680 +#: templates/js/translated/company.js:665 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:681 +#: templates/js/translated/company.js:666 msgid "Delete manufacturer part" msgstr "" @@ -3032,7 +3061,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:39 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 +#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" msgstr "Fornitori" @@ -3092,18 +3121,18 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: 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 +#: templates/js/translated/company.js:892 templates/js/translated/order.js:884 +#: templates/js/translated/stock.js:1879 msgid "Supplier Part" msgstr "Articolo Fornitore" #: company/templates/company/supplier_part.html:38 -#: templates/js/translated/company.js:980 +#: templates/js/translated/company.js:965 msgid "Edit supplier part" msgstr "Modifica articolo fornitore" #: company/templates/company/supplier_part.html:42 -#: templates/js/translated/company.js:981 +#: templates/js/translated/company.js:966 msgid "Delete supplier part" msgstr "Elimina articolo fornitore" @@ -3123,7 +3152,7 @@ msgstr "Crea nuova allocazione magazzino" #: company/templates/company/supplier_part.html:148 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 -#: templates/js/translated/stock.js:380 +#: templates/js/translated/stock.js:379 msgid "New Stock Item" msgstr "Nuovo Elemento in giacenza" @@ -3144,7 +3173,7 @@ msgstr "Informazioni Prezzi" #: company/templates/company/supplier_part.html:191 #: company/templates/company/supplier_part.html:305 -#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046 +#: part/templates/part/prices.html:276 templates/js/translated/part.js:2142 msgid "Add Price Break" msgstr "Aggiungi riduzione prezzo" @@ -3153,12 +3182,12 @@ msgid "No price break information found" msgstr "Nessuna informazione di riduzione di prezzo trovata" #: company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2152 msgid "Delete Price Break" msgstr "Elimina riduzione di prezzo" #: company/templates/company/supplier_part.html:245 -#: templates/js/translated/part.js:2070 +#: templates/js/translated/part.js:2166 msgid "Edit Price Break" msgstr "" @@ -3180,9 +3209,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: 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:1687 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:722 +#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1431 +#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 msgid "Stock" msgstr "Magazzino" @@ -3209,7 +3238,7 @@ msgstr "Prezzi" #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 -#: templates/js/translated/stock.js:2307 users/models.py:39 +#: templates/js/translated/stock.js:2317 users/models.py:39 msgid "Stock Items" msgstr "Articoli in magazzino" @@ -3238,20 +3267,20 @@ msgstr "Aziende" msgid "New Company" msgstr "Nuova Azienda" -#: company/views.py:112 part/views.py:576 +#: company/views.py:112 part/views.py:501 msgid "Download Image" msgstr "Download Immagine" -#: company/views.py:139 part/views.py:606 +#: company/views.py:139 part/views.py:531 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:146 part/views.py:613 +#: company/views.py:146 part/views.py:538 #, python-brace-format msgid "Invalid response: {code}" msgstr "Risposta non valida: {code}" -#: company/views.py:155 part/views.py:622 +#: company/views.py:155 part/views.py:547 msgid "Supplied URL is not a valid image file" msgstr "L'URL fornito non è un file immagine valido" @@ -3320,313 +3349,314 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:133 +#: order/models.py:134 msgid "Order description" msgstr "Descrizione ordine" -#: order/models.py:135 order/models.py:1236 +#: order/models.py:136 order/models.py:1252 msgid "Link to external page" msgstr "" -#: order/models.py:143 +#: order/models.py:144 msgid "Created By" msgstr "Creato Da" -#: order/models.py:150 +#: order/models.py:151 msgid "User or group responsible for this order" msgstr "Utente o gruppo responsabile di questo ordine" -#: order/models.py:155 +#: order/models.py:156 msgid "Order notes" msgstr "Note ordine" -#: order/models.py:289 order/models.py:639 +#: order/models.py:294 order/models.py:655 msgid "Order reference" msgstr "Riferimento ordine" -#: order/models.py:294 order/models.py:654 +#: order/models.py:299 order/models.py:670 msgid "Purchase order status" msgstr "Stato ordine d'acquisto" -#: order/models.py:304 +#: order/models.py:309 msgid "Company from which the items are being ordered" msgstr "Azienda da cui sono stati ordinati gli articoli" -#: order/models.py:307 order/templates/order/order_base.html:124 +#: order/models.py:312 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "Riferimento fornitore" -#: order/models.py:307 +#: order/models.py:312 msgid "Supplier order reference code" msgstr "Codice di riferimento ordine fornitore" -#: order/models.py:314 +#: order/models.py:319 msgid "received by" msgstr "ricevuto da" -#: order/models.py:319 +#: order/models.py:324 msgid "Issue Date" msgstr "Data di emissione" -#: order/models.py:320 +#: order/models.py:325 msgid "Date order was issued" msgstr "Data di emissione ordine" -#: order/models.py:325 +#: order/models.py:330 msgid "Target Delivery Date" msgstr "Data di consegna programmata" -#: order/models.py:326 +#: order/models.py:331 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:332 +#: order/models.py:337 msgid "Date order was completed" msgstr "Data ordine completato" -#: order/models.py:368 +#: order/models.py:373 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:512 +#: order/models.py:517 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:650 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer Reference " msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer order reference code" msgstr "" -#: order/models.py:661 +#: order/models.py:677 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:664 order/models.py:1190 +#: order/models.py:680 order/models.py:1206 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:671 +#: order/models.py:687 msgid "shipped by" msgstr "" -#: order/models.py:726 +#: order/models.py:742 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:730 +#: order/models.py:746 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:733 +#: order/models.py:749 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:736 +#: order/models.py:752 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:910 +#: order/models.py:926 msgid "Item quantity" msgstr "" -#: order/models.py:916 +#: order/models.py:932 msgid "Line item reference" msgstr "" -#: order/models.py:918 +#: order/models.py:934 msgid "Line item notes" msgstr "" -#: order/models.py:923 +#: order/models.py:939 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:941 +#: order/models.py:957 msgid "Context" msgstr "" -#: order/models.py:942 +#: order/models.py:958 msgid "Additional context for this line" msgstr "" -#: order/models.py:950 +#: order/models.py:966 msgid "Unit price" msgstr "" -#: order/models.py:980 +#: order/models.py:996 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:988 +#: order/models.py:1004 msgid "deleted" msgstr "" -#: order/models.py:994 order/models.py:1074 order/models.py:1099 -#: order/models.py:1184 order/models.py:1320 +#: order/models.py:1010 order/models.py:1090 order/models.py:1115 +#: order/models.py:1200 order/models.py:1336 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:995 order/models.py:1074 +#: order/models.py:1011 order/models.py:1090 #: 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/email/overdue_purchase_order.html:15 #: 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 +#: templates/js/translated/part.js:943 templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:2422 msgid "Purchase Order" msgstr "" -#: order/models.py:1013 +#: order/models.py:1029 msgid "Supplier part" msgstr "Articolo Fornitore" -#: order/models.py:1020 order/templates/order/order_base.html:169 +#: order/models.py:1036 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/part.js:1037 templates/js/translated/part.js:1064 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1021 +#: order/models.py:1037 msgid "Number of items received" msgstr "" -#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: order/models.py:1044 part/templates/part/prices.html:181 stock/models.py:722 #: stock/serializers.py:153 stock/templates/stock/item_base.html:191 -#: templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:1910 msgid "Purchase Price" msgstr "" -#: order/models.py:1029 +#: order/models.py:1045 msgid "Unit purchase price" msgstr "" -#: order/models.py:1037 +#: order/models.py:1053 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1109 part/templates/part/part_pricing.html:112 -#: part/templates/part/prices.html:119 part/templates/part/prices.html:288 +#: order/models.py:1125 part/templates/part/part_pricing.html:115 +#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 msgid "Sale Price" msgstr "" -#: order/models.py:1110 +#: order/models.py:1126 msgid "Unit sale price" msgstr "" -#: order/models.py:1115 +#: order/models.py:1131 msgid "Shipped quantity" msgstr "" -#: order/models.py:1191 +#: order/models.py:1207 msgid "Date of shipment" msgstr "" -#: order/models.py:1198 +#: order/models.py:1214 msgid "Checked By" msgstr "" -#: order/models.py:1199 +#: order/models.py:1215 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1207 +#: order/models.py:1223 msgid "Shipment number" msgstr "" -#: order/models.py:1214 +#: order/models.py:1230 msgid "Shipment notes" msgstr "" -#: order/models.py:1221 +#: order/models.py:1237 msgid "Tracking Number" msgstr "" -#: order/models.py:1222 +#: order/models.py:1238 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1229 +#: order/models.py:1245 msgid "Invoice Number" msgstr "" -#: order/models.py:1230 +#: order/models.py:1246 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1248 +#: order/models.py:1264 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1251 +#: order/models.py:1267 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1354 order/models.py:1356 +#: order/models.py:1370 order/models.py:1372 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1360 +#: order/models.py:1376 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1362 +#: order/models.py:1378 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1365 +#: order/models.py:1381 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La quantità di ripartizione non puo' superare la disponibilità della giacenza" -#: order/models.py:1369 +#: order/models.py:1385 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1375 order/serializers.py:1045 +#: order/models.py:1391 order/serializers.py:1047 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1378 +#: order/models.py:1394 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1379 +#: order/models.py:1395 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1387 +#: order/models.py:1403 msgid "Line" msgstr "" -#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 +#: order/models.py:1411 order/serializers.py:1151 order/serializers.py:1275 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1396 +#: order/models.py:1412 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1424 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1409 +#: order/models.py:1425 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Enter stock allocation quantity" msgstr "Inserisci la quantità assegnata alla giacenza" @@ -3662,7 +3692,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1117 +#: order/serializers.py:406 order/serializers.py:1119 msgid "Line Item" msgstr "" @@ -3710,42 +3740,60 @@ msgstr "La destinazione deve essere specificata" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:866 +#: order/serializers.py:868 msgid "Sale price currency" msgstr "" -#: order/serializers.py:947 +#: order/serializers.py:949 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1006 order/serializers.py:1126 +#: order/serializers.py:1008 order/serializers.py:1128 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1028 +#: order/serializers.py:1030 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1139 +#: order/serializers.py:1141 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1161 order/serializers.py:1281 +#: order/serializers.py:1163 order/serializers.py:1283 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1164 order/serializers.py:1284 +#: order/serializers.py:1166 order/serializers.py:1286 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1216 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1224 +#: order/serializers.py:1226 msgid "The following serial numbers are already allocated" msgstr "" +#: order/tasks.py:26 +msgid "Overdue Purchase Order" +msgstr "" + +#: order/tasks.py:31 +#, python-brace-format +msgid "Purchase order {po} is now overdue" +msgstr "" + +#: order/tasks.py:88 +msgid "Overdue Sales Order" +msgstr "" + +#: order/tasks.py:93 +#, python-brace-format +msgid "Sales order {so} is now overdue" +msgstr "" + #: order/templates/order/order_base.html:33 msgid "Print purchase order report" msgstr "" @@ -3870,8 +3918,8 @@ msgstr "Seleziona l'articolo del fornitore" #: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: 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:2731 templates/js/translated/stock.js:570 -#: templates/js/translated/stock.js:738 +#: templates/js/translated/order.js:2731 templates/js/translated/stock.js:569 +#: templates/js/translated/stock.js:737 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Elimina riga" @@ -3990,7 +4038,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1047 #: templates/js/translated/build.js:1880 msgid "Actions" msgstr "" @@ -4021,47 +4069,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:481 +#: part/api.py:482 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:501 +#: part/api.py:502 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:519 +#: part/api.py:520 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:551 +#: part/api.py:552 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:637 +#: part/api.py:638 msgid "Valid" msgstr "" -#: part/api.py:638 +#: part/api.py:639 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:644 +#: part/api.py:645 msgid "This option must be selected" msgstr "" -#: part/api.py:1010 +#: part/api.py:1011 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1014 +#: part/api.py:1015 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1029 +#: part/api.py:1030 msgid "Specify location for initial part stock" msgstr "Specifica la posizione per lo stock iniziale" -#: part/api.py:1060 part/api.py:1064 part/api.py:1079 part/api.py:1083 +#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 msgid "This field is required" msgstr "" @@ -4080,17 +4128,13 @@ msgid "Available Stock" msgstr "Disponibilità in magazzino" #: 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 +#: templates/js/translated/part.js:561 templates/js/translated/part.js:581 +#: templates/js/translated/part.js:1273 templates/js/translated/part.js:1445 +#: templates/js/translated/part.js:1461 msgid "On Order" msgstr "Ordinato" -#: part/forms.py:59 -msgid "Select part category" -msgstr "Seleziona categoria articolo" - -#: part/forms.py:69 +#: part/forms.py:60 msgid "Input quantity for price calculation" msgstr "Digita la quantità per il calcolo del prezzo" @@ -4106,7 +4150,7 @@ msgstr "Keywords predefinite" msgid "Default keywords for parts in this category" msgstr "Parole chiave predefinite per gli articoli in questa categoria" -#: part/models.py:115 part/models.py:2415 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2403 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoria Articoli" @@ -4123,7 +4167,7 @@ msgstr "Categorie Articolo" #: 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/js/translated/part.js:1864 templates/js/translated/search.js:144 #: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "Articoli" @@ -4153,7 +4197,7 @@ msgstr "Il numero di serie più recente è" msgid "Duplicate IPN not allowed in part settings" msgstr "Non è consentito duplicare IPN nelle impostazioni dell'articolo" -#: part/models.py:738 part/models.py:2469 +#: part/models.py:738 part/models.py:2457 msgid "Part name" msgstr "Nome articolo" @@ -4186,12 +4230,11 @@ msgstr "Parole Chiave" msgid "Part keywords to improve visibility in search results" msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca" -#: part/models.py:776 part/models.py:2171 part/models.py:2414 +#: part/models.py:776 part/models.py:2159 part/models.py:2402 #: part/templates/part/part_base.html:257 -#: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 #: templates/InvenTree/settings/settings.html:231 -#: templates/js/translated/part.js:1369 +#: templates/js/translated/part.js:1413 templates/js/translated/part.js:1639 msgid "Category" msgstr "Categoria" @@ -4200,8 +4243,8 @@ msgid "Part category" msgstr "Categoria articolo" #: 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 +#: templates/js/translated/part.js:710 templates/js/translated/part.js:1366 +#: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "IPN - Numero di riferimento interno" @@ -4214,7 +4257,7 @@ msgid "Part revision or version number" msgstr "Numero di revisione o di versione" #: part/models.py:790 part/templates/part/part_base.html:273 -#: report/models.py:170 templates/js/translated/part.js:670 +#: report/models.py:170 templates/js/translated/part.js:714 msgid "Revision" msgstr "Revisione" @@ -4302,317 +4345,321 @@ msgstr "" msgid "Creation User" msgstr "" -#: part/models.py:1690 +#: part/models.py:1685 msgid "Sell multiple" msgstr "" -#: part/models.py:2218 +#: part/models.py:2206 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2235 +#: part/models.py:2223 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2255 templates/js/translated/part.js:1819 -#: templates/js/translated/stock.js:1274 +#: part/models.py:2243 templates/js/translated/part.js:1915 +#: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2256 +#: part/models.py:2244 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2261 +#: part/models.py:2249 msgid "Test Description" msgstr "Descrizione Di Prova" -#: part/models.py:2262 +#: part/models.py:2250 msgid "Enter description for this test" msgstr "" -#: part/models.py:2267 templates/js/translated/part.js:1828 +#: part/models.py:2255 templates/js/translated/part.js:1924 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2268 +#: part/models.py:2256 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2273 templates/js/translated/part.js:1836 +#: part/models.py:2261 templates/js/translated/part.js:1932 msgid "Requires Value" msgstr "" -#: part/models.py:2274 +#: part/models.py:2262 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2279 templates/js/translated/part.js:1843 +#: part/models.py:2267 templates/js/translated/part.js:1939 msgid "Requires Attachment" msgstr "" -#: part/models.py:2280 +#: part/models.py:2268 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2288 +#: part/models.py:2276 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2324 +#: part/models.py:2312 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2332 +#: part/models.py:2320 msgid "Parameter Name" msgstr "" -#: part/models.py:2339 +#: part/models.py:2327 msgid "Parameter Units" msgstr "" -#: part/models.py:2370 +#: part/models.py:2358 msgid "Parent Part" msgstr "" -#: part/models.py:2372 part/models.py:2420 part/models.py:2421 +#: part/models.py:2360 part/models.py:2408 part/models.py:2409 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Data" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Parameter Value" msgstr "" -#: part/models.py:2425 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2413 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2426 +#: part/models.py:2414 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2461 +#: part/models.py:2449 msgid "Part ID or part name" msgstr "" -#: part/models.py:2464 templates/js/translated/model_renderers.js:200 +#: part/models.py:2452 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "Codice Articolo" -#: part/models.py:2465 +#: part/models.py:2453 msgid "Unique part ID value" msgstr "" -#: part/models.py:2468 +#: part/models.py:2456 msgid "Part Name" msgstr "" -#: part/models.py:2472 +#: part/models.py:2460 msgid "Part IPN" msgstr "" -#: part/models.py:2473 +#: part/models.py:2461 msgid "Part IPN value" msgstr "" -#: part/models.py:2476 +#: part/models.py:2464 msgid "Level" msgstr "" -#: part/models.py:2477 +#: part/models.py:2465 msgid "BOM level" msgstr "" -#: part/models.py:2546 +#: part/models.py:2534 msgid "Select parent part" msgstr "" -#: part/models.py:2554 +#: part/models.py:2542 msgid "Sub part" msgstr "" -#: part/models.py:2555 +#: part/models.py:2543 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2561 +#: part/models.py:2549 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2563 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 +#: part/models.py:2551 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:871 templates/js/translated/bom.js:965 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2563 +#: part/models.py:2551 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2566 part/templates/part/upload_bom.html:55 +#: part/models.py:2554 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2567 +#: part/models.py:2555 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2570 +#: part/models.py:2558 msgid "BOM item reference" msgstr "" -#: part/models.py:2573 +#: part/models.py:2561 msgid "BOM item notes" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "Checksum" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "BOM line checksum" msgstr "" -#: part/models.py:2579 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:988 +#: part/models.py:2567 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:982 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2580 +#: part/models.py:2568 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2585 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:980 +#: part/models.py:2573 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:974 msgid "Allow Variants" msgstr "Consenti Le Varianti" -#: part/models.py:2586 +#: part/models.py:2574 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2664 stock/models.py:460 +#: part/models.py:2652 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2673 part/models.py:2675 +#: part/models.py:2661 part/models.py:2663 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2780 +#: part/models.py:2768 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2801 +#: part/models.py:2789 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2814 +#: part/models.py:2802 msgid "Parent BOM item" msgstr "" -#: part/models.py:2822 +#: part/models.py:2810 msgid "Substitute part" msgstr "" -#: part/models.py:2833 +#: part/models.py:2825 msgid "Part 1" msgstr "" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Part 2" msgstr "" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Select Related Part" msgstr "" -#: part/models.py:2868 -msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" +#: part/models.py:2847 +msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 +#: part/models.py:2851 +msgid "Duplicate relationship already exists" +msgstr "" + +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:794 +#: part/serializers.py:796 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:804 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:805 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:810 msgid "Include Inherited" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:811 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:816 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:817 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:820 +#: part/serializers.py:822 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:821 +#: part/serializers.py:823 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:861 +#: part/serializers.py:863 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:864 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:894 msgid "No part column specified" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:937 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:938 +#: part/serializers.py:940 msgid "No matching part found" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:943 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:950 +#: part/serializers.py:952 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:958 +#: part/serializers.py:960 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:979 +#: part/serializers.py:981 msgid "At least one BOM item is required" msgstr "" @@ -5088,10 +5135,10 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:143 -#: templates/js/translated/company.js:623 -#: templates/js/translated/company.js:882 +#: templates/js/translated/company.js:608 +#: templates/js/translated/company.js:867 #: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:658 +#: templates/js/translated/part.js:625 templates/js/translated/part.js:702 msgid "Inactive" msgstr "Inattivo" @@ -5120,13 +5167,13 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1009 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1003 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/part.js:520 -#: templates/js/translated/part.js:540 templates/js/translated/part.js:1233 -#: templates/js/translated/part.js:1405 templates/js/translated/part.js:1421 +#: part/templates/part/part_base.html:238 templates/js/translated/part.js:564 +#: templates/js/translated/part.js:584 templates/js/translated/part.js:1277 +#: templates/js/translated/part.js:1449 templates/js/translated/part.js:1465 msgid "Building" msgstr "" @@ -5143,7 +5190,7 @@ msgstr "" msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:443 part/templates/part/prices.html:147 +#: part/templates/part/part_base.html:443 part/templates/part/prices.html:149 msgid "Calculate" msgstr "" @@ -5161,54 +5208,55 @@ msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:106 -#: part/templates/part/prices.html:123 +#: part/templates/part/part_pricing.html:103 +#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 +#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:104 -#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:111 -#: part/templates/part/prices.html:128 +#: part/templates/part/part_pricing.html:107 +#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 +#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 +#: part/templates/part/prices.html:130 msgid "Total Cost" msgstr "Costo Totale" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:963 +#: templates/js/translated/bom.js:957 msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:246 +#: part/templates/part/prices.html:248 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:89 +#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:96 +#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:105 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/prices.html:107 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:128 -#: part/templates/part/prices.html:137 +#: part/templates/part/part_pricing.html:131 +#: part/templates/part/prices.html:139 msgid "No pricing information is available for this part." msgstr "" @@ -5232,43 +5280,6 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:9 -#, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" -"
Disable the \"Active\" part attribute and re-try.\n" -" " -msgstr "" - -#: part/templates/part/partial_delete.html:17 -#, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" -msgstr "" - -#: part/templates/part/partial_delete.html:22 -#, python-format -msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" -msgstr "" - -#: part/templates/part/partial_delete.html:32 -#, python-format -msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:43 -#, python-format -msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" -msgstr "Ci sono %(count)s produttori definiti per questa parte. Se elimini questa parte, verranno eliminate anche le seguenti parti del produttore:" - -#: part/templates/part/partial_delete.html:54 -#, python-format -msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" -msgstr "Ci sono %(count)s fornitori definiti per questo articolo. Se elimini questo, verranno eliminate anche i seguenti articoli del fornitore:" - -#: part/templates/part/partial_delete.html:67 -#, python-format -msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." -msgstr "" - #: part/templates/part/prices.html:19 msgid "Pricing ranges" msgstr "" @@ -5285,66 +5296,58 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:120 +#: part/templates/part/prices.html:122 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:123 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:143 +#: part/templates/part/prices.html:145 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:957 +#: part/templates/part/prices.html:160 templates/js/translated/bom.js:951 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:159 part/templates/part/prices.html:180 -#: part/templates/part/prices.html:204 part/templates/part/prices.html:234 -#: part/templates/part/prices.html:260 part/templates/part/prices.html:289 +#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 +#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 +#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:184 +#: part/templates/part/prices.html:186 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:193 +#: part/templates/part/prices.html:195 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:203 +#: part/templates/part/prices.html:205 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:218 +#: part/templates/part/prices.html:220 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:233 +#: part/templates/part/prices.html:235 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:259 +#: part/templates/part/prices.html:261 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:300 +#: part/templates/part/prices.html:302 msgid "No sale pice history available for this part." msgstr "" -#: part/templates/part/set_category.html:9 -msgid "Set category for the following parts" -msgstr "Imposta categoria per i seguenti articoli" - -#: part/templates/part/set_category.html:32 -msgid "Remove part" -msgstr "Rimuovi parte" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543 -#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:587 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:1469 msgid "No Stock" msgstr "Nessuna giacenza" @@ -5407,56 +5410,39 @@ msgstr "Database sconosciuto" msgid "{title} v{version}" msgstr "" -#: part/views.py:74 -msgid "Set Part Category" -msgstr "Imposta categoria articolo" - -#: part/views.py:122 -#, python-brace-format -msgid "Set category for {n} parts" -msgstr "Imposta categoria per {n} articoli" - -#: part/views.py:193 +#: part/views.py:118 msgid "Match References" msgstr "" -#: part/views.py:494 +#: part/views.py:419 msgid "None" msgstr "" -#: part/views.py:556 +#: part/views.py:481 msgid "Part QR Code" msgstr "" -#: part/views.py:650 +#: part/views.py:575 msgid "Select Part Image" msgstr "" -#: part/views.py:676 +#: part/views.py:601 msgid "Updated part image" msgstr "" -#: part/views.py:679 +#: part/views.py:604 msgid "Part image not found" msgstr "" -#: part/views.py:768 -msgid "Confirm Part Deletion" -msgstr "" - -#: part/views.py:776 -msgid "Part was deleted" -msgstr "" - -#: part/views.py:785 +#: part/views.py:693 msgid "Part Pricing" msgstr "" -#: part/views.py:976 +#: part/views.py:884 msgid "Delete Part Category" msgstr "Elimina categoria" -#: part/views.py:983 +#: part/views.py:891 msgid "Part category was deleted" msgstr "La Categoria articoli è stata eliminata" @@ -5516,21 +5502,21 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:28 +#: plugin/builtin/integration/core_notifications.py:29 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 +#: plugin/builtin/integration/core_notifications.py:30 msgid "Integrated outgoing notificaton methods" msgstr "" -#: 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:34 #: plugin/builtin/integration/core_notifications.py:53 +msgid "Enable email notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:35 +#: plugin/builtin/integration/core_notifications.py:54 msgid "Allow sending of emails for event notifications" msgstr "" @@ -5646,15 +5632,19 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:166 +#: report/api.py:179 msgid "No valid objects provided to template" msgstr "Nessun oggetto valido fornito nel modello" -#: report/api.py:198 report/api.py:239 +#: report/api.py:215 report/api.py:256 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" +#: report/api.py:359 +msgid "Test report" +msgstr "" + #: report/models.py:152 msgid "Template name" msgstr "" @@ -5757,7 +5747,7 @@ msgstr "" #: 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:3229 -#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:434 msgid "Serial Number" msgstr "" @@ -5766,19 +5756,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2068 +#: stock/models.py:2072 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2074 +#: stock/models.py:2078 msgid "Result" 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:1669 templates/js/translated/stock.js:2340 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2350 msgid "Date" msgstr "Data" @@ -5796,20 +5786,20 @@ msgid "Installed Items" 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:2589 +#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724 +#: templates/js/translated/stock.js:2599 msgid "Serial" msgstr "Seriale" -#: stock/api.py:504 +#: stock/api.py:505 msgid "Quantity is required" msgstr "La quantità è richiesta" -#: stock/api.py:511 +#: stock/api.py:512 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:536 +#: stock/api.py:537 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5917,7 +5907,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1826 msgid "Expiry Date" msgstr "Data di Scadenza" @@ -5971,79 +5961,79 @@ msgstr "" msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1325 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1324 +#: stock/models.py:1328 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1327 +#: stock/models.py:1331 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1334 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1333 +#: stock/models.py:1337 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1340 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1343 stock/serializers.py:908 +#: stock/models.py:1347 stock/serializers.py:895 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1347 +#: stock/models.py:1351 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1355 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1359 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1524 +#: stock/models.py:1528 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1986 +#: stock/models.py:1990 msgid "Entry notes" msgstr "" -#: stock/models.py:2044 +#: stock/models.py:2048 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2050 +#: stock/models.py:2054 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2069 +#: stock/models.py:2073 msgid "Test name" msgstr "" -#: stock/models.py:2075 +#: stock/models.py:2079 msgid "Test result" msgstr "" -#: stock/models.py:2081 +#: stock/models.py:2085 msgid "Test output value" msgstr "" -#: stock/models.py:2088 +#: stock/models.py:2092 msgid "Test result attachment" msgstr "" -#: stock/models.py:2094 +#: stock/models.py:2098 msgid "Test notes" msgstr "" @@ -6064,7 +6054,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:865 stock/serializers.py:1098 +#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 msgid "Destination stock location" msgstr "Posizione magazzino di destinazione" @@ -6104,63 +6094,63 @@ msgstr "" msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:707 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:724 +#: stock/serializers.py:711 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:728 +#: stock/serializers.py:715 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:759 +#: stock/serializers.py:746 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:765 +#: stock/serializers.py:752 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:773 +#: stock/serializers.py:760 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:783 stock/serializers.py:1014 +#: stock/serializers.py:770 stock/serializers.py:1001 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:872 +#: stock/serializers.py:859 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:877 +#: stock/serializers.py:864 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:878 +#: stock/serializers.py:865 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:883 +#: stock/serializers.py:870 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:884 +#: stock/serializers.py:871 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:894 +#: stock/serializers.py:881 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:976 +#: stock/serializers.py:963 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1004 +#: stock/serializers.py:991 msgid "Stock transaction notes" msgstr "" @@ -6185,7 +6175,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:298 msgid "Delete Test Data" msgstr "" @@ -6197,11 +6187,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2733 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2743 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:292 templates/js/translated/stock.js:1455 +#: stock/templates/stock/item.html:290 +msgid "Delete all test results for this stock item" +msgstr "" + +#: stock/templates/stock/item.html:323 templates/js/translated/stock.js:1465 msgid "Add Test Result" msgstr "" @@ -6388,7 +6382,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/stock.js:1842 msgid "Last Updated" msgstr "Ultimo aggiornamento" @@ -6529,7 +6523,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:182 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:144 msgid "Convert Stock Item" msgstr "" @@ -6550,31 +6544,19 @@ msgstr "" msgid "This action cannot be easily undone" msgstr "" -#: stock/views.py:113 +#: stock/views.py:111 msgid "Stock Location QR code" msgstr "QR Code della posizione magazzino" -#: stock/views.py:131 -msgid "Delete All Test Data" -msgstr "" - -#: stock/views.py:149 -msgid "Confirm test data deletion" -msgstr "" - -#: stock/views.py:150 -msgid "Check the confirmation box" -msgstr "" - -#: stock/views.py:165 +#: stock/views.py:127 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:216 +#: stock/views.py:178 msgid "Delete Stock Location" msgstr "Elimina Posizione di Giacenza" -#: stock/views.py:229 +#: stock/views.py:191 msgid "Delete Stock Item" msgstr "" @@ -7317,8 +7299,8 @@ msgstr "Informazioni Versione InvenTree" #: 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:56 templates/js/translated/modals.js:595 -#: templates/js/translated/modals.js:689 templates/js/translated/modals.js:997 +#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 +#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 #: templates/js/translated/order.js:928 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7390,6 +7372,10 @@ msgstr "Conferma l'indirizzo e-mail" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:630 +msgid "Confirm" +msgstr "Conferma" + #: templates/account/email_confirm.html:27 #, python-format msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." @@ -7562,7 +7548,7 @@ msgstr "Aggiungi allegato" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:112 msgid "Delete Attachments" msgstr "" @@ -7596,15 +7582,15 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1425 +#: templates/js/translated/bom.js:1419 msgid "Required Quantity" msgstr "Quantità richiesta" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: 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/bom.js:884 templates/js/translated/build.js:1787 +#: templates/js/translated/build.js:2650 templates/js/translated/part.js:571 +#: templates/js/translated/part.js:574 #: templates/js/translated/table_filters.js:178 msgid "Available" msgstr "Disponibile" @@ -7622,6 +7608,13 @@ msgstr "" msgid "Minimum Quantity" msgstr "Quantità minima" +#: templates/email/new_order_assigned.html:9 +#: templates/email/overdue_build_order.html:9 +#: templates/email/overdue_purchase_order.html:9 +#: templates/email/overdue_sales_order.html:9 +msgid "Click on the following link to view this order" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -7638,91 +7631,91 @@ msgstr "Il server remoto deve essere accessibile" msgid "Remote image must not exceed maximum allowable file size" msgstr "L'immagine remota non deve superare la dimensione massima consentita del file" -#: templates/js/translated/api.js:235 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1073 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1074 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:242 +#: templates/js/translated/api.js:202 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:243 +#: templates/js/translated/api.js:203 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1083 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1084 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:252 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1088 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:253 templates/js/translated/modals.js:1083 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1089 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1093 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1088 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1094 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:262 +#: templates/js/translated/api.js:222 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:263 +#: templates/js/translated/api.js:223 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:267 templates/js/translated/modals.js:1092 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1098 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:268 templates/js/translated/modals.js:1093 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1099 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:271 +#: templates/js/translated/api.js:231 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:272 +#: templates/js/translated/api.js:232 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:96 +#: templates/js/translated/attachment.js:98 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:156 +#: templates/js/translated/attachment.js:152 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:180 +#: templates/js/translated/attachment.js:176 msgid "Edit Attachment" msgstr "Modifica allegato" -#: templates/js/translated/attachment.js:246 +#: templates/js/translated/attachment.js:242 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:262 +#: templates/js/translated/attachment.js:264 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:269 +#: templates/js/translated/attachment.js:271 msgid "Delete attachment" msgstr "" @@ -7755,7 +7748,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "Invalid server response" msgstr "" @@ -7783,7 +7776,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999 +#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:998 msgid "Remove stock item" msgstr "" @@ -7918,89 +7911,89 @@ msgstr "" msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:682 +#: templates/js/translated/bom.js:684 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:697 +#: templates/js/translated/bom.js:699 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:824 +#: templates/js/translated/bom.js:818 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:834 +#: templates/js/translated/bom.js:828 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:838 templates/js/translated/build.js:1769 +#: templates/js/translated/bom.js:832 templates/js/translated/build.js:1769 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/bom.js:900 templates/js/translated/build.js:1814 #: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:910 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:904 templates/js/translated/build.js:1818 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:912 templates/js/translated/build.js:1820 -#: templates/js/translated/part.js:690 +#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1820 +#: templates/js/translated/part.js:734 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:914 templates/js/translated/build.js:1822 +#: templates/js/translated/bom.js:908 templates/js/translated/build.js:1822 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:928 +#: templates/js/translated/bom.js:922 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:943 +#: templates/js/translated/bom.js:937 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:950 +#: templates/js/translated/bom.js:944 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:999 templates/js/translated/bom.js:1090 +#: templates/js/translated/bom.js:993 templates/js/translated/bom.js:1084 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1061 +#: templates/js/translated/bom.js:1055 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1063 +#: templates/js/translated/bom.js:1057 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1065 +#: templates/js/translated/bom.js:1059 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1067 templates/js/translated/bom.js:1228 +#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1222 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1069 +#: templates/js/translated/bom.js:1063 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1164 templates/js/translated/build.js:1615 +#: templates/js/translated/bom.js:1158 templates/js/translated/build.js:1615 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1408 templates/js/translated/build.js:1753 +#: templates/js/translated/bom.js:1402 templates/js/translated/build.js:1753 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1430 +#: templates/js/translated/bom.js:1424 msgid "Inherited from parent BOM" msgstr "" @@ -8040,13 +8033,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91 -#: templates/js/translated/stock.js:181 +#: templates/js/translated/build.js:259 templates/js/translated/stock.js:90 +#: templates/js/translated/stock.js:180 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93 -#: templates/js/translated/stock.js:183 +#: templates/js/translated/build.js:261 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:182 msgid "Latest serial number" msgstr "" @@ -8259,9 +8252,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: 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 +#: templates/js/translated/build.js:2448 templates/js/translated/part.js:1358 +#: templates/js/translated/part.js:1825 templates/js/translated/stock.js:1629 +#: templates/js/translated/stock.js:2287 msgid "Select" msgstr "" @@ -8273,7 +8266,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2519 +#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2529 msgid "No user information" msgstr "" @@ -8285,107 +8278,107 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:169 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:168 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:157 templates/js/translated/order.js:506 +#: templates/js/translated/company.js:156 templates/js/translated/order.js:506 msgid "Add Supplier" msgstr "Aggiungi fornitore" -#: templates/js/translated/company.js:185 +#: templates/js/translated/company.js:184 msgid "Add Supplier Part" msgstr "Aggiungi fornitore articolo" -#: templates/js/translated/company.js:200 +#: templates/js/translated/company.js:199 msgid "Edit Supplier Part" msgstr "Modifica fornitore articolo" -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:249 msgid "All selected supplier parts will be deleted" msgstr "Tutte gli articoli del fornitore selezionati saranno eliminati" -#: templates/js/translated/company.js:263 +#: templates/js/translated/company.js:264 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:342 +#: templates/js/translated/company.js:336 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:413 msgid "Parts Supplied" msgstr "Fornitori articoli" -#: templates/js/translated/company.js:428 +#: templates/js/translated/company.js:422 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:443 +#: templates/js/translated/company.js:437 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:478 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:492 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:526 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:548 +#: templates/js/translated/company.js:539 msgid "Delete Parameters" msgstr "Elimina Parametri" -#: templates/js/translated/company.js:595 +#: templates/js/translated/company.js:580 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:615 -#: templates/js/translated/company.js:874 templates/js/translated/part.js:565 -#: templates/js/translated/part.js:650 +#: templates/js/translated/company.js:600 +#: templates/js/translated/company.js:859 templates/js/translated/part.js:609 +#: templates/js/translated/part.js:694 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:619 -#: templates/js/translated/company.js:878 templates/js/translated/part.js:569 -#: templates/js/translated/part.js:654 +#: templates/js/translated/company.js:604 +#: templates/js/translated/company.js:863 templates/js/translated/part.js:613 +#: templates/js/translated/part.js:698 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:747 templates/js/translated/part.js:757 +#: templates/js/translated/company.js:732 templates/js/translated/part.js:801 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:799 +#: templates/js/translated/company.js:769 templates/js/translated/part.js:843 msgid "Edit parameter" msgstr "Modifica parametro" -#: templates/js/translated/company.js:785 templates/js/translated/part.js:800 +#: templates/js/translated/company.js:770 templates/js/translated/part.js:844 msgid "Delete parameter" msgstr "Elimina il parametro" -#: templates/js/translated/company.js:804 templates/js/translated/part.js:817 +#: templates/js/translated/company.js:789 templates/js/translated/part.js:861 msgid "Edit Parameter" msgstr "Modifica parametro" -#: templates/js/translated/company.js:815 templates/js/translated/part.js:829 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:873 msgid "Delete Parameter" msgstr "Elimina Parametri" -#: templates/js/translated/company.js:854 +#: templates/js/translated/company.js:839 msgid "No supplier parts found" msgstr "Nessun fornitore trovato" @@ -8448,36 +8441,36 @@ msgstr "Mostra operazione non consentita" msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:756 +#: templates/js/translated/forms.js:757 msgid "Enter a valid number" msgstr "Inserisci un numero valido" -#: templates/js/translated/forms.js:1248 templates/modals.html:19 +#: templates/js/translated/forms.js:1249 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1681 +#: templates/js/translated/forms.js:1682 msgid "No results found" msgstr "Nessun risultato trovato" -#: templates/js/translated/forms.js:1896 templates/search.html:29 +#: templates/js/translated/forms.js:1897 templates/search.html:29 msgid "Searching" msgstr "Ricerca" -#: templates/js/translated/forms.js:2149 +#: templates/js/translated/forms.js:2150 msgid "Clear input" msgstr "Cancella input" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2627 +#: templates/js/translated/forms.js:2628 msgid "Select Columns" msgstr "" @@ -8498,7 +8491,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1023 +#: templates/js/translated/stock.js:1022 msgid "Select Stock Items" msgstr "" @@ -8552,12 +8545,12 @@ msgid "Select Label Template" msgstr "Seleziona Modello Etichetta" #: templates/js/translated/modals.js:82 templates/js/translated/modals.js:142 -#: templates/js/translated/modals.js:621 +#: templates/js/translated/modals.js:627 msgid "Cancel" msgstr "Annulla" #: 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/js/translated/modals.js:694 templates/js/translated/modals.js:1002 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "Invia" @@ -8566,47 +8559,47 @@ msgstr "Invia" msgid "Form Title" msgstr "Titolo modulo" -#: templates/js/translated/modals.js:403 +#: templates/js/translated/modals.js:421 msgid "Waiting for server..." msgstr "In attesa del server..." -#: templates/js/translated/modals.js:562 +#: templates/js/translated/modals.js:568 msgid "Show Error Information" msgstr "Informazioni sull'errore" -#: templates/js/translated/modals.js:620 +#: templates/js/translated/modals.js:626 msgid "Accept" msgstr "Accetta" -#: templates/js/translated/modals.js:677 +#: templates/js/translated/modals.js:683 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Invalid response from server" msgstr "Risposta dal server non valida" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:960 +#: templates/js/translated/modals.js:966 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1072 +#: templates/js/translated/modals.js:1078 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1073 +#: templates/js/translated/modals.js:1079 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1096 +#: templates/js/translated/modals.js:1102 msgid "Error requesting form data" msgstr "" @@ -8656,11 +8649,11 @@ msgstr "" msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:259 +#: templates/js/translated/notification.js:260 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:300 templates/notifications.html:10 +#: templates/js/translated/notification.js:302 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" @@ -8804,7 +8797,7 @@ msgstr "" msgid "Quantity to receive" msgstr "Quantità da ricevere" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2080 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2090 msgid "Stock Status" msgstr "Stato giacenza" @@ -8828,7 +8821,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1602 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1602 templates/js/translated/part.js:914 msgid "No purchase orders found" msgstr "" @@ -8863,7 +8856,7 @@ 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:3978 -#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 +#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2397 msgid "Unit Price" msgstr "Prezzo Unitario" @@ -8873,11 +8866,11 @@ msgid "Total Price" msgstr "Prezzo Totale" #: templates/js/translated/order.js:1993 templates/js/translated/order.js:3525 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:1023 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1069 msgid "Receive line item" msgstr "" @@ -8998,7 +8991,7 @@ msgid "Delete Stock Allocation" msgstr "Elimina posizione giacenza" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1535 +#: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "Spedito al cliente" @@ -9138,165 +9131,209 @@ msgstr "Articolo modificato" msgid "Create Part Variant" msgstr "" +#: templates/js/translated/part.js:405 +msgid "Active Part" +msgstr "" + +#: templates/js/translated/part.js:406 +msgid "Part cannot be deleted as it is currently active" +msgstr "" + +#: templates/js/translated/part.js:420 +msgid "Deleting this part cannot be reversed" +msgstr "" + +#: templates/js/translated/part.js:422 +msgid "Any stock items for this part will be deleted" +msgstr "" + #: templates/js/translated/part.js:423 +msgid "This part will be removed from any Bills of Material" +msgstr "" + +#: templates/js/translated/part.js:424 +msgid "All manufacturer and supplier information for this part will be deleted" +msgstr "" + +#: templates/js/translated/part.js:431 +msgid "Delete Part" +msgstr "" + +#: templates/js/translated/part.js:467 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:425 +#: templates/js/translated/part.js:469 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:474 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:476 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:493 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:503 msgid "Validate Bill of Materials" msgstr "Convalida la distinta dei materiali" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:506 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:487 +#: templates/js/translated/part.js:531 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:513 templates/js/translated/part.js:1397 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1441 #: templates/js/translated/table_filters.js:452 msgid "Low stock" msgstr "In esaurimento" -#: templates/js/translated/part.js:523 templates/js/translated/part.js:1409 +#: templates/js/translated/part.js:567 templates/js/translated/part.js:1453 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:557 templates/js/translated/part.js:642 +#: templates/js/translated/part.js:601 templates/js/translated/part.js:686 msgid "Trackable part" msgstr "Parte tracciabile" -#: templates/js/translated/part.js:561 templates/js/translated/part.js:646 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:690 msgid "Virtual part" msgstr "Parte virtuale" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:617 msgid "Subscribed part" msgstr "Parte sottoscritta" -#: templates/js/translated/part.js:577 +#: templates/js/translated/part.js:621 msgid "Salable part" msgstr "Parte vendibile" -#: templates/js/translated/part.js:705 +#: templates/js/translated/part.js:749 msgid "No variants found" msgstr "Nessuna variante trovata" -#: templates/js/translated/part.js:1095 +#: templates/js/translated/part.js:1139 msgid "Delete part relationship" msgstr "Elimina relazione tra i componenti" -#: templates/js/translated/part.js:1119 +#: templates/js/translated/part.js:1163 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1184 templates/js/translated/part.js:1480 +#: templates/js/translated/part.js:1228 templates/js/translated/part.js:1524 msgid "No parts found" msgstr "Nessun articolo trovato" -#: templates/js/translated/part.js:1223 +#: templates/js/translated/part.js:1267 msgid "Not available" msgstr "" -#: templates/js/translated/part.js:1374 +#: templates/js/translated/part.js:1418 msgid "No category" msgstr "Nessuna categoria" -#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664 -#: templates/js/translated/stock.js:2238 +#: templates/js/translated/part.js:1548 templates/js/translated/part.js:1760 +#: templates/js/translated/stock.js:2248 msgid "Display as list" msgstr "Visualizza come elenco" -#: templates/js/translated/part.js:1520 +#: templates/js/translated/part.js:1564 msgid "Display as grid" msgstr "Visualizza come griglia" -#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2257 +#: templates/js/translated/part.js:1630 +msgid "Set the part category for the selected parts" +msgstr "" + +#: templates/js/translated/part.js:1635 +msgid "Set Part Category" +msgstr "Imposta categoria articolo" + +#: templates/js/translated/part.js:1640 +msgid "Select Part Category" +msgstr "" + +#: templates/js/translated/part.js:1653 +msgid "Category is required" +msgstr "" + +#: templates/js/translated/part.js:1779 templates/js/translated/stock.js:2267 msgid "Display as tree" msgstr "Visualizza come struttura ad albero" -#: templates/js/translated/part.js:1747 +#: templates/js/translated/part.js:1843 msgid "Subscribed category" msgstr "Categoria sottoscritta" -#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2301 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2311 msgid "Path" msgstr "Percorso" -#: templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:1901 msgid "No test templates matching query" msgstr "Nessun modello di test corrispondente" -#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1233 +#: templates/js/translated/part.js:1952 templates/js/translated/stock.js:1243 msgid "Edit test result" msgstr "Modificare il risultato del test" -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1234 -#: templates/js/translated/stock.js:1493 +#: templates/js/translated/part.js:1953 templates/js/translated/stock.js:1244 +#: templates/js/translated/stock.js:1503 msgid "Delete test result" msgstr "Cancellare il risultato del test" -#: templates/js/translated/part.js:1863 +#: templates/js/translated/part.js:1959 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1885 +#: templates/js/translated/part.js:1981 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:1995 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1924 +#: templates/js/translated/part.js:2020 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1981 +#: templates/js/translated/part.js:2077 #, python-brace-format msgid "Edit ${human_name}" msgstr "Modifica ${human_name}" -#: templates/js/translated/part.js:1982 +#: templates/js/translated/part.js:2078 #, python-brace-format msgid "Delete ${human_name}" msgstr "Elimina ${human_name}" -#: templates/js/translated/part.js:2096 +#: templates/js/translated/part.js:2192 msgid "Current Stock" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2225 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2155 +#: templates/js/translated/part.js:2251 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2225 +#: templates/js/translated/part.js:2321 msgid "Single Price" msgstr "Prezzo Singolo" -#: templates/js/translated/part.js:2244 +#: templates/js/translated/part.js:2340 msgid "Single Price Difference" msgstr "" @@ -9378,360 +9415,360 @@ msgstr "" msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:72 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:101 +#: templates/js/translated/stock.js:100 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:109 msgid "Parent stock location" msgstr "Posizione giacenza principale" -#: templates/js/translated/stock.js:139 +#: templates/js/translated/stock.js:138 msgid "Edit Stock Location" msgstr "Modifica Posizione Giacenza" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:153 msgid "New Stock Location" msgstr "Nuova posizione giacenza" -#: templates/js/translated/stock.js:194 +#: templates/js/translated/stock.js:193 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:233 +#: templates/js/translated/stock.js:232 msgid "Enter initial quantity for this stock item" msgstr "Inserisci quantità iniziale per questo articolo in giacenza" -#: templates/js/translated/stock.js:239 +#: templates/js/translated/stock.js:238 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "Inserire i numeri di serie per la nuova giacenza (o lasciare vuoto)" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:303 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:324 +#: templates/js/translated/stock.js:323 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:344 +#: templates/js/translated/stock.js:343 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:394 +#: templates/js/translated/stock.js:393 msgid "Created new stock item" msgstr "Crea nuova allocazione magazzino" -#: templates/js/translated/stock.js:407 +#: templates/js/translated/stock.js:406 msgid "Created multiple stock items" msgstr "Creato più elementi stock" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:431 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:453 +#: templates/js/translated/stock.js:452 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:472 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:481 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:605 +#: templates/js/translated/stock.js:604 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:606 +#: templates/js/translated/stock.js:605 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:683 +#: templates/js/translated/stock.js:682 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:684 +#: templates/js/translated/stock.js:683 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:686 +#: templates/js/translated/stock.js:685 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:687 +#: templates/js/translated/stock.js:686 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:772 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:774 +#: templates/js/translated/stock.js:773 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:869 +#: templates/js/translated/stock.js:868 msgid "Transfer Stock" msgstr "Trasferisci giacenza" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:869 msgid "Move" msgstr "Sposta" -#: templates/js/translated/stock.js:876 +#: templates/js/translated/stock.js:875 msgid "Count Stock" msgstr "Conta giacenza" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:876 msgid "Count" msgstr "Conta" -#: templates/js/translated/stock.js:881 +#: templates/js/translated/stock.js:880 msgid "Remove Stock" msgstr "Rimuovi giacenza" -#: templates/js/translated/stock.js:882 +#: templates/js/translated/stock.js:881 msgid "Take" msgstr "Prendi" -#: templates/js/translated/stock.js:886 +#: templates/js/translated/stock.js:885 msgid "Add Stock" msgstr "Aggiungi giacenza" -#: templates/js/translated/stock.js:887 users/models.py:215 +#: templates/js/translated/stock.js:886 users/models.py:215 msgid "Add" msgstr "Aggiungi" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Delete Stock" msgstr "Elimina Stock" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Specify stock quantity" msgstr "Specificare la quantità di magazzino" -#: templates/js/translated/stock.js:1024 +#: templates/js/translated/stock.js:1023 msgid "You must select at least one available stock item" msgstr "Devi selezionare almeno un articolo disponibile" -#: templates/js/translated/stock.js:1047 +#: templates/js/translated/stock.js:1046 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1172 +#: templates/js/translated/stock.js:1182 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1174 +#: templates/js/translated/stock.js:1184 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1179 +#: templates/js/translated/stock.js:1189 msgid "NO RESULT" msgstr "NESSUN RISULTATO" -#: templates/js/translated/stock.js:1226 +#: templates/js/translated/stock.js:1236 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1229 +#: templates/js/translated/stock.js:1239 msgid "Add test result" msgstr "Aggiungi risultato test" -#: templates/js/translated/stock.js:1255 +#: templates/js/translated/stock.js:1265 msgid "No test results found" msgstr "Nessun risultato di prova trovato" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1321 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1476 +#: templates/js/translated/stock.js:1486 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1498 +#: templates/js/translated/stock.js:1508 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1527 +#: templates/js/translated/stock.js:1537 msgid "In production" msgstr "In produzione" -#: templates/js/translated/stock.js:1531 +#: templates/js/translated/stock.js:1541 msgid "Installed in Stock Item" msgstr "Installato nell'elemento stock" -#: templates/js/translated/stock.js:1539 +#: templates/js/translated/stock.js:1549 msgid "Assigned to Sales Order" msgstr "Assegnato all'ordine di vendita" -#: templates/js/translated/stock.js:1545 +#: templates/js/translated/stock.js:1555 msgid "No stock location set" msgstr "Nessuna giacenza impostata" -#: templates/js/translated/stock.js:1712 +#: templates/js/translated/stock.js:1722 msgid "Stock item is in production" msgstr "L'articolo di magazzino è in produzione" -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1727 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1720 +#: templates/js/translated/stock.js:1730 msgid "Stock item assigned to customer" msgstr "Articolo stock assegnato al cliente" -#: templates/js/translated/stock.js:1723 +#: templates/js/translated/stock.js:1733 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1725 +#: templates/js/translated/stock.js:1735 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1727 +#: templates/js/translated/stock.js:1737 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1730 +#: templates/js/translated/stock.js:1740 msgid "Stock item has been installed in another item" msgstr "L'elemento stock è stato installato in un altro articolo" -#: templates/js/translated/stock.js:1734 +#: templates/js/translated/stock.js:1744 msgid "Stock item has expired" msgstr "L'articolo stock è scaduto" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1746 msgid "Stock item will expire soon" msgstr "Articolo in giacenza prossimo alla scadenza" -#: templates/js/translated/stock.js:1743 +#: templates/js/translated/stock.js:1753 msgid "Stock item has been rejected" msgstr "L'articolo stock è stato rifiutato" -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1755 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:1757 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1751 +#: templates/js/translated/stock.js:1761 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "Esaurito" -#: templates/js/translated/stock.js:1802 +#: templates/js/translated/stock.js:1812 msgid "Stocktake" msgstr "Inventario" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1894 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1932 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2095 +#: templates/js/translated/stock.js:2105 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2109 +#: templates/js/translated/stock.js:2119 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2120 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2375 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2381 +#: templates/js/translated/stock.js:2391 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2403 +#: templates/js/translated/stock.js:2413 msgid "Location no longer exists" msgstr "La posizione non esiste più" -#: templates/js/translated/stock.js:2422 +#: templates/js/translated/stock.js:2432 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2441 +#: templates/js/translated/stock.js:2451 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2459 +#: templates/js/translated/stock.js:2469 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2482 +#: templates/js/translated/stock.js:2492 msgid "Added" msgstr "Aggiunto" -#: templates/js/translated/stock.js:2490 +#: templates/js/translated/stock.js:2500 msgid "Removed" msgstr "Rimosso" -#: templates/js/translated/stock.js:2566 +#: templates/js/translated/stock.js:2576 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2617 templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2663 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2666 +#: templates/js/translated/stock.js:2676 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2697 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2688 +#: templates/js/translated/stock.js:2698 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2690 +#: templates/js/translated/stock.js:2700 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/stock.js:2701 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2702 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2693 +#: templates/js/translated/stock.js:2703 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2716 msgid "Select part to install" msgstr "" diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po index ba692c2ee7..37ba174160 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-06-05 14:26+0000\n" -"PO-Revision-Date: 2022-06-05 14:34\n" +"POT-Creation-Date: 2022-06-06 22:59+0000\n" +"PO-Revision-Date: 2022-06-07 14:34\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:46 +#: InvenTree/api.py:49 msgid "API endpoint not found" msgstr "APIエンドポイントが見つかりません" @@ -29,275 +29,273 @@ msgstr "" msgid "Enter date" msgstr "日付を入力する" -#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:630 -msgid "Confirm" -msgstr "確認" - -#: InvenTree/forms.py:134 +#: InvenTree/forms.py:117 msgid "Confirm delete" msgstr "削除の確認" -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:118 msgid "Confirm item deletion" msgstr "削除の確認" -#: InvenTree/forms.py:167 +#: InvenTree/forms.py:150 msgid "Enter password" msgstr "パスワードを入力してください" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:151 msgid "Enter new password" msgstr "新しいパスワードを入力してください。" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:158 msgid "Confirm password" msgstr "パスワードの確認" -#: InvenTree/forms.py:176 +#: InvenTree/forms.py:159 msgid "Confirm new password" msgstr "新しいパスワードの確認" -#: InvenTree/forms.py:213 -msgid "Select Category" -msgstr "カテゴリの選択" - -#: InvenTree/forms.py:234 +#: InvenTree/forms.py:184 msgid "Email (again)" msgstr "メールアドレス(確認用)" -#: InvenTree/forms.py:238 +#: InvenTree/forms.py:188 msgid "Email address confirmation" msgstr "メールアドレスの確認" -#: InvenTree/forms.py:259 +#: InvenTree/forms.py:209 msgid "You must type the same email each time." msgstr "毎回同じメールアドレスを入力する必要があります。" -#: InvenTree/helpers.py:402 +#: InvenTree/helpers.py:404 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "重複したシリアル番号: {sn}" -#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 +#: InvenTree/helpers.py:411 order/models.py:370 order/models.py:522 msgid "Invalid quantity provided" msgstr "数量コードが無効です" -#: InvenTree/helpers.py:412 +#: InvenTree/helpers.py:414 msgid "Empty serial number string" msgstr "シリアル番号は空です" -#: InvenTree/helpers.py:444 +#: InvenTree/helpers.py:446 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:447 +#: InvenTree/helpers.py:449 #, python-brace-format msgid "Invalid group: {g}" msgstr "無効なグループ: {g}" -#: InvenTree/helpers.py:475 +#: InvenTree/helpers.py:477 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:483 +#: InvenTree/helpers.py:485 #, python-brace-format msgid "Invalid/no group {group}" msgstr "{group} は無効なグループか、存在しません。" -#: InvenTree/helpers.py:489 +#: InvenTree/helpers.py:491 msgid "No serial numbers found" msgstr "シリアル番号が見つかりません" -#: InvenTree/helpers.py:493 +#: InvenTree/helpers.py:495 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:174 +#: InvenTree/models.py:178 msgid "Missing file" msgstr "ファイルがありません" -#: InvenTree/models.py:175 +#: InvenTree/models.py:179 msgid "Missing external link" msgstr "外部リンクが見つかりません。" -#: InvenTree/models.py:187 stock/models.py:2087 -#: templates/js/translated/attachment.js:101 -#: templates/js/translated/attachment.js:198 +#: InvenTree/models.py:191 stock/models.py:2091 +#: templates/js/translated/attachment.js:103 +#: templates/js/translated/attachment.js:194 msgid "Attachment" msgstr "添付ファイル" -#: InvenTree/models.py:188 +#: InvenTree/models.py:192 msgid "Select file to attach" msgstr "添付ファイルを選択" -#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 -#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: InvenTree/models.py:198 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:136 order/models.py:1251 #: 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 -#: templates/js/translated/part.js:1441 +#: templates/js/translated/company.js:640 +#: templates/js/translated/company.js:931 templates/js/translated/order.js:2676 +#: templates/js/translated/part.js:1485 msgid "Link" msgstr "リンク" -#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: InvenTree/models.py:199 build/models.py:320 part/models.py:796 #: stock/models.py:642 msgid "Link to external URL" msgstr "外部 サイト へのリンク" -#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 -#: templates/js/translated/attachment.js:242 +#: InvenTree/models.py:202 templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:238 msgid "Comment" msgstr "コメント:" -#: InvenTree/models.py:198 +#: InvenTree/models.py:202 msgid "File comment" msgstr "ファイルコメント" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1506 +#: common/models.py:1507 common/models.py:1735 common/models.py:1736 +#: common/models.py:1998 common/models.py:1999 part/models.py:2141 +#: part/models.py:2161 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:2523 msgid "User" msgstr "ユーザー" -#: InvenTree/models.py:208 +#: InvenTree/models.py:212 msgid "upload date" msgstr "アップロード日時" -#: InvenTree/models.py:230 +#: InvenTree/models.py:234 msgid "Filename must not be empty" msgstr "ファイル名は空欄にできません" -#: InvenTree/models.py:253 +#: InvenTree/models.py:257 msgid "Invalid attachment directory" msgstr "添付ファイルのディレクトリが正しくありません" -#: InvenTree/models.py:263 +#: InvenTree/models.py:267 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "ファイル名に無効な文字'{c}'が含まれています" -#: InvenTree/models.py:266 +#: InvenTree/models.py:270 msgid "Filename missing extension" msgstr "ファイル名に拡張子がありません" -#: InvenTree/models.py:273 +#: InvenTree/models.py:277 msgid "Attachment with this filename already exists" msgstr "この名前の貼付ファイルは既に存在します" -#: InvenTree/models.py:280 +#: InvenTree/models.py:284 msgid "Error renaming file" msgstr "ファイル名の変更に失敗しました" -#: InvenTree/models.py:314 +#: InvenTree/models.py:318 msgid "Invalid choice" msgstr "無効な選択です" -#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 #: company/models.py:354 label/models.py:101 part/models.py:739 -#: part/models.py:2331 plugin/models.py:93 report/models.py:151 +#: part/models.py:2319 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 #: templates/InvenTree/settings/plugin.html:132 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:346 -#: 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:2283 +#: templates/js/translated/company.js:530 +#: templates/js/translated/company.js:742 templates/js/translated/part.js:659 +#: templates/js/translated/part.js:811 templates/js/translated/part.js:1832 +#: templates/js/translated/stock.js:2293 msgid "Name" msgstr "お名前" -#: InvenTree/models.py:340 build/models.py:197 +#: InvenTree/models.py:344 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: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:164 +#: order/models.py:134 part/models.py:762 part/templates/part/category.html:74 +#: part/templates/part/part_base.html:167 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 -#: 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/bom.js:553 templates/js/translated/bom.js:845 +#: templates/js/translated/build.js:2476 templates/js/translated/company.js:395 +#: templates/js/translated/company.js:651 +#: templates/js/translated/company.js:942 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:1676 -#: templates/js/translated/stock.js:2295 templates/js/translated/stock.js:2350 +#: templates/js/translated/part.js:718 templates/js/translated/part.js:1126 +#: templates/js/translated/part.js:1399 templates/js/translated/part.js:1851 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:1686 +#: templates/js/translated/stock.js:2305 templates/js/translated/stock.js:2360 msgid "Description" msgstr "説明" -#: InvenTree/models.py:341 +#: InvenTree/models.py:345 msgid "Description (optional)" msgstr "説明 (オプション)" -#: InvenTree/models.py:349 +#: InvenTree/models.py:353 msgid "parent" msgstr "親" -#: InvenTree/serializers.py:52 part/models.py:2652 +#: InvenTree/models.py:466 +msgid "Server Error" +msgstr "" + +#: InvenTree/models.py:467 +msgid "An error has been logged by the server." +msgstr "" + +#: InvenTree/serializers.py:52 part/models.py:2640 msgid "Must be a valid number" msgstr "有効な数字でなければなりません" -#: InvenTree/serializers.py:271 +#: InvenTree/serializers.py:263 msgid "Filename" msgstr "ファイル名" -#: InvenTree/serializers.py:306 +#: InvenTree/serializers.py:298 msgid "Invalid value" msgstr "無効な値です。" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:320 msgid "Data File" msgstr "データファイル" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:321 msgid "Select data file for upload" msgstr "アップロードするファイルを選択" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:342 msgid "Unsupported file type" msgstr "サポートされていないファイル形式" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:348 msgid "File is too large" msgstr "ファイルサイズが大きすぎます" -#: InvenTree/serializers.py:377 +#: InvenTree/serializers.py:369 msgid "No columns found in file" msgstr "ファイルに列が見つかりません" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:372 msgid "No data rows found in file" msgstr "ファイルにデータ行がみつかりません" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:495 msgid "No data rows provided" msgstr "データが入力されていません" -#: InvenTree/serializers.py:506 +#: InvenTree/serializers.py:498 msgid "No data columns supplied" msgstr "データ列が指定されていません" -#: InvenTree/serializers.py:583 +#: InvenTree/serializers.py:575 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "必須の列がありません: {name}" -#: InvenTree/serializers.py:592 +#: InvenTree/serializers.py:584 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "{col} 列が重複しています。" @@ -440,7 +438,7 @@ msgstr "紛失" msgid "Returned" msgstr "返品済" -#: InvenTree/status_codes.py:141 order/models.py:1114 +#: InvenTree/status_codes.py:141 order/models.py:1130 #: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "発送済み" @@ -525,7 +523,7 @@ msgstr "親アイテムから分割する" msgid "Split child item" msgstr "子項目を分割" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2020 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2030 msgid "Merged stock items" msgstr "商品在庫をマージしました" @@ -597,27 +595,27 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:522 +#: InvenTree/views.py:521 msgid "Delete Item" msgstr "項目を削除" -#: InvenTree/views.py:571 +#: InvenTree/views.py:570 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:585 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "ユーザー情報を編集" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:597 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "パスワードを設定" -#: InvenTree/views.py:618 +#: InvenTree/views.py:617 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:842 templates/navbar.html:152 +#: InvenTree/views.py:807 templates/navbar.html:152 msgid "System Information" msgstr "システム情報" @@ -628,6 +626,7 @@ msgstr "" #: 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/email/overdue_build_order.html:15 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "" @@ -646,12 +645,12 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:189 order/models.py:288 order/models.py:638 -#: order/models.py:916 part/models.py:2570 +#: build/models.py:189 order/models.py:293 order/models.py:654 +#: order/models.py:932 part/models.py:2558 #: 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/bom.js:690 templates/js/translated/bom.js:852 #: 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:3959 @@ -673,13 +672,12 @@ msgstr "" #: 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:2460 part/models.py:2545 part/models.py:2821 -#: part/serializers.py:793 part/templates/part/part_app_base.html:8 +#: order/models.py:1028 order/models.py:1119 part/models.py:336 +#: part/models.py:2087 part/models.py:2102 part/models.py:2121 +#: part/models.py:2139 part/models.py:2238 part/models.py:2358 +#: part/models.py:2448 part/models.py:2533 part/models.py:2809 +#: part/serializers.py:795 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 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 @@ -687,22 +685,23 @@ msgstr "" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 +#: templates/email/overdue_build_order.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:805 +#: templates/js/translated/bom.js:689 templates/js/translated/bom.js:799 #: 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/company.js:253 +#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:592 +#: templates/js/translated/company.js:851 templates/js/translated/order.js:100 #: templates/js/translated/order.js:883 templates/js/translated/order.js:1315 #: 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:1633 templates/js/translated/stock.js:2376 -#: templates/js/translated/stock.js:2571 templates/js/translated/stock.js:2705 +#: templates/js/translated/part.js:1111 templates/js/translated/part.js:1181 +#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:695 templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2386 +#: templates/js/translated/stock.js:2581 templates/js/translated/stock.js:2715 msgid "Part" msgstr "パーツ" @@ -768,12 +767,12 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:282 order/models.py:137 part/models.py:932 +#: build/models.py:282 order/models.py:138 part/models.py:932 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "作成日時" -#: build/models.py:286 order/models.py:660 +#: build/models.py:286 order/models.py:676 msgid "Target completion date" msgstr "" @@ -781,7 +780,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:290 order/models.py:331 +#: build/models.py:290 order/models.py:336 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "" @@ -799,7 +798,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:313 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:151 +#: build/templates/build/detail.html:115 order/models.py:152 #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 @@ -822,20 +821,20 @@ msgstr "" #: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 #: company/models.py:519 company/templates/company/sidebar.html:25 -#: order/models.py:155 order/models.py:918 order/models.py:1213 +#: order/models.py:156 order/models.py:934 order/models.py:1229 #: order/templates/order/po_sidebar.html:11 #: 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:713 stock/models.py:1985 stock/models.py:2093 +#: stock/models.py:713 stock/models.py:1989 stock/models.py:2097 #: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:486 -#: stock/serializers.py:772 stock/serializers.py:871 stock/serializers.py:1003 +#: stock/serializers.py:759 stock/serializers.py:858 stock/serializers.py:990 #: 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/barcode.js:100 templates/js/translated/bom.js:1038 +#: templates/js/translated/company.js:947 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 -#: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 +#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1926 msgid "Notes" msgstr "メモ" @@ -855,44 +854,44 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1108 +#: build/models.py:1111 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1117 +#: build/models.py:1120 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1127 +#: build/models.py:1130 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1133 order/models.py:1372 +#: build/models.py:1136 order/models.py:1388 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1139 +#: build/models.py:1142 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1196 +#: build/models.py:1199 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1265 stock/templates/stock/item_base.html:177 +#: build/models.py:1268 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:1266 +#: build/models.py:1269 msgid "Build to allocate parts" msgstr "パーツを割り当てるためにビルドする" -#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 -#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:703 -#: stock/serializers.py:829 stock/templates/stock/item_base.html:10 +#: build/models.py:1285 build/serializers.py:603 order/serializers.py:996 +#: order/serializers.py:1017 stock/serializers.py:382 stock/serializers.py:690 +#: stock/serializers.py:816 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 @@ -900,22 +899,22 @@ msgstr "パーツを割り当てるためにビルドする" #: 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:2449 +#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696 +#: templates/js/translated/stock.js:2459 msgid "Stock Item" msgstr "在庫商品" -#: build/models.py:1283 +#: build/models.py:1286 msgid "Source stock item" msgstr "" -#: build/models.py:1295 build/serializers.py:183 +#: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1536 +#: build/templates/build/detail.html:34 common/models.py:1543 #: 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:68 -#: part/forms.py:83 part/forms.py:98 part/models.py:2561 +#: order/models.py:925 order/models.py:1428 order/serializers.py:1136 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 +#: part/forms.py:74 part/forms.py:89 part/models.py:2549 #: 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 @@ -926,8 +925,8 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:139 #: 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 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:691 +#: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 #: templates/js/translated/build.js:574 templates/js/translated/build.js:765 #: templates/js/translated/build.js:1175 templates/js/translated/build.js:1673 #: templates/js/translated/build.js:2086 @@ -937,23 +936,23 @@ msgstr "" #: 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: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 -#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727 -#: templates/js/translated/stock.js:2498 templates/js/translated/stock.js:2583 +#: templates/js/translated/part.js:1011 templates/js/translated/part.js:2065 +#: templates/js/translated/part.js:2296 templates/js/translated/part.js:2330 +#: templates/js/translated/part.js:2408 templates/js/translated/stock.js:402 +#: templates/js/translated/stock.js:556 templates/js/translated/stock.js:726 +#: templates/js/translated/stock.js:2508 templates/js/translated/stock.js:2593 msgid "Quantity" msgstr "数量" -#: build/models.py:1296 +#: build/models.py:1299 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1304 +#: build/models.py:1307 msgid "Install into" msgstr "" -#: build/models.py:1305 +#: build/models.py:1308 msgid "Destination stock item" msgstr "" @@ -982,9 +981,9 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: 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:1239 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:368 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:514 +#: part/serializers.py:958 stock/models.py:470 stock/models.py:1239 #: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" @@ -997,9 +996,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 #: stock/serializers.py:297 templates/js/translated/order.js:1186 -#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:237 templates/js/translated/stock.js:403 msgid "Serial Numbers" msgstr "" @@ -1015,7 +1014,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:552 +#: build/serializers.py:268 stock/api.py:553 msgid "The following serial numbers already exist" msgstr "" @@ -1025,16 +1024,16 @@ msgstr "" #: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 #: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:481 -#: stock/serializers.py:864 stock/serializers.py:1097 +#: stock/serializers.py:851 stock/serializers.py:1084 #: 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 #: 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:1787 templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532 +#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904 +#: templates/js/translated/stock.js:1797 templates/js/translated/stock.js:2400 msgid "Location" msgstr "" @@ -1043,12 +1042,12 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:363 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:654 +#: build/templates/build/detail.html:62 order/models.py:670 #: 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 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1772 +#: templates/js/translated/stock.js:2477 templates/js/translated/stock.js:2609 msgid "Status" msgstr "ステータス" @@ -1108,8 +1107,8 @@ msgstr "" msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:535 build/serializers.py:580 part/models.py:2679 -#: part/models.py:2813 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2667 +#: part/models.py:2801 msgid "BOM Item" msgstr "" @@ -1125,11 +1124,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:716 +#: build/serializers.py:609 stock/serializers.py:703 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:667 order/serializers.py:1052 +#: build/serializers.py:667 order/serializers.py:1054 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1146,7 +1145,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:708 order/serializers.py:1298 +#: build/serializers.py:708 order/serializers.py:1300 msgid "Allocation items must be provided" msgstr "" @@ -1178,10 +1177,19 @@ msgstr "" msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:96 +#: build/tasks.py:100 msgid "Stock required for build order" msgstr "" +#: build/tasks.py:118 +msgid "Overdue Build Order" +msgstr "" + +#: build/tasks.py:123 +#, python-brace-format +msgid "Build order {bo} is now overdue" +msgstr "" + #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 #: order/templates/order/sales_order_base.html:38 @@ -1244,13 +1252,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:922 +#: build/templates/build/detail.html:131 order/models.py:938 #: 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: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 +#: templates/js/translated/order.js:3517 templates/js/translated/part.js:1015 msgid "Target Date" msgstr "" @@ -1277,13 +1285,14 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1100 -#: order/models.py:1185 order/models.py:1320 +#: build/templates/build/detail.html:94 order/models.py:1116 +#: order/models.py:1201 order/models.py:1336 #: 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/email/overdue_sales_order.html:15 #: templates/js/translated/order.js:2436 msgid "Sales Order" msgstr "" @@ -1319,7 +1328,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1034 +#: build/templates/build/detail.html:49 order/models.py:1050 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "" @@ -1336,8 +1345,8 @@ msgstr "" #: stock/templates/stock/item_base.html:170 #: templates/js/translated/build.js:1179 #: templates/js/translated/model_renderers.js:112 -#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1776 -#: templates/js/translated/stock.js:2606 +#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:2616 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1716,7 +1725,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:820 part/models.py:2372 report/models.py:157 +#: common/models.py:820 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" @@ -1726,7 +1735,7 @@ msgstr "テンプレート" msgid "Parts are templates by default" msgstr "パーツはデフォルトのテンプレートです" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" @@ -1880,7 +1889,7 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:968 -msgid "Test Reports" +msgid "Enable Test Reports" msgstr "" #: common/models.py:969 @@ -1888,568 +1897,576 @@ msgid "Enable generation of test reports" msgstr "" #: common/models.py:975 -msgid "Batch Code Template" +msgid "Attach Test Reports" msgstr "" #: common/models.py:976 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:981 -msgid "Stock Expiry" +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" #: common/models.py:982 -msgid "Enable stock expiry functionality" +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:983 +msgid "Template for generating default batch codes for stock items" msgstr "" #: common/models.py:988 -msgid "Sell Expired Stock" +msgid "Stock Expiry" msgstr "" #: common/models.py:989 -msgid "Allow sale of expired stock" +msgid "Enable stock expiry functionality" msgstr "" #: common/models.py:995 -msgid "Stock Stale Time" +msgid "Sell Expired Stock" msgstr "" #: common/models.py:996 -msgid "Number of days stock items are considered stale before expiring" +msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:998 -msgid "days" +#: common/models.py:1002 +msgid "Stock Stale Time" msgstr "" #: common/models.py:1003 -msgid "Build Expired Stock" +msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1004 -msgid "Allow building with expired stock" +#: common/models.py:1005 +msgid "days" msgstr "" #: common/models.py:1010 -msgid "Stock Ownership Control" +msgid "Build Expired Stock" msgstr "" #: common/models.py:1011 -msgid "Enable ownership control over stock locations and items" +msgid "Allow building with expired stock" msgstr "" #: common/models.py:1017 -msgid "Build Order Reference Prefix" +msgid "Stock Ownership Control" msgstr "" #: common/models.py:1018 -msgid "Prefix value for build order reference" -msgstr "" - -#: common/models.py:1023 -msgid "Build Order Reference Regex" +msgid "Enable ownership control over stock locations and items" msgstr "" #: common/models.py:1024 +msgid "Build Order Reference Prefix" +msgstr "" + +#: common/models.py:1025 +msgid "Prefix value for build order reference" +msgstr "" + +#: common/models.py:1030 +msgid "Build Order Reference Regex" +msgstr "" + +#: common/models.py:1031 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1029 +#: common/models.py:1036 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1041 +#: common/models.py:1048 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1042 +#: common/models.py:1049 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1048 +#: common/models.py:1055 msgid "Enable password forgot" msgstr "" -#: common/models.py:1049 +#: common/models.py:1056 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1055 +#: common/models.py:1062 msgid "Enable registration" msgstr "" -#: common/models.py:1056 +#: common/models.py:1063 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1069 msgid "Enable SSO" msgstr "" -#: common/models.py:1063 +#: common/models.py:1070 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1069 +#: common/models.py:1076 msgid "Email required" msgstr "" -#: common/models.py:1070 +#: common/models.py:1077 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1076 +#: common/models.py:1083 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1077 +#: common/models.py:1084 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1083 +#: common/models.py:1090 msgid "Mail twice" msgstr "" -#: common/models.py:1084 +#: common/models.py:1091 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1090 +#: common/models.py:1097 msgid "Password twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1098 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1097 +#: common/models.py:1104 msgid "Group on signup" msgstr "" -#: common/models.py:1098 +#: common/models.py:1105 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1104 +#: common/models.py:1111 msgid "Enforce MFA" msgstr "" -#: common/models.py:1105 +#: common/models.py:1112 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1111 +#: common/models.py:1118 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1112 +#: common/models.py:1119 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1120 +#: common/models.py:1127 msgid "Enable URL integration" msgstr "" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1136 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1136 +#: common/models.py:1143 msgid "Enable app integration" msgstr "" -#: common/models.py:1137 +#: common/models.py:1144 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1144 +#: common/models.py:1151 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1145 +#: common/models.py:1152 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1152 +#: common/models.py:1159 msgid "Enable event integration" msgstr "" -#: common/models.py:1153 +#: common/models.py:1160 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1170 common/models.py:1492 +#: common/models.py:1177 common/models.py:1499 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1192 +#: common/models.py:1199 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1193 +#: common/models.py:1200 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1199 +#: common/models.py:1206 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1200 +#: common/models.py:1207 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1213 msgid "Show latest parts" msgstr "" -#: common/models.py:1207 +#: common/models.py:1214 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1213 +#: common/models.py:1220 msgid "Recent Part Count" msgstr "" -#: common/models.py:1214 +#: common/models.py:1221 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1220 +#: common/models.py:1227 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1221 +#: common/models.py:1228 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1227 +#: common/models.py:1234 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1228 +#: common/models.py:1235 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1235 +#: common/models.py:1242 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Show low stock" msgstr "" -#: common/models.py:1242 +#: common/models.py:1249 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Show depleted stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1256 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1262 msgid "Show needed stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1263 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1269 msgid "Show expired stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1270 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1276 msgid "Show stale stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Show pending builds" msgstr "" -#: common/models.py:1277 +#: common/models.py:1284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Show overdue builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1291 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1291 +#: common/models.py:1298 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Show overdue POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1305 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1312 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1318 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1319 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1317 +#: common/models.py:1324 msgid "Enable label printing" msgstr "" -#: common/models.py:1318 +#: common/models.py:1325 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1324 +#: common/models.py:1331 msgid "Inline label display" msgstr "" -#: common/models.py:1325 +#: common/models.py:1332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1331 +#: common/models.py:1338 msgid "Inline report display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1345 msgid "Search Parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1345 +#: common/models.py:1352 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1359 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1366 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1367 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1373 msgid "Search Categories" msgstr "" -#: common/models.py:1367 +#: common/models.py:1374 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1380 msgid "Search Stock" msgstr "" -#: common/models.py:1374 +#: common/models.py:1381 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1387 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1381 +#: common/models.py:1388 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1394 msgid "Search Locations" msgstr "" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1401 msgid "Search Companies" msgstr "" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1408 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1415 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1422 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1429 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Search Preview Results" msgstr "" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1457 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1457 +#: common/models.py:1464 msgid "Date Format" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1472 part/templates/part/detail.html:39 +#: common/models.py:1479 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1473 +#: common/models.py:1480 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1537 company/forms.py:37 +#: common/models.py:1544 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: 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 +#: common/models.py:1551 company/serializers.py:290 +#: company/templates/company/supplier_part.html:263 order/models.py:965 +#: templates/js/translated/part.js:1042 templates/js/translated/part.js:2070 msgid "Price" msgstr "" -#: common/models.py:1545 +#: common/models.py:1552 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1705 common/models.py:1883 +#: common/models.py:1712 common/models.py:1890 msgid "Endpoint" msgstr "" -#: common/models.py:1706 +#: common/models.py:1713 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1715 +#: common/models.py:1722 msgid "Name for this webhook" msgstr "" -#: common/models.py:1720 part/models.py:911 plugin/models.py:99 +#: common/models.py:1727 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 @@ -2457,79 +2474,89 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1721 +#: common/models.py:1728 msgid "Is this webhook active" msgstr "" -#: common/models.py:1735 +#: common/models.py:1742 msgid "Token" msgstr "" -#: common/models.py:1736 +#: common/models.py:1743 msgid "Token for access" msgstr "" -#: common/models.py:1743 +#: common/models.py:1750 msgid "Secret" msgstr "" -#: common/models.py:1744 +#: common/models.py:1751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Message ID" msgstr "メッセージ ID:" -#: common/models.py:1851 +#: common/models.py:1858 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1859 +#: common/models.py:1866 msgid "Host" msgstr "" -#: common/models.py:1860 +#: common/models.py:1867 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1867 +#: common/models.py:1874 msgid "Header" msgstr "" -#: common/models.py:1868 +#: common/models.py:1875 msgid "Header of this message" msgstr "" -#: common/models.py:1874 +#: common/models.py:1881 msgid "Body" msgstr "" -#: common/models.py:1875 +#: common/models.py:1882 msgid "Body of this message" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1889 +#: common/models.py:1896 msgid "Worked on" msgstr "" -#: common/models.py:1890 +#: common/models.py:1897 msgid "Was the work on this message finished?" msgstr "" +#: common/notifications.py:292 +#, python-brace-format +msgid "New {verbose_name}" +msgstr "" + +#: common/notifications.py:294 +#, python-brace-format +msgid "A new {verbose_name} has been created and ,assigned to you" +msgstr "" + #: common/views.py:87 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:191 +#: order/views.py:102 part/views.py:116 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:192 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:117 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -2545,19 +2572,19 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:511 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:16 part/forms.py:21 +#: company/forms.py:16 part/forms.py:18 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:17 part/forms.py:22 +#: company/forms.py:17 part/forms.py:19 msgid "Image URL" msgstr "" @@ -2571,7 +2598,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:405 +#: templates/js/translated/company.js:399 msgid "Website" msgstr "" @@ -2644,9 +2671,9 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: 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 +#: company/models.py:144 company/serializers.py:296 +#: company/templates/company/company_base.html:106 part/serializers.py:139 +#: part/serializers.py:170 stock/serializers.py:162 msgid "Currency" msgstr "" @@ -2667,10 +2694,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: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/company.js:383 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:617 +#: templates/js/translated/company.js:902 templates/js/translated/part.js:235 #: templates/js/translated/table_filters.js:411 msgid "Manufacturer" msgstr "" @@ -2681,11 +2708,11 @@ msgstr "" #: 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 -#: 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 +#: templates/js/translated/company.js:256 +#: templates/js/translated/company.js:483 +#: templates/js/translated/company.js:633 +#: templates/js/translated/company.js:920 templates/js/translated/order.js:1907 +#: templates/js/translated/part.js:246 templates/js/translated/part.js:1000 msgid "MPN" msgstr "" @@ -2714,9 +2741,9 @@ msgstr "" #: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2080 templates/js/translated/company.js:540 -#: templates/js/translated/company.js:763 templates/js/translated/part.js:776 -#: templates/js/translated/stock.js:1294 +#: stock/models.py:2084 templates/js/translated/company.js:531 +#: templates/js/translated/company.js:748 templates/js/translated/part.js:820 +#: templates/js/translated/stock.js:1304 msgid "Value" msgstr "" @@ -2724,10 +2751,10 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:368 part/models.py:878 part/models.py:2339 +#: company/models.py:368 part/models.py:878 part/models.py:2327 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:351 -#: templates/js/translated/company.js:769 templates/js/translated/part.js:782 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:826 msgid "Units" msgstr "" @@ -2740,13 +2767,14 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:487 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:303 +#: company/templates/company/supplier_part.html:87 order/models.py:308 #: 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 -#: 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/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:255 +#: templates/js/translated/company.js:387 +#: templates/js/translated/company.js:876 templates/js/translated/order.js:1643 +#: templates/js/translated/part.js:216 templates/js/translated/part.js:968 #: templates/js/translated/table_filters.js:415 msgid "Supplier" msgstr "" @@ -2756,9 +2784,9 @@ msgid "Select supplier" msgstr "" #: 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 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:254 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 -#: templates/js/translated/part.js:942 +#: templates/js/translated/part.js:986 msgid "SKU" msgstr "" @@ -2779,23 +2807,23 @@ msgid "Supplier part description" msgstr "" #: company/models.py:518 company/templates/company/supplier_part.html:125 -#: part/models.py:2573 part/templates/part/upload_bom.html:59 +#: part/models.py:2561 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:387 msgid "Note" msgstr "" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "base cost" msgstr "" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: 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 +#: templates/js/translated/company.js:952 templates/js/translated/stock.js:1922 msgid "Packaging" msgstr "" @@ -2803,7 +2831,7 @@ msgstr "" msgid "Part packaging" msgstr "" -#: company/models.py:526 part/models.py:1690 +#: company/models.py:526 part/models.py:1685 msgid "multiple" msgstr "" @@ -2825,7 +2853,7 @@ msgstr "" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:177 templates/js/translated/company.js:378 +#: templates/InvenTree/search.html:177 templates/js/translated/company.js:372 msgid "Company" msgstr "" @@ -2843,7 +2871,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:321 +#: templates/js/translated/company.js:315 msgid "Edit Company" msgstr "" @@ -2866,12 +2894,13 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:649 +#: company/templates/company/company_base.html:86 order/models.py:665 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:758 +#: stock/models.py:628 stock/serializers.py:745 #: 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 +#: templates/email/overdue_sales_order.html:16 +#: templates/js/translated/company.js:379 templates/js/translated/order.js:2458 +#: templates/js/translated/stock.js:2441 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "" @@ -2999,7 +3028,7 @@ msgid "Supplier List" msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:45 -#: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 +#: part/templates/part/prices.html:172 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -3012,12 +3041,12 @@ msgid "Order part" msgstr "パーツの注文" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:680 +#: templates/js/translated/company.js:665 msgid "Edit manufacturer part" msgstr "メーカー・パーツの編集" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:681 +#: templates/js/translated/company.js:666 msgid "Delete manufacturer part" msgstr "メーカー・パーツを削除" @@ -3032,7 +3061,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:39 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 +#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" msgstr "" @@ -3092,18 +3121,18 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: 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 +#: templates/js/translated/company.js:892 templates/js/translated/order.js:884 +#: templates/js/translated/stock.js:1879 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:38 -#: templates/js/translated/company.js:980 +#: templates/js/translated/company.js:965 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:42 -#: templates/js/translated/company.js:981 +#: templates/js/translated/company.js:966 msgid "Delete supplier part" msgstr "" @@ -3123,7 +3152,7 @@ msgstr "" #: company/templates/company/supplier_part.html:148 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 -#: templates/js/translated/stock.js:380 +#: templates/js/translated/stock.js:379 msgid "New Stock Item" msgstr "" @@ -3144,7 +3173,7 @@ msgstr "" #: company/templates/company/supplier_part.html:191 #: company/templates/company/supplier_part.html:305 -#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046 +#: part/templates/part/prices.html:276 templates/js/translated/part.js:2142 msgid "Add Price Break" msgstr "" @@ -3153,12 +3182,12 @@ msgid "No price break information found" msgstr "" #: company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2152 msgid "Delete Price Break" msgstr "" #: company/templates/company/supplier_part.html:245 -#: templates/js/translated/part.js:2070 +#: templates/js/translated/part.js:2166 msgid "Edit Price Break" msgstr "" @@ -3180,9 +3209,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: 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:1687 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:722 +#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1431 +#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3209,7 +3238,7 @@ msgstr "" #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 -#: templates/js/translated/stock.js:2307 users/models.py:39 +#: templates/js/translated/stock.js:2317 users/models.py:39 msgid "Stock Items" msgstr "" @@ -3238,20 +3267,20 @@ msgstr "" msgid "New Company" msgstr "" -#: company/views.py:112 part/views.py:576 +#: company/views.py:112 part/views.py:501 msgid "Download Image" msgstr "" -#: company/views.py:139 part/views.py:606 +#: company/views.py:139 part/views.py:531 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:146 part/views.py:613 +#: company/views.py:146 part/views.py:538 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:155 part/views.py:622 +#: company/views.py:155 part/views.py:547 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3320,313 +3349,314 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:133 +#: order/models.py:134 msgid "Order description" msgstr "" -#: order/models.py:135 order/models.py:1236 +#: order/models.py:136 order/models.py:1252 msgid "Link to external page" msgstr "" -#: order/models.py:143 +#: order/models.py:144 msgid "Created By" msgstr "" -#: order/models.py:150 +#: order/models.py:151 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:155 +#: order/models.py:156 msgid "Order notes" msgstr "" -#: order/models.py:289 order/models.py:639 +#: order/models.py:294 order/models.py:655 msgid "Order reference" msgstr "" -#: order/models.py:294 order/models.py:654 +#: order/models.py:299 order/models.py:670 msgid "Purchase order status" msgstr "" -#: order/models.py:304 +#: order/models.py:309 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:307 order/templates/order/order_base.html:124 +#: order/models.py:312 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:307 +#: order/models.py:312 msgid "Supplier order reference code" msgstr "" -#: order/models.py:314 +#: order/models.py:319 msgid "received by" msgstr "" -#: order/models.py:319 +#: order/models.py:324 msgid "Issue Date" msgstr "" -#: order/models.py:320 +#: order/models.py:325 msgid "Date order was issued" msgstr "" -#: order/models.py:325 +#: order/models.py:330 msgid "Target Delivery Date" msgstr "" -#: order/models.py:326 +#: order/models.py:331 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:332 +#: order/models.py:337 msgid "Date order was completed" msgstr "" -#: order/models.py:368 +#: order/models.py:373 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:512 +#: order/models.py:517 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:650 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer Reference " msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer order reference code" msgstr "" -#: order/models.py:661 +#: order/models.py:677 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:664 order/models.py:1190 +#: order/models.py:680 order/models.py:1206 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:671 +#: order/models.py:687 msgid "shipped by" msgstr "" -#: order/models.py:726 +#: order/models.py:742 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:730 +#: order/models.py:746 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:733 +#: order/models.py:749 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:736 +#: order/models.py:752 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:910 +#: order/models.py:926 msgid "Item quantity" msgstr "" -#: order/models.py:916 +#: order/models.py:932 msgid "Line item reference" msgstr "" -#: order/models.py:918 +#: order/models.py:934 msgid "Line item notes" msgstr "" -#: order/models.py:923 +#: order/models.py:939 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:941 +#: order/models.py:957 msgid "Context" msgstr "" -#: order/models.py:942 +#: order/models.py:958 msgid "Additional context for this line" msgstr "" -#: order/models.py:950 +#: order/models.py:966 msgid "Unit price" msgstr "" -#: order/models.py:980 +#: order/models.py:996 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:988 +#: order/models.py:1004 msgid "deleted" msgstr "" -#: order/models.py:994 order/models.py:1074 order/models.py:1099 -#: order/models.py:1184 order/models.py:1320 +#: order/models.py:1010 order/models.py:1090 order/models.py:1115 +#: order/models.py:1200 order/models.py:1336 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:995 order/models.py:1074 +#: order/models.py:1011 order/models.py:1090 #: 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/email/overdue_purchase_order.html:15 #: 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 +#: templates/js/translated/part.js:943 templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:2422 msgid "Purchase Order" msgstr "" -#: order/models.py:1013 +#: order/models.py:1029 msgid "Supplier part" msgstr "" -#: order/models.py:1020 order/templates/order/order_base.html:169 +#: order/models.py:1036 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/part.js:1037 templates/js/translated/part.js:1064 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1021 +#: order/models.py:1037 msgid "Number of items received" msgstr "" -#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: order/models.py:1044 part/templates/part/prices.html:181 stock/models.py:722 #: stock/serializers.py:153 stock/templates/stock/item_base.html:191 -#: templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:1910 msgid "Purchase Price" msgstr "購入金額" -#: order/models.py:1029 +#: order/models.py:1045 msgid "Unit purchase price" msgstr "" -#: order/models.py:1037 +#: order/models.py:1053 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1109 part/templates/part/part_pricing.html:112 -#: part/templates/part/prices.html:119 part/templates/part/prices.html:288 +#: order/models.py:1125 part/templates/part/part_pricing.html:115 +#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 msgid "Sale Price" msgstr "" -#: order/models.py:1110 +#: order/models.py:1126 msgid "Unit sale price" msgstr "" -#: order/models.py:1115 +#: order/models.py:1131 msgid "Shipped quantity" msgstr "" -#: order/models.py:1191 +#: order/models.py:1207 msgid "Date of shipment" msgstr "" -#: order/models.py:1198 +#: order/models.py:1214 msgid "Checked By" msgstr "" -#: order/models.py:1199 +#: order/models.py:1215 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1207 +#: order/models.py:1223 msgid "Shipment number" msgstr "" -#: order/models.py:1214 +#: order/models.py:1230 msgid "Shipment notes" msgstr "" -#: order/models.py:1221 +#: order/models.py:1237 msgid "Tracking Number" msgstr "" -#: order/models.py:1222 +#: order/models.py:1238 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1229 +#: order/models.py:1245 msgid "Invoice Number" msgstr "" -#: order/models.py:1230 +#: order/models.py:1246 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1248 +#: order/models.py:1264 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1251 +#: order/models.py:1267 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1354 order/models.py:1356 +#: order/models.py:1370 order/models.py:1372 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1360 +#: order/models.py:1376 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1362 +#: order/models.py:1378 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1365 +#: order/models.py:1381 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1369 +#: order/models.py:1385 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1375 order/serializers.py:1045 +#: order/models.py:1391 order/serializers.py:1047 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1378 +#: order/models.py:1394 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1379 +#: order/models.py:1395 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1387 +#: order/models.py:1403 msgid "Line" msgstr "" -#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 +#: order/models.py:1411 order/serializers.py:1151 order/serializers.py:1275 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1396 +#: order/models.py:1412 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1424 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1409 +#: order/models.py:1425 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Enter stock allocation quantity" msgstr "" @@ -3662,7 +3692,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1117 +#: order/serializers.py:406 order/serializers.py:1119 msgid "Line Item" msgstr "" @@ -3710,42 +3740,60 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:866 +#: order/serializers.py:868 msgid "Sale price currency" msgstr "" -#: order/serializers.py:947 +#: order/serializers.py:949 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1006 order/serializers.py:1126 +#: order/serializers.py:1008 order/serializers.py:1128 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1028 +#: order/serializers.py:1030 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1139 +#: order/serializers.py:1141 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1161 order/serializers.py:1281 +#: order/serializers.py:1163 order/serializers.py:1283 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1164 order/serializers.py:1284 +#: order/serializers.py:1166 order/serializers.py:1286 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1216 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1224 +#: order/serializers.py:1226 msgid "The following serial numbers are already allocated" msgstr "" +#: order/tasks.py:26 +msgid "Overdue Purchase Order" +msgstr "" + +#: order/tasks.py:31 +#, python-brace-format +msgid "Purchase order {po} is now overdue" +msgstr "" + +#: order/tasks.py:88 +msgid "Overdue Sales Order" +msgstr "" + +#: order/tasks.py:93 +#, python-brace-format +msgid "Sales order {so} is now overdue" +msgstr "" + #: order/templates/order/order_base.html:33 msgid "Print purchase order report" msgstr "" @@ -3870,8 +3918,8 @@ msgstr "" #: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: 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:2731 templates/js/translated/stock.js:570 -#: templates/js/translated/stock.js:738 +#: templates/js/translated/order.js:2731 templates/js/translated/stock.js:569 +#: templates/js/translated/stock.js:737 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -3990,7 +4038,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1047 #: templates/js/translated/build.js:1880 msgid "Actions" msgstr "" @@ -4021,47 +4069,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:481 +#: part/api.py:482 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:501 +#: part/api.py:502 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:519 +#: part/api.py:520 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:551 +#: part/api.py:552 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:637 +#: part/api.py:638 msgid "Valid" msgstr "" -#: part/api.py:638 +#: part/api.py:639 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:644 +#: part/api.py:645 msgid "This option must be selected" msgstr "" -#: part/api.py:1010 +#: part/api.py:1011 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1014 +#: part/api.py:1015 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1029 +#: part/api.py:1030 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1060 part/api.py:1064 part/api.py:1079 part/api.py:1083 +#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 msgid "This field is required" msgstr "" @@ -4080,17 +4128,13 @@ msgid "Available Stock" msgstr "" #: 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 +#: templates/js/translated/part.js:561 templates/js/translated/part.js:581 +#: templates/js/translated/part.js:1273 templates/js/translated/part.js:1445 +#: templates/js/translated/part.js:1461 msgid "On Order" msgstr "" -#: part/forms.py:59 -msgid "Select part category" -msgstr "" - -#: part/forms.py:69 +#: part/forms.py:60 msgid "Input quantity for price calculation" msgstr "" @@ -4106,7 +4150,7 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:115 part/models.py:2415 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2403 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -4123,7 +4167,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:144 +#: templates/js/translated/part.js:1864 templates/js/translated/search.js:144 #: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "パーツ" @@ -4153,7 +4197,7 @@ msgstr "" msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:738 part/models.py:2469 +#: part/models.py:738 part/models.py:2457 msgid "Part name" msgstr "" @@ -4186,12 +4230,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:776 part/models.py:2171 part/models.py:2414 +#: part/models.py:776 part/models.py:2159 part/models.py:2402 #: part/templates/part/part_base.html:257 -#: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 #: templates/InvenTree/settings/settings.html:231 -#: templates/js/translated/part.js:1369 +#: templates/js/translated/part.js:1413 templates/js/translated/part.js:1639 msgid "Category" msgstr "カテゴリ" @@ -4200,8 +4243,8 @@ msgid "Part category" msgstr "" #: 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 +#: templates/js/translated/part.js:710 templates/js/translated/part.js:1366 +#: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" @@ -4214,7 +4257,7 @@ msgid "Part revision or version number" msgstr "" #: part/models.py:790 part/templates/part/part_base.html:273 -#: report/models.py:170 templates/js/translated/part.js:670 +#: report/models.py:170 templates/js/translated/part.js:714 msgid "Revision" msgstr "" @@ -4302,317 +4345,321 @@ msgstr "" msgid "Creation User" msgstr "" -#: part/models.py:1690 +#: part/models.py:1685 msgid "Sell multiple" msgstr "" -#: part/models.py:2218 +#: part/models.py:2206 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2235 +#: part/models.py:2223 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2255 templates/js/translated/part.js:1819 -#: templates/js/translated/stock.js:1274 +#: part/models.py:2243 templates/js/translated/part.js:1915 +#: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2256 +#: part/models.py:2244 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2261 +#: part/models.py:2249 msgid "Test Description" msgstr "" -#: part/models.py:2262 +#: part/models.py:2250 msgid "Enter description for this test" msgstr "" -#: part/models.py:2267 templates/js/translated/part.js:1828 +#: part/models.py:2255 templates/js/translated/part.js:1924 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2268 +#: part/models.py:2256 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2273 templates/js/translated/part.js:1836 +#: part/models.py:2261 templates/js/translated/part.js:1932 msgid "Requires Value" msgstr "" -#: part/models.py:2274 +#: part/models.py:2262 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2279 templates/js/translated/part.js:1843 +#: part/models.py:2267 templates/js/translated/part.js:1939 msgid "Requires Attachment" msgstr "" -#: part/models.py:2280 +#: part/models.py:2268 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2288 +#: part/models.py:2276 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2324 +#: part/models.py:2312 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2332 +#: part/models.py:2320 msgid "Parameter Name" msgstr "" -#: part/models.py:2339 +#: part/models.py:2327 msgid "Parameter Units" msgstr "" -#: part/models.py:2370 +#: part/models.py:2358 msgid "Parent Part" msgstr "" -#: part/models.py:2372 part/models.py:2420 part/models.py:2421 +#: part/models.py:2360 part/models.py:2408 part/models.py:2409 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Data" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Parameter Value" msgstr "" -#: part/models.py:2425 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2413 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2426 +#: part/models.py:2414 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2461 +#: part/models.py:2449 msgid "Part ID or part name" msgstr "" -#: part/models.py:2464 templates/js/translated/model_renderers.js:200 +#: part/models.py:2452 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2465 +#: part/models.py:2453 msgid "Unique part ID value" msgstr "" -#: part/models.py:2468 +#: part/models.py:2456 msgid "Part Name" msgstr "" -#: part/models.py:2472 +#: part/models.py:2460 msgid "Part IPN" msgstr "" -#: part/models.py:2473 +#: part/models.py:2461 msgid "Part IPN value" msgstr "" -#: part/models.py:2476 +#: part/models.py:2464 msgid "Level" msgstr "" -#: part/models.py:2477 +#: part/models.py:2465 msgid "BOM level" msgstr "" -#: part/models.py:2546 +#: part/models.py:2534 msgid "Select parent part" msgstr "" -#: part/models.py:2554 +#: part/models.py:2542 msgid "Sub part" msgstr "" -#: part/models.py:2555 +#: part/models.py:2543 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2561 +#: part/models.py:2549 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2563 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 +#: part/models.py:2551 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:871 templates/js/translated/bom.js:965 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2563 +#: part/models.py:2551 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2566 part/templates/part/upload_bom.html:55 +#: part/models.py:2554 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2567 +#: part/models.py:2555 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2570 +#: part/models.py:2558 msgid "BOM item reference" msgstr "" -#: part/models.py:2573 +#: part/models.py:2561 msgid "BOM item notes" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "Checksum" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "BOM line checksum" msgstr "" -#: part/models.py:2579 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:988 +#: part/models.py:2567 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:982 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2580 +#: part/models.py:2568 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2585 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:980 +#: part/models.py:2573 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:974 msgid "Allow Variants" msgstr "" -#: part/models.py:2586 +#: part/models.py:2574 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2664 stock/models.py:460 +#: part/models.py:2652 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2673 part/models.py:2675 +#: part/models.py:2661 part/models.py:2663 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2780 +#: part/models.py:2768 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2801 +#: part/models.py:2789 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2814 +#: part/models.py:2802 msgid "Parent BOM item" msgstr "" -#: part/models.py:2822 +#: part/models.py:2810 msgid "Substitute part" msgstr "" -#: part/models.py:2833 +#: part/models.py:2825 msgid "Part 1" msgstr "" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Part 2" msgstr "" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Select Related Part" msgstr "" -#: part/models.py:2868 -msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" +#: part/models.py:2847 +msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 +#: part/models.py:2851 +msgid "Duplicate relationship already exists" +msgstr "" + +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:794 +#: part/serializers.py:796 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:804 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:805 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:810 msgid "Include Inherited" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:811 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:816 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:817 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:820 +#: part/serializers.py:822 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:821 +#: part/serializers.py:823 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:861 +#: part/serializers.py:863 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:864 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:894 msgid "No part column specified" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:937 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:938 +#: part/serializers.py:940 msgid "No matching part found" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:943 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:950 +#: part/serializers.py:952 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:958 +#: part/serializers.py:960 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:979 +#: part/serializers.py:981 msgid "At least one BOM item is required" msgstr "" @@ -5088,10 +5135,10 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:143 -#: templates/js/translated/company.js:623 -#: templates/js/translated/company.js:882 +#: templates/js/translated/company.js:608 +#: templates/js/translated/company.js:867 #: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:658 +#: templates/js/translated/part.js:625 templates/js/translated/part.js:702 msgid "Inactive" msgstr "" @@ -5120,13 +5167,13 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1009 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1003 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/part.js:520 -#: templates/js/translated/part.js:540 templates/js/translated/part.js:1233 -#: templates/js/translated/part.js:1405 templates/js/translated/part.js:1421 +#: part/templates/part/part_base.html:238 templates/js/translated/part.js:564 +#: templates/js/translated/part.js:584 templates/js/translated/part.js:1277 +#: templates/js/translated/part.js:1449 templates/js/translated/part.js:1465 msgid "Building" msgstr "" @@ -5143,7 +5190,7 @@ msgstr "" msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:443 part/templates/part/prices.html:147 +#: part/templates/part/part_base.html:443 part/templates/part/prices.html:149 msgid "Calculate" msgstr "" @@ -5161,54 +5208,55 @@ msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:106 -#: part/templates/part/prices.html:123 +#: part/templates/part/part_pricing.html:103 +#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 +#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:104 -#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:111 -#: part/templates/part/prices.html:128 +#: part/templates/part/part_pricing.html:107 +#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 +#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 +#: part/templates/part/prices.html:130 msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:963 +#: templates/js/translated/bom.js:957 msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:246 +#: part/templates/part/prices.html:248 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:89 +#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:96 +#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:105 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/prices.html:107 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:128 -#: part/templates/part/prices.html:137 +#: part/templates/part/part_pricing.html:131 +#: part/templates/part/prices.html:139 msgid "No pricing information is available for this part." msgstr "" @@ -5232,43 +5280,6 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:9 -#, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" -"
Disable the \"Active\" part attribute and re-try.\n" -" " -msgstr "" - -#: part/templates/part/partial_delete.html:17 -#, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" -msgstr "" - -#: part/templates/part/partial_delete.html:22 -#, python-format -msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" -msgstr "" - -#: part/templates/part/partial_delete.html:32 -#, python-format -msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:43 -#, python-format -msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:54 -#, python-format -msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:67 -#, python-format -msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." -msgstr "" - #: part/templates/part/prices.html:19 msgid "Pricing ranges" msgstr "" @@ -5285,66 +5296,58 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:120 +#: part/templates/part/prices.html:122 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:123 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:143 +#: part/templates/part/prices.html:145 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:957 +#: part/templates/part/prices.html:160 templates/js/translated/bom.js:951 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:159 part/templates/part/prices.html:180 -#: part/templates/part/prices.html:204 part/templates/part/prices.html:234 -#: part/templates/part/prices.html:260 part/templates/part/prices.html:289 +#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 +#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 +#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:184 +#: part/templates/part/prices.html:186 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:193 +#: part/templates/part/prices.html:195 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:203 +#: part/templates/part/prices.html:205 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:218 +#: part/templates/part/prices.html:220 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:233 +#: part/templates/part/prices.html:235 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:259 +#: part/templates/part/prices.html:261 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:300 +#: part/templates/part/prices.html:302 msgid "No sale pice history available for this part." msgstr "" -#: part/templates/part/set_category.html:9 -msgid "Set category for the following parts" -msgstr "" - -#: part/templates/part/set_category.html:32 -msgid "Remove part" -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543 -#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:587 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:1469 msgid "No Stock" msgstr "在庫切れ" @@ -5407,56 +5410,39 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:74 -msgid "Set Part Category" -msgstr "" - -#: part/views.py:122 -#, python-brace-format -msgid "Set category for {n} parts" -msgstr "" - -#: part/views.py:193 +#: part/views.py:118 msgid "Match References" msgstr "" -#: part/views.py:494 +#: part/views.py:419 msgid "None" msgstr "" -#: part/views.py:556 +#: part/views.py:481 msgid "Part QR Code" msgstr "" -#: part/views.py:650 +#: part/views.py:575 msgid "Select Part Image" msgstr "" -#: part/views.py:676 +#: part/views.py:601 msgid "Updated part image" msgstr "" -#: part/views.py:679 +#: part/views.py:604 msgid "Part image not found" msgstr "" -#: part/views.py:768 -msgid "Confirm Part Deletion" -msgstr "" - -#: part/views.py:776 -msgid "Part was deleted" -msgstr "" - -#: part/views.py:785 +#: part/views.py:693 msgid "Part Pricing" msgstr "" -#: part/views.py:976 +#: part/views.py:884 msgid "Delete Part Category" msgstr "" -#: part/views.py:983 +#: part/views.py:891 msgid "Part category was deleted" msgstr "" @@ -5516,21 +5502,21 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:28 +#: plugin/builtin/integration/core_notifications.py:29 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 +#: plugin/builtin/integration/core_notifications.py:30 msgid "Integrated outgoing notificaton methods" msgstr "" -#: 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:34 #: plugin/builtin/integration/core_notifications.py:53 +msgid "Enable email notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:35 +#: plugin/builtin/integration/core_notifications.py:54 msgid "Allow sending of emails for event notifications" msgstr "" @@ -5646,15 +5632,19 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:166 +#: report/api.py:179 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:198 report/api.py:239 +#: report/api.py:215 report/api.py:256 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" +#: report/api.py:359 +msgid "Test report" +msgstr "" + #: report/models.py:152 msgid "Template name" msgstr "" @@ -5757,7 +5747,7 @@ msgstr "" #: 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:3229 -#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:434 msgid "Serial Number" msgstr "" @@ -5766,19 +5756,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2068 +#: stock/models.py:2072 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2074 +#: stock/models.py:2078 msgid "Result" 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:1669 templates/js/translated/stock.js:2340 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2350 msgid "Date" msgstr "" @@ -5796,20 +5786,20 @@ msgid "Installed Items" 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:2589 +#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724 +#: templates/js/translated/stock.js:2599 msgid "Serial" msgstr "" -#: stock/api.py:504 +#: stock/api.py:505 msgid "Quantity is required" msgstr "" -#: stock/api.py:511 +#: stock/api.py:512 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:536 +#: stock/api.py:537 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5917,7 +5907,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1826 msgid "Expiry Date" msgstr "" @@ -5971,79 +5961,79 @@ msgstr "" msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1325 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1324 +#: stock/models.py:1328 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1327 +#: stock/models.py:1331 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1334 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1333 +#: stock/models.py:1337 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1340 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1343 stock/serializers.py:908 +#: stock/models.py:1347 stock/serializers.py:895 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1347 +#: stock/models.py:1351 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1355 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1359 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1524 +#: stock/models.py:1528 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1986 +#: stock/models.py:1990 msgid "Entry notes" msgstr "" -#: stock/models.py:2044 +#: stock/models.py:2048 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2050 +#: stock/models.py:2054 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2069 +#: stock/models.py:2073 msgid "Test name" msgstr "" -#: stock/models.py:2075 +#: stock/models.py:2079 msgid "Test result" msgstr "" -#: stock/models.py:2081 +#: stock/models.py:2085 msgid "Test output value" msgstr "" -#: stock/models.py:2088 +#: stock/models.py:2092 msgid "Test result attachment" msgstr "" -#: stock/models.py:2094 +#: stock/models.py:2098 msgid "Test notes" msgstr "" @@ -6064,7 +6054,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:865 stock/serializers.py:1098 +#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 msgid "Destination stock location" msgstr "" @@ -6104,63 +6094,63 @@ msgstr "" msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:707 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:724 +#: stock/serializers.py:711 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:728 +#: stock/serializers.py:715 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:759 +#: stock/serializers.py:746 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:765 +#: stock/serializers.py:752 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:773 +#: stock/serializers.py:760 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:783 stock/serializers.py:1014 +#: stock/serializers.py:770 stock/serializers.py:1001 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:872 +#: stock/serializers.py:859 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:877 +#: stock/serializers.py:864 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:878 +#: stock/serializers.py:865 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:883 +#: stock/serializers.py:870 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:884 +#: stock/serializers.py:871 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:894 +#: stock/serializers.py:881 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:976 +#: stock/serializers.py:963 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1004 +#: stock/serializers.py:991 msgid "Stock transaction notes" msgstr "" @@ -6185,7 +6175,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:298 msgid "Delete Test Data" msgstr "" @@ -6197,11 +6187,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2733 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2743 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:292 templates/js/translated/stock.js:1455 +#: stock/templates/stock/item.html:290 +msgid "Delete all test results for this stock item" +msgstr "" + +#: stock/templates/stock/item.html:323 templates/js/translated/stock.js:1465 msgid "Add Test Result" msgstr "" @@ -6388,7 +6382,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/stock.js:1842 msgid "Last Updated" msgstr "" @@ -6529,7 +6523,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:182 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:144 msgid "Convert Stock Item" msgstr "" @@ -6550,31 +6544,19 @@ msgstr "" msgid "This action cannot be easily undone" msgstr "" -#: stock/views.py:113 +#: stock/views.py:111 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:131 -msgid "Delete All Test Data" -msgstr "" - -#: stock/views.py:149 -msgid "Confirm test data deletion" -msgstr "" - -#: stock/views.py:150 -msgid "Check the confirmation box" -msgstr "" - -#: stock/views.py:165 +#: stock/views.py:127 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:216 +#: stock/views.py:178 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:229 +#: stock/views.py:191 msgid "Delete Stock Item" msgstr "" @@ -7317,8 +7299,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:56 templates/js/translated/modals.js:595 -#: templates/js/translated/modals.js:689 templates/js/translated/modals.js:997 +#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 +#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 #: templates/js/translated/order.js:928 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7390,6 +7372,10 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:630 +msgid "Confirm" +msgstr "確認" + #: templates/account/email_confirm.html:27 #, python-format msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." @@ -7562,7 +7548,7 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:112 msgid "Delete Attachments" msgstr "" @@ -7596,15 +7582,15 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1425 +#: templates/js/translated/bom.js:1419 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: 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/bom.js:884 templates/js/translated/build.js:1787 +#: templates/js/translated/build.js:2650 templates/js/translated/part.js:571 +#: templates/js/translated/part.js:574 #: templates/js/translated/table_filters.js:178 msgid "Available" msgstr "" @@ -7622,6 +7608,13 @@ msgstr "" msgid "Minimum Quantity" msgstr "" +#: templates/email/new_order_assigned.html:9 +#: templates/email/overdue_build_order.html:9 +#: templates/email/overdue_purchase_order.html:9 +#: templates/email/overdue_sales_order.html:9 +msgid "Click on the following link to view this order" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -7638,91 +7631,91 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:235 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1073 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1074 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:242 +#: templates/js/translated/api.js:202 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:243 +#: templates/js/translated/api.js:203 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1083 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1084 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:252 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1088 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:253 templates/js/translated/modals.js:1083 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1089 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1093 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1088 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1094 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:262 +#: templates/js/translated/api.js:222 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:263 +#: templates/js/translated/api.js:223 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:267 templates/js/translated/modals.js:1092 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1098 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:268 templates/js/translated/modals.js:1093 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1099 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:271 +#: templates/js/translated/api.js:231 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:272 +#: templates/js/translated/api.js:232 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:96 +#: templates/js/translated/attachment.js:98 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:156 +#: templates/js/translated/attachment.js:152 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:180 +#: templates/js/translated/attachment.js:176 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:246 +#: templates/js/translated/attachment.js:242 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:262 +#: templates/js/translated/attachment.js:264 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:269 +#: templates/js/translated/attachment.js:271 msgid "Delete attachment" msgstr "" @@ -7755,7 +7748,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "Invalid server response" msgstr "" @@ -7783,7 +7776,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999 +#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:998 msgid "Remove stock item" msgstr "" @@ -7918,89 +7911,89 @@ msgstr "" msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:682 +#: templates/js/translated/bom.js:684 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:697 +#: templates/js/translated/bom.js:699 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:824 +#: templates/js/translated/bom.js:818 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:834 +#: templates/js/translated/bom.js:828 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:838 templates/js/translated/build.js:1769 +#: templates/js/translated/bom.js:832 templates/js/translated/build.js:1769 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/bom.js:900 templates/js/translated/build.js:1814 #: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:910 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:904 templates/js/translated/build.js:1818 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:912 templates/js/translated/build.js:1820 -#: templates/js/translated/part.js:690 +#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1820 +#: templates/js/translated/part.js:734 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:914 templates/js/translated/build.js:1822 +#: templates/js/translated/bom.js:908 templates/js/translated/build.js:1822 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:928 +#: templates/js/translated/bom.js:922 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:943 +#: templates/js/translated/bom.js:937 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:950 +#: templates/js/translated/bom.js:944 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:999 templates/js/translated/bom.js:1090 +#: templates/js/translated/bom.js:993 templates/js/translated/bom.js:1084 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1061 +#: templates/js/translated/bom.js:1055 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1063 +#: templates/js/translated/bom.js:1057 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1065 +#: templates/js/translated/bom.js:1059 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1067 templates/js/translated/bom.js:1228 +#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1222 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1069 +#: templates/js/translated/bom.js:1063 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1164 templates/js/translated/build.js:1615 +#: templates/js/translated/bom.js:1158 templates/js/translated/build.js:1615 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1408 templates/js/translated/build.js:1753 +#: templates/js/translated/bom.js:1402 templates/js/translated/build.js:1753 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1430 +#: templates/js/translated/bom.js:1424 msgid "Inherited from parent BOM" msgstr "" @@ -8040,13 +8033,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91 -#: templates/js/translated/stock.js:181 +#: templates/js/translated/build.js:259 templates/js/translated/stock.js:90 +#: templates/js/translated/stock.js:180 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93 -#: templates/js/translated/stock.js:183 +#: templates/js/translated/build.js:261 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:182 msgid "Latest serial number" msgstr "" @@ -8259,9 +8252,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: 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 +#: templates/js/translated/build.js:2448 templates/js/translated/part.js:1358 +#: templates/js/translated/part.js:1825 templates/js/translated/stock.js:1629 +#: templates/js/translated/stock.js:2287 msgid "Select" msgstr "" @@ -8273,7 +8266,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2519 +#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2529 msgid "No user information" msgstr "" @@ -8285,107 +8278,107 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:169 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:168 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "メーカー・パーツの編集" -#: templates/js/translated/company.js:157 templates/js/translated/order.js:506 +#: templates/js/translated/company.js:156 templates/js/translated/order.js:506 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:185 +#: templates/js/translated/company.js:184 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:200 +#: templates/js/translated/company.js:199 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:249 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:263 +#: templates/js/translated/company.js:264 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:342 +#: templates/js/translated/company.js:336 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:413 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:428 +#: templates/js/translated/company.js:422 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:443 +#: templates/js/translated/company.js:437 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:478 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:492 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:526 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:548 +#: templates/js/translated/company.js:539 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:595 +#: templates/js/translated/company.js:580 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:615 -#: templates/js/translated/company.js:874 templates/js/translated/part.js:565 -#: templates/js/translated/part.js:650 +#: templates/js/translated/company.js:600 +#: templates/js/translated/company.js:859 templates/js/translated/part.js:609 +#: templates/js/translated/part.js:694 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:619 -#: templates/js/translated/company.js:878 templates/js/translated/part.js:569 -#: templates/js/translated/part.js:654 +#: templates/js/translated/company.js:604 +#: templates/js/translated/company.js:863 templates/js/translated/part.js:613 +#: templates/js/translated/part.js:698 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:747 templates/js/translated/part.js:757 +#: templates/js/translated/company.js:732 templates/js/translated/part.js:801 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:799 +#: templates/js/translated/company.js:769 templates/js/translated/part.js:843 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:785 templates/js/translated/part.js:800 +#: templates/js/translated/company.js:770 templates/js/translated/part.js:844 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:804 templates/js/translated/part.js:817 +#: templates/js/translated/company.js:789 templates/js/translated/part.js:861 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:815 templates/js/translated/part.js:829 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:873 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:854 +#: templates/js/translated/company.js:839 msgid "No supplier parts found" msgstr "" @@ -8448,36 +8441,36 @@ msgstr "" msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:756 +#: templates/js/translated/forms.js:757 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1248 templates/modals.html:19 +#: templates/js/translated/forms.js:1249 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1681 +#: templates/js/translated/forms.js:1682 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1896 templates/search.html:29 +#: templates/js/translated/forms.js:1897 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2149 +#: templates/js/translated/forms.js:2150 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2627 +#: templates/js/translated/forms.js:2628 msgid "Select Columns" msgstr "" @@ -8498,7 +8491,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1023 +#: templates/js/translated/stock.js:1022 msgid "Select Stock Items" msgstr "" @@ -8552,12 +8545,12 @@ msgid "Select Label Template" msgstr "" #: templates/js/translated/modals.js:82 templates/js/translated/modals.js:142 -#: templates/js/translated/modals.js:621 +#: templates/js/translated/modals.js:627 msgid "Cancel" msgstr "" #: 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/js/translated/modals.js:694 templates/js/translated/modals.js:1002 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" @@ -8566,47 +8559,47 @@ msgstr "" msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:403 +#: templates/js/translated/modals.js:421 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:562 +#: templates/js/translated/modals.js:568 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:620 +#: templates/js/translated/modals.js:626 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:677 +#: templates/js/translated/modals.js:683 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:960 +#: templates/js/translated/modals.js:966 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1072 +#: templates/js/translated/modals.js:1078 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1073 +#: templates/js/translated/modals.js:1079 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1096 +#: templates/js/translated/modals.js:1102 msgid "Error requesting form data" msgstr "" @@ -8656,11 +8649,11 @@ msgstr "" msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:259 +#: templates/js/translated/notification.js:260 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:300 templates/notifications.html:10 +#: templates/js/translated/notification.js:302 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" @@ -8804,7 +8797,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2080 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2090 msgid "Stock Status" msgstr "" @@ -8828,7 +8821,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1602 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1602 templates/js/translated/part.js:914 msgid "No purchase orders found" msgstr "" @@ -8863,7 +8856,7 @@ msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 #: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 -#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 +#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2397 msgid "Unit Price" msgstr "" @@ -8873,11 +8866,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:1993 templates/js/translated/order.js:3525 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:1023 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1069 msgid "Receive line item" msgstr "" @@ -8998,7 +8991,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1535 +#: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" @@ -9138,165 +9131,209 @@ msgstr "" msgid "Create Part Variant" msgstr "" +#: templates/js/translated/part.js:405 +msgid "Active Part" +msgstr "" + +#: templates/js/translated/part.js:406 +msgid "Part cannot be deleted as it is currently active" +msgstr "" + +#: templates/js/translated/part.js:420 +msgid "Deleting this part cannot be reversed" +msgstr "" + +#: templates/js/translated/part.js:422 +msgid "Any stock items for this part will be deleted" +msgstr "" + #: templates/js/translated/part.js:423 +msgid "This part will be removed from any Bills of Material" +msgstr "" + +#: templates/js/translated/part.js:424 +msgid "All manufacturer and supplier information for this part will be deleted" +msgstr "" + +#: templates/js/translated/part.js:431 +msgid "Delete Part" +msgstr "" + +#: templates/js/translated/part.js:467 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:425 +#: templates/js/translated/part.js:469 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:474 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:476 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:493 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:503 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:506 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:487 +#: templates/js/translated/part.js:531 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:513 templates/js/translated/part.js:1397 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1441 #: templates/js/translated/table_filters.js:452 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:523 templates/js/translated/part.js:1409 +#: templates/js/translated/part.js:567 templates/js/translated/part.js:1453 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:557 templates/js/translated/part.js:642 +#: templates/js/translated/part.js:601 templates/js/translated/part.js:686 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:561 templates/js/translated/part.js:646 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:690 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:617 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:577 +#: templates/js/translated/part.js:621 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:705 +#: templates/js/translated/part.js:749 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1095 +#: templates/js/translated/part.js:1139 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1119 +#: templates/js/translated/part.js:1163 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1184 templates/js/translated/part.js:1480 +#: templates/js/translated/part.js:1228 templates/js/translated/part.js:1524 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1223 +#: templates/js/translated/part.js:1267 msgid "Not available" msgstr "" -#: templates/js/translated/part.js:1374 +#: templates/js/translated/part.js:1418 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664 -#: templates/js/translated/stock.js:2238 +#: templates/js/translated/part.js:1548 templates/js/translated/part.js:1760 +#: templates/js/translated/stock.js:2248 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1520 +#: templates/js/translated/part.js:1564 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2257 +#: templates/js/translated/part.js:1630 +msgid "Set the part category for the selected parts" +msgstr "" + +#: templates/js/translated/part.js:1635 +msgid "Set Part Category" +msgstr "" + +#: templates/js/translated/part.js:1640 +msgid "Select Part Category" +msgstr "" + +#: templates/js/translated/part.js:1653 +msgid "Category is required" +msgstr "" + +#: templates/js/translated/part.js:1779 templates/js/translated/stock.js:2267 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1747 +#: templates/js/translated/part.js:1843 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2301 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2311 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:1901 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1233 +#: templates/js/translated/part.js:1952 templates/js/translated/stock.js:1243 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1234 -#: templates/js/translated/stock.js:1493 +#: templates/js/translated/part.js:1953 templates/js/translated/stock.js:1244 +#: templates/js/translated/stock.js:1503 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1863 +#: templates/js/translated/part.js:1959 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1885 +#: templates/js/translated/part.js:1981 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:1995 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1924 +#: templates/js/translated/part.js:2020 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1981 +#: templates/js/translated/part.js:2077 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1982 +#: templates/js/translated/part.js:2078 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:2096 +#: templates/js/translated/part.js:2192 msgid "Current Stock" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2225 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2155 +#: templates/js/translated/part.js:2251 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2225 +#: templates/js/translated/part.js:2321 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:2244 +#: templates/js/translated/part.js:2340 msgid "Single Price Difference" msgstr "" @@ -9378,360 +9415,360 @@ msgstr "" msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:72 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:101 +#: templates/js/translated/stock.js:100 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:109 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:139 +#: templates/js/translated/stock.js:138 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:153 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:194 +#: templates/js/translated/stock.js:193 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:233 +#: templates/js/translated/stock.js:232 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:239 +#: templates/js/translated/stock.js:238 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:303 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:324 +#: templates/js/translated/stock.js:323 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:344 +#: templates/js/translated/stock.js:343 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:394 +#: templates/js/translated/stock.js:393 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:407 +#: templates/js/translated/stock.js:406 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:431 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:453 +#: templates/js/translated/stock.js:452 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:472 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:481 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:605 +#: templates/js/translated/stock.js:604 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:606 +#: templates/js/translated/stock.js:605 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:683 +#: templates/js/translated/stock.js:682 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:684 +#: templates/js/translated/stock.js:683 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:686 +#: templates/js/translated/stock.js:685 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:687 +#: templates/js/translated/stock.js:686 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:772 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:774 +#: templates/js/translated/stock.js:773 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:869 +#: templates/js/translated/stock.js:868 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:869 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:876 +#: templates/js/translated/stock.js:875 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:876 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:881 +#: templates/js/translated/stock.js:880 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:882 +#: templates/js/translated/stock.js:881 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:886 +#: templates/js/translated/stock.js:885 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:887 users/models.py:215 +#: templates/js/translated/stock.js:886 users/models.py:215 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1024 +#: templates/js/translated/stock.js:1023 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1047 +#: templates/js/translated/stock.js:1046 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1172 +#: templates/js/translated/stock.js:1182 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1174 +#: templates/js/translated/stock.js:1184 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1179 +#: templates/js/translated/stock.js:1189 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1226 +#: templates/js/translated/stock.js:1236 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1229 +#: templates/js/translated/stock.js:1239 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1255 +#: templates/js/translated/stock.js:1265 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1321 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1476 +#: templates/js/translated/stock.js:1486 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1498 +#: templates/js/translated/stock.js:1508 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1527 +#: templates/js/translated/stock.js:1537 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1531 +#: templates/js/translated/stock.js:1541 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1539 +#: templates/js/translated/stock.js:1549 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1545 +#: templates/js/translated/stock.js:1555 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1712 +#: templates/js/translated/stock.js:1722 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1727 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1720 +#: templates/js/translated/stock.js:1730 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1723 +#: templates/js/translated/stock.js:1733 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1725 +#: templates/js/translated/stock.js:1735 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1727 +#: templates/js/translated/stock.js:1737 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1730 +#: templates/js/translated/stock.js:1740 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1734 +#: templates/js/translated/stock.js:1744 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1746 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1743 +#: templates/js/translated/stock.js:1753 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1755 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:1757 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1751 +#: templates/js/translated/stock.js:1761 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1802 +#: templates/js/translated/stock.js:1812 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1894 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1932 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2095 +#: templates/js/translated/stock.js:2105 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2109 +#: templates/js/translated/stock.js:2119 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2120 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2375 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2381 +#: templates/js/translated/stock.js:2391 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2403 +#: templates/js/translated/stock.js:2413 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2422 +#: templates/js/translated/stock.js:2432 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2441 +#: templates/js/translated/stock.js:2451 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2459 +#: templates/js/translated/stock.js:2469 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2482 +#: templates/js/translated/stock.js:2492 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2490 +#: templates/js/translated/stock.js:2500 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2566 +#: templates/js/translated/stock.js:2576 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2617 templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2663 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2666 +#: templates/js/translated/stock.js:2676 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2697 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2688 +#: templates/js/translated/stock.js:2698 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2690 +#: templates/js/translated/stock.js:2700 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/stock.js:2701 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2702 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2693 +#: templates/js/translated/stock.js:2703 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2716 msgid "Select part to install" msgstr "" diff --git a/InvenTree/locale/ko/LC_MESSAGES/django.po b/InvenTree/locale/ko/LC_MESSAGES/django.po index 8c460c8c65..680fca08d2 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-06-05 14:26+0000\n" -"PO-Revision-Date: 2022-06-05 14:34\n" +"POT-Creation-Date: 2022-06-06 22:59+0000\n" +"PO-Revision-Date: 2022-06-07 14:34\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:46 +#: InvenTree/api.py:49 msgid "API endpoint not found" msgstr "" @@ -29,275 +29,273 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:630 -msgid "Confirm" -msgstr "확인" - -#: InvenTree/forms.py:134 +#: InvenTree/forms.py:117 msgid "Confirm delete" msgstr "" -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:118 msgid "Confirm item deletion" msgstr "" -#: InvenTree/forms.py:167 +#: InvenTree/forms.py:150 msgid "Enter password" msgstr "비밀번호를 입력하세요" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:151 msgid "Enter new password" msgstr "새로운 비밀번호를 입력하세요" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:158 msgid "Confirm password" msgstr "비밀번호 확인" -#: InvenTree/forms.py:176 +#: InvenTree/forms.py:159 msgid "Confirm new password" msgstr "새 비밀번호 확인" -#: InvenTree/forms.py:213 -msgid "Select Category" -msgstr "" - -#: InvenTree/forms.py:234 +#: InvenTree/forms.py:184 msgid "Email (again)" msgstr "이메일 (다시 입력)" -#: InvenTree/forms.py:238 +#: InvenTree/forms.py:188 msgid "Email address confirmation" msgstr "이메일 주소 확인" -#: InvenTree/forms.py:259 +#: InvenTree/forms.py:209 msgid "You must type the same email each time." msgstr "" -#: InvenTree/helpers.py:402 +#: InvenTree/helpers.py:404 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 +#: InvenTree/helpers.py:411 order/models.py:370 order/models.py:522 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:412 +#: InvenTree/helpers.py:414 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:444 +#: InvenTree/helpers.py:446 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:447 +#: InvenTree/helpers.py:449 #, python-brace-format msgid "Invalid group: {g}" msgstr "" -#: InvenTree/helpers.py:475 +#: InvenTree/helpers.py:477 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:483 +#: InvenTree/helpers.py:485 #, python-brace-format msgid "Invalid/no group {group}" msgstr "" -#: InvenTree/helpers.py:489 +#: InvenTree/helpers.py:491 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:493 +#: InvenTree/helpers.py:495 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:174 +#: InvenTree/models.py:178 msgid "Missing file" msgstr "" -#: InvenTree/models.py:175 +#: InvenTree/models.py:179 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:187 stock/models.py:2087 -#: templates/js/translated/attachment.js:101 -#: templates/js/translated/attachment.js:198 +#: InvenTree/models.py:191 stock/models.py:2091 +#: templates/js/translated/attachment.js:103 +#: templates/js/translated/attachment.js:194 msgid "Attachment" msgstr "첨부파일" -#: InvenTree/models.py:188 +#: InvenTree/models.py:192 msgid "Select file to attach" msgstr "첨부할 파일을 선택하세요" -#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 -#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: InvenTree/models.py:198 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:136 order/models.py:1251 #: 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 -#: templates/js/translated/part.js:1441 +#: templates/js/translated/company.js:640 +#: templates/js/translated/company.js:931 templates/js/translated/order.js:2676 +#: templates/js/translated/part.js:1485 msgid "Link" msgstr "링크" -#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: InvenTree/models.py:199 build/models.py:320 part/models.py:796 #: stock/models.py:642 msgid "Link to external URL" msgstr "외부 URL로 링크" -#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 -#: templates/js/translated/attachment.js:242 +#: InvenTree/models.py:202 templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:238 msgid "Comment" msgstr "" -#: InvenTree/models.py:198 +#: InvenTree/models.py:202 msgid "File comment" msgstr "" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1506 +#: common/models.py:1507 common/models.py:1735 common/models.py:1736 +#: common/models.py:1998 common/models.py:1999 part/models.py:2141 +#: part/models.py:2161 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:2523 msgid "User" msgstr "사용자" -#: InvenTree/models.py:208 +#: InvenTree/models.py:212 msgid "upload date" msgstr "업로드 날짜" -#: InvenTree/models.py:230 +#: InvenTree/models.py:234 msgid "Filename must not be empty" msgstr "파일명은 비워둘 수 없습니다" -#: InvenTree/models.py:253 +#: InvenTree/models.py:257 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:263 +#: InvenTree/models.py:267 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "파일명에 허용되지 않은 문자 '{c}'가 포함되어 있습니다" -#: InvenTree/models.py:266 +#: InvenTree/models.py:270 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:273 +#: InvenTree/models.py:277 msgid "Attachment with this filename already exists" msgstr "같은 이름의 첨부파일이 이미 존재합니다" -#: InvenTree/models.py:280 +#: InvenTree/models.py:284 msgid "Error renaming file" msgstr "파일 이름 바꾸기 오류" -#: InvenTree/models.py:314 +#: InvenTree/models.py:318 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 #: company/models.py:354 label/models.py:101 part/models.py:739 -#: part/models.py:2331 plugin/models.py:93 report/models.py:151 +#: part/models.py:2319 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 #: templates/InvenTree/settings/plugin.html:132 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:346 -#: 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:2283 +#: templates/js/translated/company.js:530 +#: templates/js/translated/company.js:742 templates/js/translated/part.js:659 +#: templates/js/translated/part.js:811 templates/js/translated/part.js:1832 +#: templates/js/translated/stock.js:2293 msgid "Name" msgstr "이름" -#: InvenTree/models.py:340 build/models.py:197 +#: InvenTree/models.py:344 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: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:164 +#: order/models.py:134 part/models.py:762 part/templates/part/category.html:74 +#: part/templates/part/part_base.html:167 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 -#: 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/bom.js:553 templates/js/translated/bom.js:845 +#: templates/js/translated/build.js:2476 templates/js/translated/company.js:395 +#: templates/js/translated/company.js:651 +#: templates/js/translated/company.js:942 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:1676 -#: templates/js/translated/stock.js:2295 templates/js/translated/stock.js:2350 +#: templates/js/translated/part.js:718 templates/js/translated/part.js:1126 +#: templates/js/translated/part.js:1399 templates/js/translated/part.js:1851 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:1686 +#: templates/js/translated/stock.js:2305 templates/js/translated/stock.js:2360 msgid "Description" msgstr "설명" -#: InvenTree/models.py:341 +#: InvenTree/models.py:345 msgid "Description (optional)" msgstr "설명 (선택 사항)" -#: InvenTree/models.py:349 +#: InvenTree/models.py:353 msgid "parent" msgstr "" -#: InvenTree/serializers.py:52 part/models.py:2652 +#: InvenTree/models.py:466 +msgid "Server Error" +msgstr "" + +#: InvenTree/models.py:467 +msgid "An error has been logged by the server." +msgstr "" + +#: InvenTree/serializers.py:52 part/models.py:2640 msgid "Must be a valid number" msgstr "유효한 숫자여야 합니다" -#: InvenTree/serializers.py:271 +#: InvenTree/serializers.py:263 msgid "Filename" msgstr "파일명" -#: InvenTree/serializers.py:306 +#: InvenTree/serializers.py:298 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:320 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:321 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:342 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:348 msgid "File is too large" msgstr "파일이 너무 큽니다" -#: InvenTree/serializers.py:377 +#: InvenTree/serializers.py:369 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:372 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:495 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:506 +#: InvenTree/serializers.py:498 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:583 +#: InvenTree/serializers.py:575 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:592 +#: InvenTree/serializers.py:584 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" @@ -440,7 +438,7 @@ msgstr "" msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:141 order/models.py:1114 +#: InvenTree/status_codes.py:141 order/models.py:1130 #: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "" @@ -525,7 +523,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2020 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2030 msgid "Merged stock items" msgstr "" @@ -597,27 +595,27 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:522 +#: InvenTree/views.py:521 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:571 +#: InvenTree/views.py:570 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:585 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "사용자 정보 수정" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:597 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "비밀번호 설정" -#: InvenTree/views.py:618 +#: InvenTree/views.py:617 msgid "Password fields must match" msgstr "비밀번호가 일치해야 합니다" -#: InvenTree/views.py:842 templates/navbar.html:152 +#: InvenTree/views.py:807 templates/navbar.html:152 msgid "System Information" msgstr "시스템 정보" @@ -628,6 +626,7 @@ msgstr "" #: 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/email/overdue_build_order.html:15 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "" @@ -646,12 +645,12 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:189 order/models.py:288 order/models.py:638 -#: order/models.py:916 part/models.py:2570 +#: build/models.py:189 order/models.py:293 order/models.py:654 +#: order/models.py:932 part/models.py:2558 #: 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/bom.js:690 templates/js/translated/bom.js:852 #: 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:3959 @@ -673,13 +672,12 @@ msgstr "" #: 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:2460 part/models.py:2545 part/models.py:2821 -#: part/serializers.py:793 part/templates/part/part_app_base.html:8 +#: order/models.py:1028 order/models.py:1119 part/models.py:336 +#: part/models.py:2087 part/models.py:2102 part/models.py:2121 +#: part/models.py:2139 part/models.py:2238 part/models.py:2358 +#: part/models.py:2448 part/models.py:2533 part/models.py:2809 +#: part/serializers.py:795 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 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 @@ -687,22 +685,23 @@ msgstr "" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 +#: templates/email/overdue_build_order.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:805 +#: templates/js/translated/bom.js:689 templates/js/translated/bom.js:799 #: 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/company.js:253 +#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:592 +#: templates/js/translated/company.js:851 templates/js/translated/order.js:100 #: templates/js/translated/order.js:883 templates/js/translated/order.js:1315 #: 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:1633 templates/js/translated/stock.js:2376 -#: templates/js/translated/stock.js:2571 templates/js/translated/stock.js:2705 +#: templates/js/translated/part.js:1111 templates/js/translated/part.js:1181 +#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:695 templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2386 +#: templates/js/translated/stock.js:2581 templates/js/translated/stock.js:2715 msgid "Part" msgstr "" @@ -768,12 +767,12 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:282 order/models.py:137 part/models.py:932 +#: build/models.py:282 order/models.py:138 part/models.py:932 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "" -#: build/models.py:286 order/models.py:660 +#: build/models.py:286 order/models.py:676 msgid "Target completion date" msgstr "" @@ -781,7 +780,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:290 order/models.py:331 +#: build/models.py:290 order/models.py:336 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "" @@ -799,7 +798,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:313 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:151 +#: build/templates/build/detail.html:115 order/models.py:152 #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 @@ -822,20 +821,20 @@ msgstr "외부 링크" #: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 #: company/models.py:519 company/templates/company/sidebar.html:25 -#: order/models.py:155 order/models.py:918 order/models.py:1213 +#: order/models.py:156 order/models.py:934 order/models.py:1229 #: order/templates/order/po_sidebar.html:11 #: 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:713 stock/models.py:1985 stock/models.py:2093 +#: stock/models.py:713 stock/models.py:1989 stock/models.py:2097 #: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:486 -#: stock/serializers.py:772 stock/serializers.py:871 stock/serializers.py:1003 +#: stock/serializers.py:759 stock/serializers.py:858 stock/serializers.py:990 #: 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/barcode.js:100 templates/js/translated/bom.js:1038 +#: templates/js/translated/company.js:947 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 -#: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 +#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1926 msgid "Notes" msgstr "" @@ -855,44 +854,44 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1108 +#: build/models.py:1111 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1117 +#: build/models.py:1120 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1127 +#: build/models.py:1130 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1133 order/models.py:1372 +#: build/models.py:1136 order/models.py:1388 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1139 +#: build/models.py:1142 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1196 +#: build/models.py:1199 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1265 stock/templates/stock/item_base.html:177 +#: build/models.py:1268 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:1266 +#: build/models.py:1269 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 -#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:703 -#: stock/serializers.py:829 stock/templates/stock/item_base.html:10 +#: build/models.py:1285 build/serializers.py:603 order/serializers.py:996 +#: order/serializers.py:1017 stock/serializers.py:382 stock/serializers.py:690 +#: stock/serializers.py:816 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 @@ -900,22 +899,22 @@ msgstr "" #: 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:2449 +#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696 +#: templates/js/translated/stock.js:2459 msgid "Stock Item" msgstr "" -#: build/models.py:1283 +#: build/models.py:1286 msgid "Source stock item" msgstr "" -#: build/models.py:1295 build/serializers.py:183 +#: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1536 +#: build/templates/build/detail.html:34 common/models.py:1543 #: 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:68 -#: part/forms.py:83 part/forms.py:98 part/models.py:2561 +#: order/models.py:925 order/models.py:1428 order/serializers.py:1136 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 +#: part/forms.py:74 part/forms.py:89 part/models.py:2549 #: 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 @@ -926,8 +925,8 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:139 #: 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 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:691 +#: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 #: templates/js/translated/build.js:574 templates/js/translated/build.js:765 #: templates/js/translated/build.js:1175 templates/js/translated/build.js:1673 #: templates/js/translated/build.js:2086 @@ -937,23 +936,23 @@ msgstr "" #: 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: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 -#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727 -#: templates/js/translated/stock.js:2498 templates/js/translated/stock.js:2583 +#: templates/js/translated/part.js:1011 templates/js/translated/part.js:2065 +#: templates/js/translated/part.js:2296 templates/js/translated/part.js:2330 +#: templates/js/translated/part.js:2408 templates/js/translated/stock.js:402 +#: templates/js/translated/stock.js:556 templates/js/translated/stock.js:726 +#: templates/js/translated/stock.js:2508 templates/js/translated/stock.js:2593 msgid "Quantity" msgstr "수량" -#: build/models.py:1296 +#: build/models.py:1299 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1304 +#: build/models.py:1307 msgid "Install into" msgstr "" -#: build/models.py:1305 +#: build/models.py:1308 msgid "Destination stock item" msgstr "" @@ -982,9 +981,9 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: 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:1239 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:368 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:514 +#: part/serializers.py:958 stock/models.py:470 stock/models.py:1239 #: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "수량 값은 0보다 커야 합니다" @@ -997,9 +996,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 #: stock/serializers.py:297 templates/js/translated/order.js:1186 -#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:237 templates/js/translated/stock.js:403 msgid "Serial Numbers" msgstr "일련번호" @@ -1015,7 +1014,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:552 +#: build/serializers.py:268 stock/api.py:553 msgid "The following serial numbers already exist" msgstr "" @@ -1025,16 +1024,16 @@ msgstr "" #: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 #: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:481 -#: stock/serializers.py:864 stock/serializers.py:1097 +#: stock/serializers.py:851 stock/serializers.py:1084 #: 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 #: 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:1787 templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532 +#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904 +#: templates/js/translated/stock.js:1797 templates/js/translated/stock.js:2400 msgid "Location" msgstr "위치" @@ -1043,12 +1042,12 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:363 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:654 +#: build/templates/build/detail.html:62 order/models.py:670 #: 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 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1772 +#: templates/js/translated/stock.js:2477 templates/js/translated/stock.js:2609 msgid "Status" msgstr "상태" @@ -1108,8 +1107,8 @@ msgstr "" msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:535 build/serializers.py:580 part/models.py:2679 -#: part/models.py:2813 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2667 +#: part/models.py:2801 msgid "BOM Item" msgstr "" @@ -1125,11 +1124,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:716 +#: build/serializers.py:609 stock/serializers.py:703 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:667 order/serializers.py:1052 +#: build/serializers.py:667 order/serializers.py:1054 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1146,7 +1145,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:708 order/serializers.py:1298 +#: build/serializers.py:708 order/serializers.py:1300 msgid "Allocation items must be provided" msgstr "" @@ -1178,10 +1177,19 @@ msgstr "" msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:96 +#: build/tasks.py:100 msgid "Stock required for build order" msgstr "" +#: build/tasks.py:118 +msgid "Overdue Build Order" +msgstr "" + +#: build/tasks.py:123 +#, python-brace-format +msgid "Build order {bo} is now overdue" +msgstr "" + #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 #: order/templates/order/sales_order_base.html:38 @@ -1244,13 +1252,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:922 +#: build/templates/build/detail.html:131 order/models.py:938 #: 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: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 +#: templates/js/translated/order.js:3517 templates/js/translated/part.js:1015 msgid "Target Date" msgstr "" @@ -1277,13 +1285,14 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1100 -#: order/models.py:1185 order/models.py:1320 +#: build/templates/build/detail.html:94 order/models.py:1116 +#: order/models.py:1201 order/models.py:1336 #: 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/email/overdue_sales_order.html:15 #: templates/js/translated/order.js:2436 msgid "Sales Order" msgstr "" @@ -1319,7 +1328,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1034 +#: build/templates/build/detail.html:49 order/models.py:1050 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "" @@ -1336,8 +1345,8 @@ msgstr "" #: stock/templates/stock/item_base.html:170 #: templates/js/translated/build.js:1179 #: templates/js/translated/model_renderers.js:112 -#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1776 -#: templates/js/translated/stock.js:2606 +#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:2616 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1716,7 +1725,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:820 part/models.py:2372 report/models.py:157 +#: common/models.py:820 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" @@ -1726,7 +1735,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" @@ -1880,7 +1889,7 @@ msgid "Default page size for PDF reports" msgstr "PDF 보고서 기본 페이지 크기" #: common/models.py:968 -msgid "Test Reports" +msgid "Enable Test Reports" msgstr "" #: common/models.py:969 @@ -1888,568 +1897,576 @@ msgid "Enable generation of test reports" msgstr "" #: common/models.py:975 -msgid "Batch Code Template" +msgid "Attach Test Reports" msgstr "" #: common/models.py:976 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:981 -msgid "Stock Expiry" +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" #: common/models.py:982 -msgid "Enable stock expiry functionality" +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:983 +msgid "Template for generating default batch codes for stock items" msgstr "" #: common/models.py:988 -msgid "Sell Expired Stock" +msgid "Stock Expiry" msgstr "" #: common/models.py:989 -msgid "Allow sale of expired stock" +msgid "Enable stock expiry functionality" msgstr "" #: common/models.py:995 -msgid "Stock Stale Time" +msgid "Sell Expired Stock" msgstr "" #: common/models.py:996 -msgid "Number of days stock items are considered stale before expiring" +msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:998 -msgid "days" +#: common/models.py:1002 +msgid "Stock Stale Time" msgstr "" #: common/models.py:1003 -msgid "Build Expired Stock" +msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1004 -msgid "Allow building with expired stock" +#: common/models.py:1005 +msgid "days" msgstr "" #: common/models.py:1010 -msgid "Stock Ownership Control" +msgid "Build Expired Stock" msgstr "" #: common/models.py:1011 -msgid "Enable ownership control over stock locations and items" +msgid "Allow building with expired stock" msgstr "" #: common/models.py:1017 -msgid "Build Order Reference Prefix" +msgid "Stock Ownership Control" msgstr "" #: common/models.py:1018 -msgid "Prefix value for build order reference" -msgstr "" - -#: common/models.py:1023 -msgid "Build Order Reference Regex" +msgid "Enable ownership control over stock locations and items" msgstr "" #: common/models.py:1024 +msgid "Build Order Reference Prefix" +msgstr "" + +#: common/models.py:1025 +msgid "Prefix value for build order reference" +msgstr "" + +#: common/models.py:1030 +msgid "Build Order Reference Regex" +msgstr "" + +#: common/models.py:1031 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1029 +#: common/models.py:1036 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1041 +#: common/models.py:1048 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1042 +#: common/models.py:1049 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1048 +#: common/models.py:1055 msgid "Enable password forgot" msgstr "" -#: common/models.py:1049 +#: common/models.py:1056 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1055 +#: common/models.py:1062 msgid "Enable registration" msgstr "" -#: common/models.py:1056 +#: common/models.py:1063 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1069 msgid "Enable SSO" msgstr "SSO 활성화" -#: common/models.py:1063 +#: common/models.py:1070 msgid "Enable SSO on the login pages" msgstr "로그인 페이지에서 SSO 활성화" -#: common/models.py:1069 +#: common/models.py:1076 msgid "Email required" msgstr "이메일 필요" -#: common/models.py:1070 +#: common/models.py:1077 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1076 +#: common/models.py:1083 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1077 +#: common/models.py:1084 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1083 +#: common/models.py:1090 msgid "Mail twice" msgstr "두 번 보내기" -#: common/models.py:1084 +#: common/models.py:1091 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1090 +#: common/models.py:1097 msgid "Password twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1098 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1097 +#: common/models.py:1104 msgid "Group on signup" msgstr "" -#: common/models.py:1098 +#: common/models.py:1105 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1104 +#: common/models.py:1111 msgid "Enforce MFA" msgstr "" -#: common/models.py:1105 +#: common/models.py:1112 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1111 +#: common/models.py:1118 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1112 +#: common/models.py:1119 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1120 +#: common/models.py:1127 msgid "Enable URL integration" msgstr "" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1136 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1136 +#: common/models.py:1143 msgid "Enable app integration" msgstr "" -#: common/models.py:1137 +#: common/models.py:1144 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1144 +#: common/models.py:1151 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1145 +#: common/models.py:1152 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1152 +#: common/models.py:1159 msgid "Enable event integration" msgstr "" -#: common/models.py:1153 +#: common/models.py:1160 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1170 common/models.py:1492 +#: common/models.py:1177 common/models.py:1499 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1192 +#: common/models.py:1199 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1193 +#: common/models.py:1200 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1199 +#: common/models.py:1206 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1200 +#: common/models.py:1207 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1213 msgid "Show latest parts" msgstr "" -#: common/models.py:1207 +#: common/models.py:1214 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1213 +#: common/models.py:1220 msgid "Recent Part Count" msgstr "" -#: common/models.py:1214 +#: common/models.py:1221 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1220 +#: common/models.py:1227 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1221 +#: common/models.py:1228 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1227 +#: common/models.py:1234 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1228 +#: common/models.py:1235 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1235 +#: common/models.py:1242 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Show low stock" msgstr "" -#: common/models.py:1242 +#: common/models.py:1249 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Show depleted stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1256 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1262 msgid "Show needed stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1263 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1269 msgid "Show expired stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1270 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1276 msgid "Show stale stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Show pending builds" msgstr "" -#: common/models.py:1277 +#: common/models.py:1284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Show overdue builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1291 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1291 +#: common/models.py:1298 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Show overdue POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1305 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1312 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1318 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1319 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1317 +#: common/models.py:1324 msgid "Enable label printing" msgstr "" -#: common/models.py:1318 +#: common/models.py:1325 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1324 +#: common/models.py:1331 msgid "Inline label display" msgstr "" -#: common/models.py:1325 +#: common/models.py:1332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1331 +#: common/models.py:1338 msgid "Inline report display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1345 msgid "Search Parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1345 +#: common/models.py:1352 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1359 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1366 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1367 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1373 msgid "Search Categories" msgstr "" -#: common/models.py:1367 +#: common/models.py:1374 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1380 msgid "Search Stock" msgstr "" -#: common/models.py:1374 +#: common/models.py:1381 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1387 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1381 +#: common/models.py:1388 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1394 msgid "Search Locations" msgstr "" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1401 msgid "Search Companies" msgstr "" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1408 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1415 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1422 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1429 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Search Preview Results" msgstr "" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1457 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1457 +#: common/models.py:1464 msgid "Date Format" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1472 part/templates/part/detail.html:39 +#: common/models.py:1479 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1473 +#: common/models.py:1480 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1537 company/forms.py:37 +#: common/models.py:1544 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: 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 +#: common/models.py:1551 company/serializers.py:290 +#: company/templates/company/supplier_part.html:263 order/models.py:965 +#: templates/js/translated/part.js:1042 templates/js/translated/part.js:2070 msgid "Price" msgstr "" -#: common/models.py:1545 +#: common/models.py:1552 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1705 common/models.py:1883 +#: common/models.py:1712 common/models.py:1890 msgid "Endpoint" msgstr "" -#: common/models.py:1706 +#: common/models.py:1713 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1715 +#: common/models.py:1722 msgid "Name for this webhook" msgstr "" -#: common/models.py:1720 part/models.py:911 plugin/models.py:99 +#: common/models.py:1727 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 @@ -2457,79 +2474,89 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1721 +#: common/models.py:1728 msgid "Is this webhook active" msgstr "" -#: common/models.py:1735 +#: common/models.py:1742 msgid "Token" msgstr "" -#: common/models.py:1736 +#: common/models.py:1743 msgid "Token for access" msgstr "" -#: common/models.py:1743 +#: common/models.py:1750 msgid "Secret" msgstr "" -#: common/models.py:1744 +#: common/models.py:1751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Message ID" msgstr "" -#: common/models.py:1851 +#: common/models.py:1858 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1859 +#: common/models.py:1866 msgid "Host" msgstr "" -#: common/models.py:1860 +#: common/models.py:1867 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1867 +#: common/models.py:1874 msgid "Header" msgstr "" -#: common/models.py:1868 +#: common/models.py:1875 msgid "Header of this message" msgstr "" -#: common/models.py:1874 +#: common/models.py:1881 msgid "Body" msgstr "" -#: common/models.py:1875 +#: common/models.py:1882 msgid "Body of this message" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1889 +#: common/models.py:1896 msgid "Worked on" msgstr "" -#: common/models.py:1890 +#: common/models.py:1897 msgid "Was the work on this message finished?" msgstr "" +#: common/notifications.py:292 +#, python-brace-format +msgid "New {verbose_name}" +msgstr "" + +#: common/notifications.py:294 +#, python-brace-format +msgid "A new {verbose_name} has been created and ,assigned to you" +msgstr "" + #: common/views.py:87 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:191 +#: order/views.py:102 part/views.py:116 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "파일 업로드" #: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:192 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:117 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -2545,19 +2572,19 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:511 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:16 part/forms.py:21 +#: company/forms.py:16 part/forms.py:18 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:17 part/forms.py:22 +#: company/forms.py:17 part/forms.py:19 msgid "Image URL" msgstr "이미지 URL" @@ -2571,7 +2598,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:405 +#: templates/js/translated/company.js:399 msgid "Website" msgstr "웹사이트" @@ -2644,9 +2671,9 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: 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 +#: company/models.py:144 company/serializers.py:296 +#: company/templates/company/company_base.html:106 part/serializers.py:139 +#: part/serializers.py:170 stock/serializers.py:162 msgid "Currency" msgstr "" @@ -2667,10 +2694,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: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/company.js:383 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:617 +#: templates/js/translated/company.js:902 templates/js/translated/part.js:235 #: templates/js/translated/table_filters.js:411 msgid "Manufacturer" msgstr "" @@ -2681,11 +2708,11 @@ msgstr "" #: 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 -#: 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 +#: templates/js/translated/company.js:256 +#: templates/js/translated/company.js:483 +#: templates/js/translated/company.js:633 +#: templates/js/translated/company.js:920 templates/js/translated/order.js:1907 +#: templates/js/translated/part.js:246 templates/js/translated/part.js:1000 msgid "MPN" msgstr "" @@ -2714,9 +2741,9 @@ msgstr "" #: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2080 templates/js/translated/company.js:540 -#: templates/js/translated/company.js:763 templates/js/translated/part.js:776 -#: templates/js/translated/stock.js:1294 +#: stock/models.py:2084 templates/js/translated/company.js:531 +#: templates/js/translated/company.js:748 templates/js/translated/part.js:820 +#: templates/js/translated/stock.js:1304 msgid "Value" msgstr "" @@ -2724,10 +2751,10 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:368 part/models.py:878 part/models.py:2339 +#: company/models.py:368 part/models.py:878 part/models.py:2327 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:351 -#: templates/js/translated/company.js:769 templates/js/translated/part.js:782 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:826 msgid "Units" msgstr "" @@ -2740,13 +2767,14 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:487 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:303 +#: company/templates/company/supplier_part.html:87 order/models.py:308 #: 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 -#: 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/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:255 +#: templates/js/translated/company.js:387 +#: templates/js/translated/company.js:876 templates/js/translated/order.js:1643 +#: templates/js/translated/part.js:216 templates/js/translated/part.js:968 #: templates/js/translated/table_filters.js:415 msgid "Supplier" msgstr "" @@ -2756,9 +2784,9 @@ msgid "Select supplier" msgstr "" #: 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 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:254 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 -#: templates/js/translated/part.js:942 +#: templates/js/translated/part.js:986 msgid "SKU" msgstr "" @@ -2779,23 +2807,23 @@ msgid "Supplier part description" msgstr "" #: company/models.py:518 company/templates/company/supplier_part.html:125 -#: part/models.py:2573 part/templates/part/upload_bom.html:59 +#: part/models.py:2561 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:387 msgid "Note" msgstr "" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "base cost" msgstr "" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: 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 +#: templates/js/translated/company.js:952 templates/js/translated/stock.js:1922 msgid "Packaging" msgstr "" @@ -2803,7 +2831,7 @@ msgstr "" msgid "Part packaging" msgstr "" -#: company/models.py:526 part/models.py:1690 +#: company/models.py:526 part/models.py:1685 msgid "multiple" msgstr "" @@ -2825,7 +2853,7 @@ msgstr "" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:177 templates/js/translated/company.js:378 +#: templates/InvenTree/search.html:177 templates/js/translated/company.js:372 msgid "Company" msgstr "회사" @@ -2843,7 +2871,7 @@ msgid "Edit company information" msgstr "회사 정보 수정" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:321 +#: templates/js/translated/company.js:315 msgid "Edit Company" msgstr "회사 수정" @@ -2866,12 +2894,13 @@ msgstr "새 이미지 업로드" msgid "Download image from URL" msgstr "URL에서 이미지 다운로드" -#: company/templates/company/company_base.html:86 order/models.py:649 +#: company/templates/company/company_base.html:86 order/models.py:665 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:758 +#: stock/models.py:628 stock/serializers.py:745 #: 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 +#: templates/email/overdue_sales_order.html:16 +#: templates/js/translated/company.js:379 templates/js/translated/order.js:2458 +#: templates/js/translated/stock.js:2441 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "고객" @@ -2999,7 +3028,7 @@ msgid "Supplier List" msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:45 -#: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 +#: part/templates/part/prices.html:172 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -3012,12 +3041,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:680 +#: templates/js/translated/company.js:665 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:681 +#: templates/js/translated/company.js:666 msgid "Delete manufacturer part" msgstr "" @@ -3032,7 +3061,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:39 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 +#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" msgstr "" @@ -3092,18 +3121,18 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: 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 +#: templates/js/translated/company.js:892 templates/js/translated/order.js:884 +#: templates/js/translated/stock.js:1879 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:38 -#: templates/js/translated/company.js:980 +#: templates/js/translated/company.js:965 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:42 -#: templates/js/translated/company.js:981 +#: templates/js/translated/company.js:966 msgid "Delete supplier part" msgstr "" @@ -3123,7 +3152,7 @@ msgstr "" #: company/templates/company/supplier_part.html:148 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 -#: templates/js/translated/stock.js:380 +#: templates/js/translated/stock.js:379 msgid "New Stock Item" msgstr "" @@ -3144,7 +3173,7 @@ msgstr "" #: company/templates/company/supplier_part.html:191 #: company/templates/company/supplier_part.html:305 -#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046 +#: part/templates/part/prices.html:276 templates/js/translated/part.js:2142 msgid "Add Price Break" msgstr "" @@ -3153,12 +3182,12 @@ msgid "No price break information found" msgstr "" #: company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2152 msgid "Delete Price Break" msgstr "" #: company/templates/company/supplier_part.html:245 -#: templates/js/translated/part.js:2070 +#: templates/js/translated/part.js:2166 msgid "Edit Price Break" msgstr "" @@ -3180,9 +3209,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: 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:1687 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:722 +#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1431 +#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3209,7 +3238,7 @@ msgstr "" #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 -#: templates/js/translated/stock.js:2307 users/models.py:39 +#: templates/js/translated/stock.js:2317 users/models.py:39 msgid "Stock Items" msgstr "" @@ -3238,20 +3267,20 @@ msgstr "" msgid "New Company" msgstr "새 회사" -#: company/views.py:112 part/views.py:576 +#: company/views.py:112 part/views.py:501 msgid "Download Image" msgstr "이미지 다운로드" -#: company/views.py:139 part/views.py:606 +#: company/views.py:139 part/views.py:531 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:146 part/views.py:613 +#: company/views.py:146 part/views.py:538 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:155 part/views.py:622 +#: company/views.py:155 part/views.py:547 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3320,313 +3349,314 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:133 +#: order/models.py:134 msgid "Order description" msgstr "" -#: order/models.py:135 order/models.py:1236 +#: order/models.py:136 order/models.py:1252 msgid "Link to external page" msgstr "" -#: order/models.py:143 +#: order/models.py:144 msgid "Created By" msgstr "" -#: order/models.py:150 +#: order/models.py:151 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:155 +#: order/models.py:156 msgid "Order notes" msgstr "" -#: order/models.py:289 order/models.py:639 +#: order/models.py:294 order/models.py:655 msgid "Order reference" msgstr "" -#: order/models.py:294 order/models.py:654 +#: order/models.py:299 order/models.py:670 msgid "Purchase order status" msgstr "" -#: order/models.py:304 +#: order/models.py:309 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:307 order/templates/order/order_base.html:124 +#: order/models.py:312 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:307 +#: order/models.py:312 msgid "Supplier order reference code" msgstr "" -#: order/models.py:314 +#: order/models.py:319 msgid "received by" msgstr "" -#: order/models.py:319 +#: order/models.py:324 msgid "Issue Date" msgstr "" -#: order/models.py:320 +#: order/models.py:325 msgid "Date order was issued" msgstr "" -#: order/models.py:325 +#: order/models.py:330 msgid "Target Delivery Date" msgstr "" -#: order/models.py:326 +#: order/models.py:331 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:332 +#: order/models.py:337 msgid "Date order was completed" msgstr "" -#: order/models.py:368 +#: order/models.py:373 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:512 +#: order/models.py:517 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:650 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer Reference " msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer order reference code" msgstr "" -#: order/models.py:661 +#: order/models.py:677 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:664 order/models.py:1190 +#: order/models.py:680 order/models.py:1206 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:671 +#: order/models.py:687 msgid "shipped by" msgstr "" -#: order/models.py:726 +#: order/models.py:742 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:730 +#: order/models.py:746 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:733 +#: order/models.py:749 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:736 +#: order/models.py:752 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:910 +#: order/models.py:926 msgid "Item quantity" msgstr "" -#: order/models.py:916 +#: order/models.py:932 msgid "Line item reference" msgstr "" -#: order/models.py:918 +#: order/models.py:934 msgid "Line item notes" msgstr "" -#: order/models.py:923 +#: order/models.py:939 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:941 +#: order/models.py:957 msgid "Context" msgstr "" -#: order/models.py:942 +#: order/models.py:958 msgid "Additional context for this line" msgstr "" -#: order/models.py:950 +#: order/models.py:966 msgid "Unit price" msgstr "" -#: order/models.py:980 +#: order/models.py:996 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:988 +#: order/models.py:1004 msgid "deleted" msgstr "" -#: order/models.py:994 order/models.py:1074 order/models.py:1099 -#: order/models.py:1184 order/models.py:1320 +#: order/models.py:1010 order/models.py:1090 order/models.py:1115 +#: order/models.py:1200 order/models.py:1336 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:995 order/models.py:1074 +#: order/models.py:1011 order/models.py:1090 #: 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/email/overdue_purchase_order.html:15 #: 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 +#: templates/js/translated/part.js:943 templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:2422 msgid "Purchase Order" msgstr "" -#: order/models.py:1013 +#: order/models.py:1029 msgid "Supplier part" msgstr "" -#: order/models.py:1020 order/templates/order/order_base.html:169 +#: order/models.py:1036 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/part.js:1037 templates/js/translated/part.js:1064 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1021 +#: order/models.py:1037 msgid "Number of items received" msgstr "" -#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: order/models.py:1044 part/templates/part/prices.html:181 stock/models.py:722 #: stock/serializers.py:153 stock/templates/stock/item_base.html:191 -#: templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:1910 msgid "Purchase Price" msgstr "" -#: order/models.py:1029 +#: order/models.py:1045 msgid "Unit purchase price" msgstr "" -#: order/models.py:1037 +#: order/models.py:1053 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1109 part/templates/part/part_pricing.html:112 -#: part/templates/part/prices.html:119 part/templates/part/prices.html:288 +#: order/models.py:1125 part/templates/part/part_pricing.html:115 +#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 msgid "Sale Price" msgstr "" -#: order/models.py:1110 +#: order/models.py:1126 msgid "Unit sale price" msgstr "" -#: order/models.py:1115 +#: order/models.py:1131 msgid "Shipped quantity" msgstr "" -#: order/models.py:1191 +#: order/models.py:1207 msgid "Date of shipment" msgstr "" -#: order/models.py:1198 +#: order/models.py:1214 msgid "Checked By" msgstr "" -#: order/models.py:1199 +#: order/models.py:1215 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1207 +#: order/models.py:1223 msgid "Shipment number" msgstr "" -#: order/models.py:1214 +#: order/models.py:1230 msgid "Shipment notes" msgstr "" -#: order/models.py:1221 +#: order/models.py:1237 msgid "Tracking Number" msgstr "" -#: order/models.py:1222 +#: order/models.py:1238 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1229 +#: order/models.py:1245 msgid "Invoice Number" msgstr "" -#: order/models.py:1230 +#: order/models.py:1246 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1248 +#: order/models.py:1264 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1251 +#: order/models.py:1267 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1354 order/models.py:1356 +#: order/models.py:1370 order/models.py:1372 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1360 +#: order/models.py:1376 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1362 +#: order/models.py:1378 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1365 +#: order/models.py:1381 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1369 +#: order/models.py:1385 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1375 order/serializers.py:1045 +#: order/models.py:1391 order/serializers.py:1047 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1378 +#: order/models.py:1394 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1379 +#: order/models.py:1395 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1387 +#: order/models.py:1403 msgid "Line" msgstr "" -#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 +#: order/models.py:1411 order/serializers.py:1151 order/serializers.py:1275 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1396 +#: order/models.py:1412 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1424 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1409 +#: order/models.py:1425 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Enter stock allocation quantity" msgstr "" @@ -3662,7 +3692,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1117 +#: order/serializers.py:406 order/serializers.py:1119 msgid "Line Item" msgstr "" @@ -3710,42 +3740,60 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:866 +#: order/serializers.py:868 msgid "Sale price currency" msgstr "" -#: order/serializers.py:947 +#: order/serializers.py:949 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1006 order/serializers.py:1126 +#: order/serializers.py:1008 order/serializers.py:1128 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1028 +#: order/serializers.py:1030 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1139 +#: order/serializers.py:1141 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1161 order/serializers.py:1281 +#: order/serializers.py:1163 order/serializers.py:1283 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1164 order/serializers.py:1284 +#: order/serializers.py:1166 order/serializers.py:1286 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1216 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1224 +#: order/serializers.py:1226 msgid "The following serial numbers are already allocated" msgstr "" +#: order/tasks.py:26 +msgid "Overdue Purchase Order" +msgstr "" + +#: order/tasks.py:31 +#, python-brace-format +msgid "Purchase order {po} is now overdue" +msgstr "" + +#: order/tasks.py:88 +msgid "Overdue Sales Order" +msgstr "" + +#: order/tasks.py:93 +#, python-brace-format +msgid "Sales order {so} is now overdue" +msgstr "" + #: order/templates/order/order_base.html:33 msgid "Print purchase order report" msgstr "" @@ -3870,8 +3918,8 @@ msgstr "" #: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: 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:2731 templates/js/translated/stock.js:570 -#: templates/js/translated/stock.js:738 +#: templates/js/translated/order.js:2731 templates/js/translated/stock.js:569 +#: templates/js/translated/stock.js:737 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -3990,7 +4038,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1047 #: templates/js/translated/build.js:1880 msgid "Actions" msgstr "" @@ -4021,47 +4069,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:481 +#: part/api.py:482 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:501 +#: part/api.py:502 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:519 +#: part/api.py:520 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:551 +#: part/api.py:552 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:637 +#: part/api.py:638 msgid "Valid" msgstr "" -#: part/api.py:638 +#: part/api.py:639 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:644 +#: part/api.py:645 msgid "This option must be selected" msgstr "" -#: part/api.py:1010 +#: part/api.py:1011 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1014 +#: part/api.py:1015 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1029 +#: part/api.py:1030 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1060 part/api.py:1064 part/api.py:1079 part/api.py:1083 +#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 msgid "This field is required" msgstr "" @@ -4080,17 +4128,13 @@ msgid "Available Stock" msgstr "" #: 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 +#: templates/js/translated/part.js:561 templates/js/translated/part.js:581 +#: templates/js/translated/part.js:1273 templates/js/translated/part.js:1445 +#: templates/js/translated/part.js:1461 msgid "On Order" msgstr "" -#: part/forms.py:59 -msgid "Select part category" -msgstr "" - -#: part/forms.py:69 +#: part/forms.py:60 msgid "Input quantity for price calculation" msgstr "" @@ -4106,7 +4150,7 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:115 part/models.py:2415 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2403 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -4123,7 +4167,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:144 +#: templates/js/translated/part.js:1864 templates/js/translated/search.js:144 #: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "" @@ -4153,7 +4197,7 @@ msgstr "" msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:738 part/models.py:2469 +#: part/models.py:738 part/models.py:2457 msgid "Part name" msgstr "" @@ -4186,12 +4230,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:776 part/models.py:2171 part/models.py:2414 +#: part/models.py:776 part/models.py:2159 part/models.py:2402 #: part/templates/part/part_base.html:257 -#: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 #: templates/InvenTree/settings/settings.html:231 -#: templates/js/translated/part.js:1369 +#: templates/js/translated/part.js:1413 templates/js/translated/part.js:1639 msgid "Category" msgstr "" @@ -4200,8 +4243,8 @@ msgid "Part category" msgstr "" #: 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 +#: templates/js/translated/part.js:710 templates/js/translated/part.js:1366 +#: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" @@ -4214,7 +4257,7 @@ msgid "Part revision or version number" msgstr "" #: part/models.py:790 part/templates/part/part_base.html:273 -#: report/models.py:170 templates/js/translated/part.js:670 +#: report/models.py:170 templates/js/translated/part.js:714 msgid "Revision" msgstr "" @@ -4302,317 +4345,321 @@ msgstr "" msgid "Creation User" msgstr "" -#: part/models.py:1690 +#: part/models.py:1685 msgid "Sell multiple" msgstr "" -#: part/models.py:2218 +#: part/models.py:2206 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2235 +#: part/models.py:2223 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2255 templates/js/translated/part.js:1819 -#: templates/js/translated/stock.js:1274 +#: part/models.py:2243 templates/js/translated/part.js:1915 +#: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2256 +#: part/models.py:2244 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2261 +#: part/models.py:2249 msgid "Test Description" msgstr "" -#: part/models.py:2262 +#: part/models.py:2250 msgid "Enter description for this test" msgstr "" -#: part/models.py:2267 templates/js/translated/part.js:1828 +#: part/models.py:2255 templates/js/translated/part.js:1924 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2268 +#: part/models.py:2256 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2273 templates/js/translated/part.js:1836 +#: part/models.py:2261 templates/js/translated/part.js:1932 msgid "Requires Value" msgstr "" -#: part/models.py:2274 +#: part/models.py:2262 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2279 templates/js/translated/part.js:1843 +#: part/models.py:2267 templates/js/translated/part.js:1939 msgid "Requires Attachment" msgstr "" -#: part/models.py:2280 +#: part/models.py:2268 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2288 +#: part/models.py:2276 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2324 +#: part/models.py:2312 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2332 +#: part/models.py:2320 msgid "Parameter Name" msgstr "" -#: part/models.py:2339 +#: part/models.py:2327 msgid "Parameter Units" msgstr "" -#: part/models.py:2370 +#: part/models.py:2358 msgid "Parent Part" msgstr "" -#: part/models.py:2372 part/models.py:2420 part/models.py:2421 +#: part/models.py:2360 part/models.py:2408 part/models.py:2409 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Data" msgstr "데이터" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Parameter Value" msgstr "" -#: part/models.py:2425 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2413 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2426 +#: part/models.py:2414 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2461 +#: part/models.py:2449 msgid "Part ID or part name" msgstr "" -#: part/models.py:2464 templates/js/translated/model_renderers.js:200 +#: part/models.py:2452 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2465 +#: part/models.py:2453 msgid "Unique part ID value" msgstr "" -#: part/models.py:2468 +#: part/models.py:2456 msgid "Part Name" msgstr "" -#: part/models.py:2472 +#: part/models.py:2460 msgid "Part IPN" msgstr "" -#: part/models.py:2473 +#: part/models.py:2461 msgid "Part IPN value" msgstr "" -#: part/models.py:2476 +#: part/models.py:2464 msgid "Level" msgstr "" -#: part/models.py:2477 +#: part/models.py:2465 msgid "BOM level" msgstr "" -#: part/models.py:2546 +#: part/models.py:2534 msgid "Select parent part" msgstr "" -#: part/models.py:2554 +#: part/models.py:2542 msgid "Sub part" msgstr "" -#: part/models.py:2555 +#: part/models.py:2543 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2561 +#: part/models.py:2549 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2563 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 +#: part/models.py:2551 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:871 templates/js/translated/bom.js:965 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2563 +#: part/models.py:2551 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2566 part/templates/part/upload_bom.html:55 +#: part/models.py:2554 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2567 +#: part/models.py:2555 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2570 +#: part/models.py:2558 msgid "BOM item reference" msgstr "" -#: part/models.py:2573 +#: part/models.py:2561 msgid "BOM item notes" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "Checksum" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "BOM line checksum" msgstr "" -#: part/models.py:2579 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:988 +#: part/models.py:2567 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:982 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2580 +#: part/models.py:2568 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2585 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:980 +#: part/models.py:2573 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:974 msgid "Allow Variants" msgstr "" -#: part/models.py:2586 +#: part/models.py:2574 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2664 stock/models.py:460 +#: part/models.py:2652 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2673 part/models.py:2675 +#: part/models.py:2661 part/models.py:2663 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2780 +#: part/models.py:2768 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2801 +#: part/models.py:2789 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2814 +#: part/models.py:2802 msgid "Parent BOM item" msgstr "" -#: part/models.py:2822 +#: part/models.py:2810 msgid "Substitute part" msgstr "" -#: part/models.py:2833 +#: part/models.py:2825 msgid "Part 1" msgstr "" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Part 2" msgstr "" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Select Related Part" msgstr "" -#: part/models.py:2868 -msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" +#: part/models.py:2847 +msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 +#: part/models.py:2851 +msgid "Duplicate relationship already exists" +msgstr "" + +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:794 +#: part/serializers.py:796 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:804 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:805 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:810 msgid "Include Inherited" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:811 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:816 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:817 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:820 +#: part/serializers.py:822 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:821 +#: part/serializers.py:823 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:861 +#: part/serializers.py:863 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:864 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:894 msgid "No part column specified" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:937 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:938 +#: part/serializers.py:940 msgid "No matching part found" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:943 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:950 +#: part/serializers.py:952 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:958 +#: part/serializers.py:960 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:979 +#: part/serializers.py:981 msgid "At least one BOM item is required" msgstr "" @@ -5088,10 +5135,10 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:143 -#: templates/js/translated/company.js:623 -#: templates/js/translated/company.js:882 +#: templates/js/translated/company.js:608 +#: templates/js/translated/company.js:867 #: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:658 +#: templates/js/translated/part.js:625 templates/js/translated/part.js:702 msgid "Inactive" msgstr "" @@ -5120,13 +5167,13 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1009 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1003 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/part.js:520 -#: templates/js/translated/part.js:540 templates/js/translated/part.js:1233 -#: templates/js/translated/part.js:1405 templates/js/translated/part.js:1421 +#: part/templates/part/part_base.html:238 templates/js/translated/part.js:564 +#: templates/js/translated/part.js:584 templates/js/translated/part.js:1277 +#: templates/js/translated/part.js:1449 templates/js/translated/part.js:1465 msgid "Building" msgstr "" @@ -5143,7 +5190,7 @@ msgstr "" msgid "Search for serial number" msgstr "일련번호 검색" -#: part/templates/part/part_base.html:443 part/templates/part/prices.html:147 +#: part/templates/part/part_base.html:443 part/templates/part/prices.html:149 msgid "Calculate" msgstr "" @@ -5161,54 +5208,55 @@ msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:106 -#: part/templates/part/prices.html:123 +#: part/templates/part/part_pricing.html:103 +#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 +#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:104 -#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:111 -#: part/templates/part/prices.html:128 +#: part/templates/part/part_pricing.html:107 +#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 +#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 +#: part/templates/part/prices.html:130 msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:963 +#: templates/js/translated/bom.js:957 msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:246 +#: part/templates/part/prices.html:248 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:89 +#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:96 +#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:105 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/prices.html:107 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:128 -#: part/templates/part/prices.html:137 +#: part/templates/part/part_pricing.html:131 +#: part/templates/part/prices.html:139 msgid "No pricing information is available for this part." msgstr "" @@ -5232,43 +5280,6 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:9 -#, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" -"
Disable the \"Active\" part attribute and re-try.\n" -" " -msgstr "" - -#: part/templates/part/partial_delete.html:17 -#, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" -msgstr "" - -#: part/templates/part/partial_delete.html:22 -#, python-format -msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" -msgstr "" - -#: part/templates/part/partial_delete.html:32 -#, python-format -msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:43 -#, python-format -msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:54 -#, python-format -msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:67 -#, python-format -msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." -msgstr "" - #: part/templates/part/prices.html:19 msgid "Pricing ranges" msgstr "" @@ -5285,66 +5296,58 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:120 +#: part/templates/part/prices.html:122 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:123 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:143 +#: part/templates/part/prices.html:145 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:957 +#: part/templates/part/prices.html:160 templates/js/translated/bom.js:951 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:159 part/templates/part/prices.html:180 -#: part/templates/part/prices.html:204 part/templates/part/prices.html:234 -#: part/templates/part/prices.html:260 part/templates/part/prices.html:289 +#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 +#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 +#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:184 +#: part/templates/part/prices.html:186 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:193 +#: part/templates/part/prices.html:195 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:203 +#: part/templates/part/prices.html:205 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:218 +#: part/templates/part/prices.html:220 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:233 +#: part/templates/part/prices.html:235 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:259 +#: part/templates/part/prices.html:261 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:300 +#: part/templates/part/prices.html:302 msgid "No sale pice history available for this part." msgstr "" -#: part/templates/part/set_category.html:9 -msgid "Set category for the following parts" -msgstr "" - -#: part/templates/part/set_category.html:32 -msgid "Remove part" -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543 -#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:587 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:1469 msgid "No Stock" msgstr "" @@ -5407,56 +5410,39 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:74 -msgid "Set Part Category" -msgstr "" - -#: part/views.py:122 -#, python-brace-format -msgid "Set category for {n} parts" -msgstr "" - -#: part/views.py:193 +#: part/views.py:118 msgid "Match References" msgstr "" -#: part/views.py:494 +#: part/views.py:419 msgid "None" msgstr "" -#: part/views.py:556 +#: part/views.py:481 msgid "Part QR Code" msgstr "" -#: part/views.py:650 +#: part/views.py:575 msgid "Select Part Image" msgstr "" -#: part/views.py:676 +#: part/views.py:601 msgid "Updated part image" msgstr "" -#: part/views.py:679 +#: part/views.py:604 msgid "Part image not found" msgstr "" -#: part/views.py:768 -msgid "Confirm Part Deletion" -msgstr "" - -#: part/views.py:776 -msgid "Part was deleted" -msgstr "" - -#: part/views.py:785 +#: part/views.py:693 msgid "Part Pricing" msgstr "" -#: part/views.py:976 +#: part/views.py:884 msgid "Delete Part Category" msgstr "" -#: part/views.py:983 +#: part/views.py:891 msgid "Part category was deleted" msgstr "" @@ -5516,21 +5502,21 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:28 +#: plugin/builtin/integration/core_notifications.py:29 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 +#: plugin/builtin/integration/core_notifications.py:30 msgid "Integrated outgoing notificaton methods" msgstr "" -#: 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:34 #: plugin/builtin/integration/core_notifications.py:53 +msgid "Enable email notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:35 +#: plugin/builtin/integration/core_notifications.py:54 msgid "Allow sending of emails for event notifications" msgstr "" @@ -5646,15 +5632,19 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:166 +#: report/api.py:179 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:198 report/api.py:239 +#: report/api.py:215 report/api.py:256 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" +#: report/api.py:359 +msgid "Test report" +msgstr "" + #: report/models.py:152 msgid "Template name" msgstr "" @@ -5757,7 +5747,7 @@ msgstr "" #: 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:3229 -#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:434 msgid "Serial Number" msgstr "일련번호" @@ -5766,19 +5756,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2068 +#: stock/models.py:2072 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2074 +#: stock/models.py:2078 msgid "Result" 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:1669 templates/js/translated/stock.js:2340 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2350 msgid "Date" msgstr "" @@ -5796,20 +5786,20 @@ msgid "Installed Items" 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:2589 +#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724 +#: templates/js/translated/stock.js:2599 msgid "Serial" msgstr "" -#: stock/api.py:504 +#: stock/api.py:505 msgid "Quantity is required" msgstr "" -#: stock/api.py:511 +#: stock/api.py:512 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:536 +#: stock/api.py:537 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5917,7 +5907,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1826 msgid "Expiry Date" msgstr "" @@ -5971,79 +5961,79 @@ msgstr "" msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1325 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1324 +#: stock/models.py:1328 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1327 +#: stock/models.py:1331 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1334 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1333 +#: stock/models.py:1337 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1340 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1343 stock/serializers.py:908 +#: stock/models.py:1347 stock/serializers.py:895 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1347 +#: stock/models.py:1351 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1355 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1359 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1524 +#: stock/models.py:1528 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1986 +#: stock/models.py:1990 msgid "Entry notes" msgstr "" -#: stock/models.py:2044 +#: stock/models.py:2048 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2050 +#: stock/models.py:2054 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2069 +#: stock/models.py:2073 msgid "Test name" msgstr "" -#: stock/models.py:2075 +#: stock/models.py:2079 msgid "Test result" msgstr "" -#: stock/models.py:2081 +#: stock/models.py:2085 msgid "Test output value" msgstr "" -#: stock/models.py:2088 +#: stock/models.py:2092 msgid "Test result attachment" msgstr "" -#: stock/models.py:2094 +#: stock/models.py:2098 msgid "Test notes" msgstr "" @@ -6064,7 +6054,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:865 stock/serializers.py:1098 +#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 msgid "Destination stock location" msgstr "" @@ -6104,63 +6094,63 @@ msgstr "" msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:707 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:724 +#: stock/serializers.py:711 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:728 +#: stock/serializers.py:715 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:759 +#: stock/serializers.py:746 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:765 +#: stock/serializers.py:752 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:773 +#: stock/serializers.py:760 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:783 stock/serializers.py:1014 +#: stock/serializers.py:770 stock/serializers.py:1001 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:872 +#: stock/serializers.py:859 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:877 +#: stock/serializers.py:864 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:878 +#: stock/serializers.py:865 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:883 +#: stock/serializers.py:870 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:884 +#: stock/serializers.py:871 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:894 +#: stock/serializers.py:881 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:976 +#: stock/serializers.py:963 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1004 +#: stock/serializers.py:991 msgid "Stock transaction notes" msgstr "" @@ -6185,7 +6175,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:298 msgid "Delete Test Data" msgstr "" @@ -6197,11 +6187,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2733 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2743 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:292 templates/js/translated/stock.js:1455 +#: stock/templates/stock/item.html:290 +msgid "Delete all test results for this stock item" +msgstr "" + +#: stock/templates/stock/item.html:323 templates/js/translated/stock.js:1465 msgid "Add Test Result" msgstr "" @@ -6388,7 +6382,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/stock.js:1842 msgid "Last Updated" msgstr "" @@ -6529,7 +6523,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:182 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:144 msgid "Convert Stock Item" msgstr "" @@ -6550,31 +6544,19 @@ msgstr "경고" msgid "This action cannot be easily undone" msgstr "" -#: stock/views.py:113 +#: stock/views.py:111 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:131 -msgid "Delete All Test Data" -msgstr "" - -#: stock/views.py:149 -msgid "Confirm test data deletion" -msgstr "" - -#: stock/views.py:150 -msgid "Check the confirmation box" -msgstr "" - -#: stock/views.py:165 +#: stock/views.py:127 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:216 +#: stock/views.py:178 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:229 +#: stock/views.py:191 msgid "Delete Stock Item" msgstr "" @@ -7317,8 +7299,8 @@ msgstr "InvenTree 버전 정보" #: 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:56 templates/js/translated/modals.js:595 -#: templates/js/translated/modals.js:689 templates/js/translated/modals.js:997 +#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 +#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 #: templates/js/translated/order.js:928 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7390,6 +7372,10 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:630 +msgid "Confirm" +msgstr "확인" + #: templates/account/email_confirm.html:27 #, python-format msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." @@ -7562,7 +7548,7 @@ msgstr "첨부파일 추가" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:112 msgid "Delete Attachments" msgstr "" @@ -7596,15 +7582,15 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1425 +#: templates/js/translated/bom.js:1419 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: 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/bom.js:884 templates/js/translated/build.js:1787 +#: templates/js/translated/build.js:2650 templates/js/translated/part.js:571 +#: templates/js/translated/part.js:574 #: templates/js/translated/table_filters.js:178 msgid "Available" msgstr "" @@ -7622,6 +7608,13 @@ msgstr "" msgid "Minimum Quantity" msgstr "" +#: templates/email/new_order_assigned.html:9 +#: templates/email/overdue_build_order.html:9 +#: templates/email/overdue_purchase_order.html:9 +#: templates/email/overdue_sales_order.html:9 +msgid "Click on the following link to view this order" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -7638,91 +7631,91 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:235 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1073 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1074 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:242 +#: templates/js/translated/api.js:202 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:243 +#: templates/js/translated/api.js:203 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1083 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1084 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:252 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1088 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:253 templates/js/translated/modals.js:1083 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1089 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1093 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1088 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1094 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:262 +#: templates/js/translated/api.js:222 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:263 +#: templates/js/translated/api.js:223 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:267 templates/js/translated/modals.js:1092 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1098 msgid "Error 408: Timeout" msgstr "오류 408: 시간 초과" -#: templates/js/translated/api.js:268 templates/js/translated/modals.js:1093 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1099 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:271 +#: templates/js/translated/api.js:231 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:272 +#: templates/js/translated/api.js:232 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:96 +#: templates/js/translated/attachment.js:98 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:156 +#: templates/js/translated/attachment.js:152 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:180 +#: templates/js/translated/attachment.js:176 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:246 +#: templates/js/translated/attachment.js:242 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:262 +#: templates/js/translated/attachment.js:264 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:269 +#: templates/js/translated/attachment.js:271 msgid "Delete attachment" msgstr "" @@ -7755,7 +7748,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "Invalid server response" msgstr "" @@ -7783,7 +7776,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999 +#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:998 msgid "Remove stock item" msgstr "" @@ -7918,89 +7911,89 @@ msgstr "" msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:682 +#: templates/js/translated/bom.js:684 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:697 +#: templates/js/translated/bom.js:699 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:824 +#: templates/js/translated/bom.js:818 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:834 +#: templates/js/translated/bom.js:828 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:838 templates/js/translated/build.js:1769 +#: templates/js/translated/bom.js:832 templates/js/translated/build.js:1769 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/bom.js:900 templates/js/translated/build.js:1814 #: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:910 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:904 templates/js/translated/build.js:1818 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:912 templates/js/translated/build.js:1820 -#: templates/js/translated/part.js:690 +#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1820 +#: templates/js/translated/part.js:734 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:914 templates/js/translated/build.js:1822 +#: templates/js/translated/bom.js:908 templates/js/translated/build.js:1822 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:928 +#: templates/js/translated/bom.js:922 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:943 +#: templates/js/translated/bom.js:937 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:950 +#: templates/js/translated/bom.js:944 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:999 templates/js/translated/bom.js:1090 +#: templates/js/translated/bom.js:993 templates/js/translated/bom.js:1084 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1061 +#: templates/js/translated/bom.js:1055 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1063 +#: templates/js/translated/bom.js:1057 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1065 +#: templates/js/translated/bom.js:1059 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1067 templates/js/translated/bom.js:1228 +#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1222 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1069 +#: templates/js/translated/bom.js:1063 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1164 templates/js/translated/build.js:1615 +#: templates/js/translated/bom.js:1158 templates/js/translated/build.js:1615 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1408 templates/js/translated/build.js:1753 +#: templates/js/translated/bom.js:1402 templates/js/translated/build.js:1753 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1430 +#: templates/js/translated/bom.js:1424 msgid "Inherited from parent BOM" msgstr "" @@ -8040,13 +8033,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91 -#: templates/js/translated/stock.js:181 +#: templates/js/translated/build.js:259 templates/js/translated/stock.js:90 +#: templates/js/translated/stock.js:180 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93 -#: templates/js/translated/stock.js:183 +#: templates/js/translated/build.js:261 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:182 msgid "Latest serial number" msgstr "" @@ -8259,9 +8252,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: 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 +#: templates/js/translated/build.js:2448 templates/js/translated/part.js:1358 +#: templates/js/translated/part.js:1825 templates/js/translated/stock.js:1629 +#: templates/js/translated/stock.js:2287 msgid "Select" msgstr "선택" @@ -8273,7 +8266,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2519 +#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2529 msgid "No user information" msgstr "" @@ -8285,107 +8278,107 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:169 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:168 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:157 templates/js/translated/order.js:506 +#: templates/js/translated/company.js:156 templates/js/translated/order.js:506 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:185 +#: templates/js/translated/company.js:184 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:200 +#: templates/js/translated/company.js:199 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:249 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:263 +#: templates/js/translated/company.js:264 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:342 +#: templates/js/translated/company.js:336 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:413 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:428 +#: templates/js/translated/company.js:422 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:443 +#: templates/js/translated/company.js:437 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:478 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:492 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:526 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:548 +#: templates/js/translated/company.js:539 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:595 +#: templates/js/translated/company.js:580 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:615 -#: templates/js/translated/company.js:874 templates/js/translated/part.js:565 -#: templates/js/translated/part.js:650 +#: templates/js/translated/company.js:600 +#: templates/js/translated/company.js:859 templates/js/translated/part.js:609 +#: templates/js/translated/part.js:694 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:619 -#: templates/js/translated/company.js:878 templates/js/translated/part.js:569 -#: templates/js/translated/part.js:654 +#: templates/js/translated/company.js:604 +#: templates/js/translated/company.js:863 templates/js/translated/part.js:613 +#: templates/js/translated/part.js:698 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:747 templates/js/translated/part.js:757 +#: templates/js/translated/company.js:732 templates/js/translated/part.js:801 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:799 +#: templates/js/translated/company.js:769 templates/js/translated/part.js:843 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:785 templates/js/translated/part.js:800 +#: templates/js/translated/company.js:770 templates/js/translated/part.js:844 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:804 templates/js/translated/part.js:817 +#: templates/js/translated/company.js:789 templates/js/translated/part.js:861 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:815 templates/js/translated/part.js:829 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:873 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:854 +#: templates/js/translated/company.js:839 msgid "No supplier parts found" msgstr "" @@ -8448,36 +8441,36 @@ msgstr "" msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:756 +#: templates/js/translated/forms.js:757 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1248 templates/modals.html:19 +#: templates/js/translated/forms.js:1249 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1681 +#: templates/js/translated/forms.js:1682 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1896 templates/search.html:29 +#: templates/js/translated/forms.js:1897 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2149 +#: templates/js/translated/forms.js:2150 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2627 +#: templates/js/translated/forms.js:2628 msgid "Select Columns" msgstr "" @@ -8498,7 +8491,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1023 +#: templates/js/translated/stock.js:1022 msgid "Select Stock Items" msgstr "" @@ -8552,12 +8545,12 @@ msgid "Select Label Template" msgstr "" #: templates/js/translated/modals.js:82 templates/js/translated/modals.js:142 -#: templates/js/translated/modals.js:621 +#: templates/js/translated/modals.js:627 msgid "Cancel" msgstr "취소" #: 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/js/translated/modals.js:694 templates/js/translated/modals.js:1002 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "제출" @@ -8566,47 +8559,47 @@ msgstr "제출" msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:403 +#: templates/js/translated/modals.js:421 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:562 +#: templates/js/translated/modals.js:568 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:620 +#: templates/js/translated/modals.js:626 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:677 +#: templates/js/translated/modals.js:683 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:960 +#: templates/js/translated/modals.js:966 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1072 +#: templates/js/translated/modals.js:1078 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1073 +#: templates/js/translated/modals.js:1079 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1096 +#: templates/js/translated/modals.js:1102 msgid "Error requesting form data" msgstr "" @@ -8656,11 +8649,11 @@ msgstr "" msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:259 +#: templates/js/translated/notification.js:260 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:300 templates/notifications.html:10 +#: templates/js/translated/notification.js:302 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" @@ -8804,7 +8797,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2080 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2090 msgid "Stock Status" msgstr "" @@ -8828,7 +8821,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1602 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1602 templates/js/translated/part.js:914 msgid "No purchase orders found" msgstr "" @@ -8863,7 +8856,7 @@ msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 #: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 -#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 +#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2397 msgid "Unit Price" msgstr "단가" @@ -8873,11 +8866,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:1993 templates/js/translated/order.js:3525 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:1023 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1069 msgid "Receive line item" msgstr "" @@ -8998,7 +8991,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1535 +#: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" @@ -9138,165 +9131,209 @@ msgstr "" msgid "Create Part Variant" msgstr "" +#: templates/js/translated/part.js:405 +msgid "Active Part" +msgstr "" + +#: templates/js/translated/part.js:406 +msgid "Part cannot be deleted as it is currently active" +msgstr "" + +#: templates/js/translated/part.js:420 +msgid "Deleting this part cannot be reversed" +msgstr "" + +#: templates/js/translated/part.js:422 +msgid "Any stock items for this part will be deleted" +msgstr "" + #: templates/js/translated/part.js:423 +msgid "This part will be removed from any Bills of Material" +msgstr "" + +#: templates/js/translated/part.js:424 +msgid "All manufacturer and supplier information for this part will be deleted" +msgstr "" + +#: templates/js/translated/part.js:431 +msgid "Delete Part" +msgstr "" + +#: templates/js/translated/part.js:467 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:425 +#: templates/js/translated/part.js:469 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:474 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:476 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:493 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:503 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:506 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:487 +#: templates/js/translated/part.js:531 msgid "Copy Bill of Materials" msgstr "부품 명세서 복사" -#: templates/js/translated/part.js:513 templates/js/translated/part.js:1397 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1441 #: templates/js/translated/table_filters.js:452 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:523 templates/js/translated/part.js:1409 +#: templates/js/translated/part.js:567 templates/js/translated/part.js:1453 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:557 templates/js/translated/part.js:642 +#: templates/js/translated/part.js:601 templates/js/translated/part.js:686 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:561 templates/js/translated/part.js:646 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:690 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:617 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:577 +#: templates/js/translated/part.js:621 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:705 +#: templates/js/translated/part.js:749 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1095 +#: templates/js/translated/part.js:1139 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1119 +#: templates/js/translated/part.js:1163 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1184 templates/js/translated/part.js:1480 +#: templates/js/translated/part.js:1228 templates/js/translated/part.js:1524 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1223 +#: templates/js/translated/part.js:1267 msgid "Not available" msgstr "" -#: templates/js/translated/part.js:1374 +#: templates/js/translated/part.js:1418 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664 -#: templates/js/translated/stock.js:2238 +#: templates/js/translated/part.js:1548 templates/js/translated/part.js:1760 +#: templates/js/translated/stock.js:2248 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1520 +#: templates/js/translated/part.js:1564 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2257 +#: templates/js/translated/part.js:1630 +msgid "Set the part category for the selected parts" +msgstr "" + +#: templates/js/translated/part.js:1635 +msgid "Set Part Category" +msgstr "" + +#: templates/js/translated/part.js:1640 +msgid "Select Part Category" +msgstr "" + +#: templates/js/translated/part.js:1653 +msgid "Category is required" +msgstr "" + +#: templates/js/translated/part.js:1779 templates/js/translated/stock.js:2267 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1747 +#: templates/js/translated/part.js:1843 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2301 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2311 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:1901 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1233 +#: templates/js/translated/part.js:1952 templates/js/translated/stock.js:1243 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1234 -#: templates/js/translated/stock.js:1493 +#: templates/js/translated/part.js:1953 templates/js/translated/stock.js:1244 +#: templates/js/translated/stock.js:1503 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1863 +#: templates/js/translated/part.js:1959 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1885 +#: templates/js/translated/part.js:1981 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:1995 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1924 +#: templates/js/translated/part.js:2020 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1981 +#: templates/js/translated/part.js:2077 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1982 +#: templates/js/translated/part.js:2078 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:2096 +#: templates/js/translated/part.js:2192 msgid "Current Stock" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2225 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2155 +#: templates/js/translated/part.js:2251 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2225 +#: templates/js/translated/part.js:2321 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:2244 +#: templates/js/translated/part.js:2340 msgid "Single Price Difference" msgstr "" @@ -9378,360 +9415,360 @@ msgstr "" msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:72 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:101 +#: templates/js/translated/stock.js:100 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:109 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:139 +#: templates/js/translated/stock.js:138 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:153 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:194 +#: templates/js/translated/stock.js:193 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:233 +#: templates/js/translated/stock.js:232 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:239 +#: templates/js/translated/stock.js:238 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:303 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:324 +#: templates/js/translated/stock.js:323 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:344 +#: templates/js/translated/stock.js:343 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:394 +#: templates/js/translated/stock.js:393 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:407 +#: templates/js/translated/stock.js:406 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:431 msgid "Find Serial Number" msgstr "일련번호 찾기" -#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436 msgid "Enter serial number" msgstr "일련번호를 입력하세요" -#: templates/js/translated/stock.js:453 +#: templates/js/translated/stock.js:452 msgid "Enter a serial number" msgstr "일련번호를 입력하세요" -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:472 msgid "No matching serial number" msgstr "일치하는 일련번호가 없습니다" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:481 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:605 +#: templates/js/translated/stock.js:604 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:606 +#: templates/js/translated/stock.js:605 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:683 +#: templates/js/translated/stock.js:682 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:684 +#: templates/js/translated/stock.js:683 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:686 +#: templates/js/translated/stock.js:685 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:687 +#: templates/js/translated/stock.js:686 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:772 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:774 +#: templates/js/translated/stock.js:773 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:869 +#: templates/js/translated/stock.js:868 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:869 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:876 +#: templates/js/translated/stock.js:875 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:876 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:881 +#: templates/js/translated/stock.js:880 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:882 +#: templates/js/translated/stock.js:881 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:886 +#: templates/js/translated/stock.js:885 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:887 users/models.py:215 +#: templates/js/translated/stock.js:886 users/models.py:215 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1024 +#: templates/js/translated/stock.js:1023 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1047 +#: templates/js/translated/stock.js:1046 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1172 +#: templates/js/translated/stock.js:1182 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1174 +#: templates/js/translated/stock.js:1184 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1179 +#: templates/js/translated/stock.js:1189 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1226 +#: templates/js/translated/stock.js:1236 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1229 +#: templates/js/translated/stock.js:1239 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1255 +#: templates/js/translated/stock.js:1265 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1321 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1476 +#: templates/js/translated/stock.js:1486 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1498 +#: templates/js/translated/stock.js:1508 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1527 +#: templates/js/translated/stock.js:1537 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1531 +#: templates/js/translated/stock.js:1541 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1539 +#: templates/js/translated/stock.js:1549 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1545 +#: templates/js/translated/stock.js:1555 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1712 +#: templates/js/translated/stock.js:1722 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1727 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1720 +#: templates/js/translated/stock.js:1730 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1723 +#: templates/js/translated/stock.js:1733 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1725 +#: templates/js/translated/stock.js:1735 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1727 +#: templates/js/translated/stock.js:1737 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1730 +#: templates/js/translated/stock.js:1740 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1734 +#: templates/js/translated/stock.js:1744 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1746 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1743 +#: templates/js/translated/stock.js:1753 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1755 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:1757 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1751 +#: templates/js/translated/stock.js:1761 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1802 +#: templates/js/translated/stock.js:1812 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1894 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1932 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2095 +#: templates/js/translated/stock.js:2105 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2109 +#: templates/js/translated/stock.js:2119 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2120 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2375 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2381 +#: templates/js/translated/stock.js:2391 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2403 +#: templates/js/translated/stock.js:2413 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2422 +#: templates/js/translated/stock.js:2432 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2441 +#: templates/js/translated/stock.js:2451 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2459 +#: templates/js/translated/stock.js:2469 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2482 +#: templates/js/translated/stock.js:2492 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2490 +#: templates/js/translated/stock.js:2500 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2566 +#: templates/js/translated/stock.js:2576 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2617 templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2663 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2666 +#: templates/js/translated/stock.js:2676 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2697 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2688 +#: templates/js/translated/stock.js:2698 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2690 +#: templates/js/translated/stock.js:2700 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/stock.js:2701 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2702 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2693 +#: templates/js/translated/stock.js:2703 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2716 msgid "Select part to install" msgstr "" diff --git a/InvenTree/locale/nl/LC_MESSAGES/django.po b/InvenTree/locale/nl/LC_MESSAGES/django.po index cb99d4f47b..26d1304f92 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-06-05 14:26+0000\n" -"PO-Revision-Date: 2022-06-05 14:34\n" +"POT-Creation-Date: 2022-06-06 22:59+0000\n" +"PO-Revision-Date: 2022-06-07 14:34\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:46 +#: InvenTree/api.py:49 msgid "API endpoint not found" msgstr "API eindpunt niet gevonden" @@ -29,275 +29,273 @@ msgstr "Error details kunnen worden gevonden in het admin scherm" msgid "Enter date" msgstr "Voer datum in" -#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:630 -msgid "Confirm" -msgstr "Bevestigen" - -#: InvenTree/forms.py:134 +#: InvenTree/forms.py:117 msgid "Confirm delete" msgstr "Bevestig verwijdering" -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:118 msgid "Confirm item deletion" msgstr "Bevestig item verwijdering" -#: InvenTree/forms.py:167 +#: InvenTree/forms.py:150 msgid "Enter password" msgstr "Voer wachtwoord in" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:151 msgid "Enter new password" msgstr "Voer een nieuw wachtwoord in" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:158 msgid "Confirm password" msgstr "Wachtwoord bevestigen" -#: InvenTree/forms.py:176 +#: InvenTree/forms.py:159 msgid "Confirm new password" msgstr "Nieuw wachtwoord bevestigen" -#: InvenTree/forms.py:213 -msgid "Select Category" -msgstr "Categorie selecteren" - -#: InvenTree/forms.py:234 +#: InvenTree/forms.py:184 msgid "Email (again)" msgstr "E-mailadres (opnieuw)" -#: InvenTree/forms.py:238 +#: InvenTree/forms.py:188 msgid "Email address confirmation" msgstr "E-mailadres bevestiging" -#: InvenTree/forms.py:259 +#: InvenTree/forms.py:209 msgid "You must type the same email each time." msgstr "Er moet hetzelfde e-mailadres ingevoerd worden." -#: InvenTree/helpers.py:402 +#: InvenTree/helpers.py:404 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "Duplicaat serienummer: {sn}" -#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 +#: InvenTree/helpers.py:411 order/models.py:370 order/models.py:522 msgid "Invalid quantity provided" msgstr "Ongeldige hoeveelheid ingevoerd" -#: InvenTree/helpers.py:412 +#: InvenTree/helpers.py:414 msgid "Empty serial number string" msgstr "Leeg serienummer" -#: InvenTree/helpers.py:444 +#: InvenTree/helpers.py:446 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Ongeldig groepsbereik: {g}" -#: InvenTree/helpers.py:447 +#: InvenTree/helpers.py:449 #, python-brace-format msgid "Invalid group: {g}" msgstr "Ongeldige groep: {g}" -#: InvenTree/helpers.py:475 +#: InvenTree/helpers.py:477 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "Ongeldig groepsbereik: {g}" -#: InvenTree/helpers.py:483 +#: InvenTree/helpers.py:485 #, python-brace-format msgid "Invalid/no group {group}" msgstr "Ongeldige/geen groep {group}" -#: InvenTree/helpers.py:489 +#: InvenTree/helpers.py:491 msgid "No serial numbers found" msgstr "Geen serienummers gevonden" -#: InvenTree/helpers.py:493 +#: InvenTree/helpers.py:495 #, 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:174 +#: InvenTree/models.py:178 msgid "Missing file" msgstr "Ontbrekend bestand" -#: InvenTree/models.py:175 +#: InvenTree/models.py:179 msgid "Missing external link" msgstr "Externe link ontbreekt" -#: InvenTree/models.py:187 stock/models.py:2087 -#: templates/js/translated/attachment.js:101 -#: templates/js/translated/attachment.js:198 +#: InvenTree/models.py:191 stock/models.py:2091 +#: templates/js/translated/attachment.js:103 +#: templates/js/translated/attachment.js:194 msgid "Attachment" msgstr "Bijlage" -#: InvenTree/models.py:188 +#: InvenTree/models.py:192 msgid "Select file to attach" msgstr "Bestand als bijlage selecteren" -#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 -#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: InvenTree/models.py:198 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:136 order/models.py:1251 #: 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 -#: templates/js/translated/part.js:1441 +#: templates/js/translated/company.js:640 +#: templates/js/translated/company.js:931 templates/js/translated/order.js:2676 +#: templates/js/translated/part.js:1485 msgid "Link" msgstr "Link" -#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: InvenTree/models.py:199 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:198 templates/js/translated/attachment.js:102 -#: templates/js/translated/attachment.js:242 +#: InvenTree/models.py:202 templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:238 msgid "Comment" msgstr "Opmerking" -#: InvenTree/models.py:198 +#: InvenTree/models.py:202 msgid "File comment" msgstr "Bestand opmerking" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1506 +#: common/models.py:1507 common/models.py:1735 common/models.py:1736 +#: common/models.py:1998 common/models.py:1999 part/models.py:2141 +#: part/models.py:2161 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:2523 msgid "User" msgstr "Gebruiker" -#: InvenTree/models.py:208 +#: InvenTree/models.py:212 msgid "upload date" msgstr "uploaddatum" -#: InvenTree/models.py:230 +#: InvenTree/models.py:234 msgid "Filename must not be empty" msgstr "Bestandsnaam mag niet leeg zijn" -#: InvenTree/models.py:253 +#: InvenTree/models.py:257 msgid "Invalid attachment directory" msgstr "Foute bijlagemap" -#: InvenTree/models.py:263 +#: InvenTree/models.py:267 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Bestandsnaam bevat illegale teken '{c}'" -#: InvenTree/models.py:266 +#: InvenTree/models.py:270 msgid "Filename missing extension" msgstr "Bestandsnaam mist extensie" -#: InvenTree/models.py:273 +#: InvenTree/models.py:277 msgid "Attachment with this filename already exists" msgstr "Bijlage met deze bestandsnaam bestaat al" -#: InvenTree/models.py:280 +#: InvenTree/models.py:284 msgid "Error renaming file" msgstr "Fout bij hernoemen bestand" -#: InvenTree/models.py:314 +#: InvenTree/models.py:318 msgid "Invalid choice" msgstr "Ongeldige keuze" -#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 #: company/models.py:354 label/models.py:101 part/models.py:739 -#: part/models.py:2331 plugin/models.py:93 report/models.py:151 +#: part/models.py:2319 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 #: templates/InvenTree/settings/plugin.html:132 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:346 -#: 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:2283 +#: templates/js/translated/company.js:530 +#: templates/js/translated/company.js:742 templates/js/translated/part.js:659 +#: templates/js/translated/part.js:811 templates/js/translated/part.js:1832 +#: templates/js/translated/stock.js:2293 msgid "Name" msgstr "Naam" -#: InvenTree/models.py:340 build/models.py:197 +#: InvenTree/models.py:344 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: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:164 +#: order/models.py:134 part/models.py:762 part/templates/part/category.html:74 +#: part/templates/part/part_base.html:167 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 -#: 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/bom.js:553 templates/js/translated/bom.js:845 +#: templates/js/translated/build.js:2476 templates/js/translated/company.js:395 +#: templates/js/translated/company.js:651 +#: templates/js/translated/company.js:942 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:1676 -#: templates/js/translated/stock.js:2295 templates/js/translated/stock.js:2350 +#: templates/js/translated/part.js:718 templates/js/translated/part.js:1126 +#: templates/js/translated/part.js:1399 templates/js/translated/part.js:1851 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:1686 +#: templates/js/translated/stock.js:2305 templates/js/translated/stock.js:2360 msgid "Description" msgstr "Omschrijving" -#: InvenTree/models.py:341 +#: InvenTree/models.py:345 msgid "Description (optional)" msgstr "Omschrijving (optioneel)" -#: InvenTree/models.py:349 +#: InvenTree/models.py:353 msgid "parent" msgstr "bovenliggende" -#: InvenTree/serializers.py:52 part/models.py:2652 +#: InvenTree/models.py:466 +msgid "Server Error" +msgstr "" + +#: InvenTree/models.py:467 +msgid "An error has been logged by the server." +msgstr "" + +#: InvenTree/serializers.py:52 part/models.py:2640 msgid "Must be a valid number" msgstr "Moet een geldig nummer zijn" -#: InvenTree/serializers.py:271 +#: InvenTree/serializers.py:263 msgid "Filename" msgstr "Bestandsnaam" -#: InvenTree/serializers.py:306 +#: InvenTree/serializers.py:298 msgid "Invalid value" msgstr "Ongeldige waarde" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:320 msgid "Data File" msgstr "Data bestand" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:321 msgid "Select data file for upload" msgstr "Selecteer een bestand om te uploaden" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:342 msgid "Unsupported file type" msgstr "Niet ondersteund bestandstype" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:348 msgid "File is too large" msgstr "Bestand is te groot" -#: InvenTree/serializers.py:377 +#: InvenTree/serializers.py:369 msgid "No columns found in file" msgstr "Geen kolommen gevonden in het bestand" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:372 msgid "No data rows found in file" msgstr "Geen data rijen gevonden in dit bestand" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:495 msgid "No data rows provided" msgstr "Geen data rijen opgegeven" -#: InvenTree/serializers.py:506 +#: InvenTree/serializers.py:498 msgid "No data columns supplied" msgstr "Geen gegevenskolommen opgegeven" -#: InvenTree/serializers.py:583 +#: InvenTree/serializers.py:575 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Verplichte kolom ontbreekt: '{name}'" -#: InvenTree/serializers.py:592 +#: InvenTree/serializers.py:584 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Dubbele kolom: '{col}'" @@ -440,7 +438,7 @@ msgstr "Kwijt" msgid "Returned" msgstr "Retour" -#: InvenTree/status_codes.py:141 order/models.py:1114 +#: InvenTree/status_codes.py:141 order/models.py:1130 #: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "Verzonden" @@ -525,7 +523,7 @@ msgstr "Splits van bovenliggend item" msgid "Split child item" msgstr "Splits onderliggende item" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2020 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2030 msgid "Merged stock items" msgstr "Samengevoegde voorraadartikelen" @@ -597,27 +595,27 @@ msgstr "Overschot mag niet groter zijn dan 100%" msgid "Invalid value for overage" msgstr "Ongeldige waarde voor overschot" -#: InvenTree/views.py:522 +#: InvenTree/views.py:521 msgid "Delete Item" msgstr "Verwijder Artikel" -#: InvenTree/views.py:571 +#: InvenTree/views.py:570 msgid "Check box to confirm item deletion" msgstr "Selectievakje aanvinken om verwijdering van artikel te bevestigen" -#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:585 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Gebruikersgegevens bewerken" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:597 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Wachtwoord instellen" -#: InvenTree/views.py:618 +#: InvenTree/views.py:617 msgid "Password fields must match" msgstr "Wachtwoordvelden komen niet overeen" -#: InvenTree/views.py:842 templates/navbar.html:152 +#: InvenTree/views.py:807 templates/navbar.html:152 msgid "System Information" msgstr "Systeeminformatie" @@ -628,6 +626,7 @@ msgstr "Ongeldige keuze voor bovenliggende productie" #: 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/email/overdue_build_order.html:15 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "Productieopdracht" @@ -646,12 +645,12 @@ msgstr "Productieopdrachten" msgid "Build Order Reference" msgstr "Productieopdracht Referentie" -#: build/models.py:189 order/models.py:288 order/models.py:638 -#: order/models.py:916 part/models.py:2570 +#: build/models.py:189 order/models.py:293 order/models.py:654 +#: order/models.py:932 part/models.py:2558 #: 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/bom.js:690 templates/js/translated/bom.js:852 #: 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:3959 @@ -673,13 +672,12 @@ msgstr "Productieopdracht waar dit productie aan is toegewezen" #: 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:2460 part/models.py:2545 part/models.py:2821 -#: part/serializers.py:793 part/templates/part/part_app_base.html:8 +#: order/models.py:1028 order/models.py:1119 part/models.py:336 +#: part/models.py:2087 part/models.py:2102 part/models.py:2121 +#: part/models.py:2139 part/models.py:2238 part/models.py:2358 +#: part/models.py:2448 part/models.py:2533 part/models.py:2809 +#: part/serializers.py:795 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 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 @@ -687,22 +685,23 @@ msgstr "Productieopdracht waar dit productie aan is toegewezen" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 +#: templates/email/overdue_build_order.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:805 +#: templates/js/translated/bom.js:689 templates/js/translated/bom.js:799 #: 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/company.js:253 +#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:592 +#: templates/js/translated/company.js:851 templates/js/translated/order.js:100 #: templates/js/translated/order.js:883 templates/js/translated/order.js:1315 #: 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:1633 templates/js/translated/stock.js:2376 -#: templates/js/translated/stock.js:2571 templates/js/translated/stock.js:2705 +#: templates/js/translated/part.js:1111 templates/js/translated/part.js:1181 +#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:695 templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2386 +#: templates/js/translated/stock.js:2581 templates/js/translated/stock.js:2715 msgid "Part" msgstr "Onderdeel" @@ -768,12 +767,12 @@ msgstr "Batchcode" msgid "Batch code for this build output" msgstr "Batchcode voor deze productieuitvoer" -#: build/models.py:282 order/models.py:137 part/models.py:932 +#: build/models.py:282 order/models.py:138 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:286 order/models.py:660 +#: build/models.py:286 order/models.py:676 msgid "Target completion date" msgstr "Verwachte opleveringsdatum" @@ -781,7 +780,7 @@ msgstr "Verwachte opleveringsdatum" 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:290 order/models.py:331 +#: build/models.py:290 order/models.py:336 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "Opleveringsdatum" @@ -799,7 +798,7 @@ msgid "User who issued this build order" msgstr "Gebruiker die de productie-opdracht heeft gegeven" #: build/models.py:313 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:151 +#: build/templates/build/detail.html:115 order/models.py:152 #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 @@ -822,20 +821,20 @@ msgstr "Externe Link" #: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 #: company/models.py:519 company/templates/company/sidebar.html:25 -#: order/models.py:155 order/models.py:918 order/models.py:1213 +#: order/models.py:156 order/models.py:934 order/models.py:1229 #: order/templates/order/po_sidebar.html:11 #: 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:713 stock/models.py:1985 stock/models.py:2093 +#: stock/models.py:713 stock/models.py:1989 stock/models.py:2097 #: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:486 -#: stock/serializers.py:772 stock/serializers.py:871 stock/serializers.py:1003 +#: stock/serializers.py:759 stock/serializers.py:858 stock/serializers.py:990 #: 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/barcode.js:100 templates/js/translated/bom.js:1038 +#: templates/js/translated/company.js:947 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 -#: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 +#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1926 msgid "Notes" msgstr "Opmerkingen" @@ -855,44 +854,44 @@ msgstr "Productie uitvoer is al voltooid" msgid "Build output does not match Build Order" msgstr "Product komt niet overeen met de Productieopdracht" -#: build/models.py:1108 +#: build/models.py:1111 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:1117 +#: build/models.py:1120 #, 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:1127 +#: build/models.py:1130 msgid "Stock item is over-allocated" msgstr "Voorraad item is te veel toegewezen" -#: build/models.py:1133 order/models.py:1372 +#: build/models.py:1136 order/models.py:1388 msgid "Allocation quantity must be greater than zero" msgstr "Toewijzing hoeveelheid moet groter zijn dan nul" -#: build/models.py:1139 +#: build/models.py:1142 msgid "Quantity must be 1 for serialized stock" msgstr "Hoeveelheid moet 1 zijn voor geserialiseerde voorraad" -#: build/models.py:1196 +#: build/models.py:1199 msgid "Selected stock item not found in BOM" msgstr "Geselecteerd voorraadartikel niet gevonden in stuklijst" -#: build/models.py:1265 stock/templates/stock/item_base.html:177 +#: build/models.py:1268 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:1266 +#: build/models.py:1269 msgid "Build to allocate parts" msgstr "Product om onderdelen toe te wijzen" -#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 -#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:703 -#: stock/serializers.py:829 stock/templates/stock/item_base.html:10 +#: build/models.py:1285 build/serializers.py:603 order/serializers.py:996 +#: order/serializers.py:1017 stock/serializers.py:382 stock/serializers.py:690 +#: stock/serializers.py:816 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 @@ -900,22 +899,22 @@ msgstr "Product om onderdelen toe te wijzen" #: 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:2449 +#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696 +#: templates/js/translated/stock.js:2459 msgid "Stock Item" msgstr "Voorraadartikel" -#: build/models.py:1283 +#: build/models.py:1286 msgid "Source stock item" msgstr "Bron voorraadartikel" -#: build/models.py:1295 build/serializers.py:183 +#: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1536 +#: build/templates/build/detail.html:34 common/models.py:1543 #: 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:68 -#: part/forms.py:83 part/forms.py:98 part/models.py:2561 +#: order/models.py:925 order/models.py:1428 order/serializers.py:1136 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 +#: part/forms.py:74 part/forms.py:89 part/models.py:2549 #: 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 @@ -926,8 +925,8 @@ msgstr "Bron voorraadartikel" #: report/templates/report/inventree_test_report_base.html:139 #: 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 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:691 +#: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 #: templates/js/translated/build.js:574 templates/js/translated/build.js:765 #: templates/js/translated/build.js:1175 templates/js/translated/build.js:1673 #: templates/js/translated/build.js:2086 @@ -937,23 +936,23 @@ msgstr "Bron voorraadartikel" #: 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: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 -#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727 -#: templates/js/translated/stock.js:2498 templates/js/translated/stock.js:2583 +#: templates/js/translated/part.js:1011 templates/js/translated/part.js:2065 +#: templates/js/translated/part.js:2296 templates/js/translated/part.js:2330 +#: templates/js/translated/part.js:2408 templates/js/translated/stock.js:402 +#: templates/js/translated/stock.js:556 templates/js/translated/stock.js:726 +#: templates/js/translated/stock.js:2508 templates/js/translated/stock.js:2593 msgid "Quantity" msgstr "Hoeveelheid" -#: build/models.py:1296 +#: build/models.py:1299 msgid "Stock quantity to allocate to build" msgstr "Voorraad hoeveelheid toe te wijzen aan productie" -#: build/models.py:1304 +#: build/models.py:1307 msgid "Install into" msgstr "Installeren in" -#: build/models.py:1305 +#: build/models.py:1308 msgid "Destination stock item" msgstr "Bestemming voorraadartikel" @@ -982,9 +981,9 @@ msgstr "Deze productieuitvoer is niet volledig toegewezen" msgid "Enter quantity for build output" msgstr "Voer hoeveelheid in voor productie uitvoer" -#: 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:1239 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:368 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:514 +#: part/serializers.py:958 stock/models.py:470 stock/models.py:1239 #: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "Hoeveelheid moet groter zijn dan nul" @@ -997,9 +996,9 @@ msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen" 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:222 order/serializers.py:448 order/serializers.py:1138 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 #: stock/serializers.py:297 templates/js/translated/order.js:1186 -#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:237 templates/js/translated/stock.js:403 msgid "Serial Numbers" msgstr "Serienummers" @@ -1015,7 +1014,7 @@ msgstr "Serienummers automatisch toewijzen" msgid "Automatically allocate required items with matching serial numbers" msgstr "Vereiste artikelen automatisch toewijzen met overeenkomende serienummers" -#: build/serializers.py:268 stock/api.py:552 +#: build/serializers.py:268 stock/api.py:553 msgid "The following serial numbers already exist" msgstr "De volgende serienummers bestaan al" @@ -1025,16 +1024,16 @@ msgstr "Een lijst van productieuitvoeren moet worden verstrekt" #: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 #: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:481 -#: stock/serializers.py:864 stock/serializers.py:1097 +#: stock/serializers.py:851 stock/serializers.py:1084 #: 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 #: 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:1787 templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532 +#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904 +#: templates/js/translated/stock.js:1797 templates/js/translated/stock.js:2400 msgid "Location" msgstr "Locatie" @@ -1043,12 +1042,12 @@ msgid "Location for completed build outputs" msgstr "Locatie van voltooide productieuitvoeren" #: build/serializers.py:363 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:654 +#: build/templates/build/detail.html:62 order/models.py:670 #: 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 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1772 +#: templates/js/translated/stock.js:2477 templates/js/translated/stock.js:2609 msgid "Status" msgstr "Status" @@ -1108,8 +1107,8 @@ msgstr "Productieorder heeft onvolledige uitvoeren" msgid "No build outputs have been created for this build order" msgstr "Er zijn geen productuitvoeren aangemaakt voor deze productieorder" -#: build/serializers.py:535 build/serializers.py:580 part/models.py:2679 -#: part/models.py:2813 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2667 +#: part/models.py:2801 msgid "BOM Item" msgstr "Stuklijstartikel" @@ -1125,11 +1124,11 @@ msgstr "Productieuitvoer moet naar dezelfde productie wijzen" 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:609 stock/serializers.py:716 +#: build/serializers.py:609 stock/serializers.py:703 msgid "Item must be in stock" msgstr "Artikel moet op voorraad zijn" -#: build/serializers.py:667 order/serializers.py:1052 +#: build/serializers.py:667 order/serializers.py:1054 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Beschikbare hoeveelheid ({q}) overschreden" @@ -1146,7 +1145,7 @@ msgstr "Productieuitvoer kan niet worden gespecificeerd voor de toewijzing van n msgid "This stock item has already been allocated to this build output" msgstr "Dit voorraadartikel is al toegewezen aan deze productieoutput" -#: build/serializers.py:708 order/serializers.py:1298 +#: build/serializers.py:708 order/serializers.py:1300 msgid "Allocation items must be provided" msgstr "" @@ -1178,10 +1177,19 @@ msgstr "Vervangende Voorraad" msgid "Allow allocation of substitute parts" msgstr "Toewijzing van vervangende onderdelen toestaan" -#: build/tasks.py:96 +#: build/tasks.py:100 msgid "Stock required for build order" msgstr "Voorraad vereist voor productieorder" +#: build/tasks.py:118 +msgid "Overdue Build Order" +msgstr "" + +#: build/tasks.py:123 +#, python-brace-format +msgid "Build order {bo} is now overdue" +msgstr "" + #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 #: order/templates/order/sales_order_base.html:38 @@ -1244,13 +1252,13 @@ 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:922 +#: build/templates/build/detail.html:131 order/models.py:938 #: 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: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 +#: templates/js/translated/order.js:3517 templates/js/translated/part.js:1015 msgid "Target Date" msgstr "Streefdatum" @@ -1277,13 +1285,14 @@ msgid "Completed" msgstr "Voltooid" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1100 -#: order/models.py:1185 order/models.py:1320 +#: build/templates/build/detail.html:94 order/models.py:1116 +#: order/models.py:1201 order/models.py:1336 #: 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/email/overdue_sales_order.html:15 #: templates/js/translated/order.js:2436 msgid "Sales Order" msgstr "Verkooporder" @@ -1319,7 +1328,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:1034 +#: build/templates/build/detail.html:49 order/models.py:1050 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "Bestemming" @@ -1336,8 +1345,8 @@ msgstr "Toegewezen Onderdelen" #: stock/templates/stock/item_base.html:170 #: templates/js/translated/build.js:1179 #: templates/js/translated/model_renderers.js:112 -#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1776 -#: templates/js/translated/stock.js:2606 +#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:2616 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1716,7 +1725,7 @@ msgstr "Kopiëer Categorieparameter Sjablonen" msgid "Copy category parameter templates when creating a part" msgstr "Kopieer categorieparameter sjablonen bij het aanmaken van een onderdeel" -#: common/models.py:820 part/models.py:2372 report/models.py:157 +#: common/models.py:820 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" @@ -1726,7 +1735,7 @@ msgstr "Sjabloon" msgid "Parts are templates by default" msgstr "Onderdelen zijn standaard sjablonen" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" @@ -1880,576 +1889,584 @@ msgid "Default page size for PDF reports" msgstr "Standaard paginagrootte voor PDF rapporten" #: common/models.py:968 -msgid "Test Reports" -msgstr "Testrapporten" +msgid "Enable Test Reports" +msgstr "" #: common/models.py:969 msgid "Enable generation of test reports" msgstr "Activeer het genereren van testrapporten" #: common/models.py:975 +msgid "Attach Test Reports" +msgstr "" + +#: common/models.py:976 +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" +msgstr "" + +#: common/models.py:982 msgid "Batch Code Template" msgstr "Batchcode Sjabloon" -#: common/models.py:976 +#: common/models.py:983 msgid "Template for generating default batch codes for stock items" msgstr "Sjabloon voor het genereren van standaard batchcodes voor voorraadartikelen" -#: common/models.py:981 +#: common/models.py:988 msgid "Stock Expiry" msgstr "Verlopen Voorraad" -#: common/models.py:982 +#: common/models.py:989 msgid "Enable stock expiry functionality" msgstr "Verlopen voorraad functionaliteit inschakelen" -#: common/models.py:988 +#: common/models.py:995 msgid "Sell Expired Stock" msgstr "Verkoop Verlopen Voorraad" -#: common/models.py:989 +#: common/models.py:996 msgid "Allow sale of expired stock" msgstr "Verkoop verlopen voorraad toestaan" -#: common/models.py:995 +#: common/models.py:1002 msgid "Stock Stale Time" msgstr "Voorraad Vervaltijd" -#: common/models.py:996 +#: common/models.py:1003 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:998 +#: common/models.py:1005 msgid "days" msgstr "dagen" -#: common/models.py:1003 +#: common/models.py:1010 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1004 +#: common/models.py:1011 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1010 +#: common/models.py:1017 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1011 +#: common/models.py:1018 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1017 +#: common/models.py:1024 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1018 +#: common/models.py:1025 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1023 +#: common/models.py:1030 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1024 +#: common/models.py:1031 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1029 +#: common/models.py:1036 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1041 +#: common/models.py:1048 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1042 +#: common/models.py:1049 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1048 +#: common/models.py:1055 msgid "Enable password forgot" msgstr "" -#: common/models.py:1049 +#: common/models.py:1056 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1055 +#: common/models.py:1062 msgid "Enable registration" msgstr "" -#: common/models.py:1056 +#: common/models.py:1063 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1069 msgid "Enable SSO" msgstr "" -#: common/models.py:1063 +#: common/models.py:1070 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1069 +#: common/models.py:1076 msgid "Email required" msgstr "" -#: common/models.py:1070 +#: common/models.py:1077 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1076 +#: common/models.py:1083 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1077 +#: common/models.py:1084 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1083 +#: common/models.py:1090 msgid "Mail twice" msgstr "" -#: common/models.py:1084 +#: common/models.py:1091 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1090 +#: common/models.py:1097 msgid "Password twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1098 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1097 +#: common/models.py:1104 msgid "Group on signup" msgstr "" -#: common/models.py:1098 +#: common/models.py:1105 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1104 +#: common/models.py:1111 msgid "Enforce MFA" msgstr "" -#: common/models.py:1105 +#: common/models.py:1112 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1111 +#: common/models.py:1118 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1112 +#: common/models.py:1119 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1120 +#: common/models.py:1127 msgid "Enable URL integration" msgstr "" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1136 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1136 +#: common/models.py:1143 msgid "Enable app integration" msgstr "" -#: common/models.py:1137 +#: common/models.py:1144 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1144 +#: common/models.py:1151 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1145 +#: common/models.py:1152 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1152 +#: common/models.py:1159 msgid "Enable event integration" msgstr "" -#: common/models.py:1153 +#: common/models.py:1160 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1170 common/models.py:1492 +#: common/models.py:1177 common/models.py:1499 msgid "Settings key (must be unique - case insensitive" msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig" -#: common/models.py:1192 +#: common/models.py:1199 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1193 +#: common/models.py:1200 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1199 +#: common/models.py:1206 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1200 +#: common/models.py:1207 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1213 msgid "Show latest parts" msgstr "Toon laatste onderdelen" -#: common/models.py:1207 +#: common/models.py:1214 msgid "Show latest parts on the homepage" msgstr "Toon laatste onderdelen op de startpagina" -#: common/models.py:1213 +#: common/models.py:1220 msgid "Recent Part Count" msgstr "" -#: common/models.py:1214 +#: common/models.py:1221 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1220 +#: common/models.py:1227 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1221 +#: common/models.py:1228 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1227 +#: common/models.py:1234 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1228 +#: common/models.py:1235 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1235 +#: common/models.py:1242 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Show low stock" msgstr "" -#: common/models.py:1242 +#: common/models.py:1249 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Show depleted stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1256 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1262 msgid "Show needed stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1263 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1269 msgid "Show expired stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1270 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1276 msgid "Show stale stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Show pending builds" msgstr "" -#: common/models.py:1277 +#: common/models.py:1284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Show overdue builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1291 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1291 +#: common/models.py:1298 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Show overdue POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1305 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1312 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1318 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1319 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1317 +#: common/models.py:1324 msgid "Enable label printing" msgstr "" -#: common/models.py:1318 +#: common/models.py:1325 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1324 +#: common/models.py:1331 msgid "Inline label display" msgstr "" -#: common/models.py:1325 +#: common/models.py:1332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1331 +#: common/models.py:1338 msgid "Inline report display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1345 msgid "Search Parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1345 +#: common/models.py:1352 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1359 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1366 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1367 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1373 msgid "Search Categories" msgstr "" -#: common/models.py:1367 +#: common/models.py:1374 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1380 msgid "Search Stock" msgstr "" -#: common/models.py:1374 +#: common/models.py:1381 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1387 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1381 +#: common/models.py:1388 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1394 msgid "Search Locations" msgstr "" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1401 msgid "Search Companies" msgstr "" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1408 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1415 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1422 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1429 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Search Preview Results" msgstr "" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1457 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1457 +#: common/models.py:1464 msgid "Date Format" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1472 part/templates/part/detail.html:39 +#: common/models.py:1479 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1473 +#: common/models.py:1480 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1537 company/forms.py:37 +#: common/models.py:1544 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: 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 +#: common/models.py:1551 company/serializers.py:290 +#: company/templates/company/supplier_part.html:263 order/models.py:965 +#: templates/js/translated/part.js:1042 templates/js/translated/part.js:2070 msgid "Price" msgstr "" -#: common/models.py:1545 +#: common/models.py:1552 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1705 common/models.py:1883 +#: common/models.py:1712 common/models.py:1890 msgid "Endpoint" msgstr "" -#: common/models.py:1706 +#: common/models.py:1713 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1715 +#: common/models.py:1722 msgid "Name for this webhook" msgstr "" -#: common/models.py:1720 part/models.py:911 plugin/models.py:99 +#: common/models.py:1727 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 @@ -2457,79 +2474,89 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1721 +#: common/models.py:1728 msgid "Is this webhook active" msgstr "" -#: common/models.py:1735 +#: common/models.py:1742 msgid "Token" msgstr "" -#: common/models.py:1736 +#: common/models.py:1743 msgid "Token for access" msgstr "" -#: common/models.py:1743 +#: common/models.py:1750 msgid "Secret" msgstr "" -#: common/models.py:1744 +#: common/models.py:1751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Message ID" msgstr "" -#: common/models.py:1851 +#: common/models.py:1858 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1859 +#: common/models.py:1866 msgid "Host" msgstr "" -#: common/models.py:1860 +#: common/models.py:1867 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1867 +#: common/models.py:1874 msgid "Header" msgstr "" -#: common/models.py:1868 +#: common/models.py:1875 msgid "Header of this message" msgstr "" -#: common/models.py:1874 +#: common/models.py:1881 msgid "Body" msgstr "" -#: common/models.py:1875 +#: common/models.py:1882 msgid "Body of this message" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1889 +#: common/models.py:1896 msgid "Worked on" msgstr "" -#: common/models.py:1890 +#: common/models.py:1897 msgid "Was the work on this message finished?" msgstr "" +#: common/notifications.py:292 +#, python-brace-format +msgid "New {verbose_name}" +msgstr "" + +#: common/notifications.py:294 +#, python-brace-format +msgid "A new {verbose_name} has been created and ,assigned to you" +msgstr "" + #: common/views.py:87 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:191 +#: order/views.py:102 part/views.py:116 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:192 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:117 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -2545,19 +2572,19 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:511 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:16 part/forms.py:21 +#: company/forms.py:16 part/forms.py:18 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:17 part/forms.py:22 +#: company/forms.py:17 part/forms.py:19 msgid "Image URL" msgstr "" @@ -2571,7 +2598,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:405 +#: templates/js/translated/company.js:399 msgid "Website" msgstr "" @@ -2644,9 +2671,9 @@ msgstr "is fabrikant" msgid "Does this company manufacture parts?" msgstr "Fabriceert dit bedrijf onderdelen?" -#: 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 +#: company/models.py:144 company/serializers.py:296 +#: company/templates/company/company_base.html:106 part/serializers.py:139 +#: part/serializers.py:170 stock/serializers.py:162 msgid "Currency" msgstr "" @@ -2667,10 +2694,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: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/company.js:383 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:617 +#: templates/js/translated/company.js:902 templates/js/translated/part.js:235 #: templates/js/translated/table_filters.js:411 msgid "Manufacturer" msgstr "Fabrikant" @@ -2681,11 +2708,11 @@ msgstr "Fabrikant selecteren" #: 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 -#: 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 +#: templates/js/translated/company.js:256 +#: templates/js/translated/company.js:483 +#: templates/js/translated/company.js:633 +#: templates/js/translated/company.js:920 templates/js/translated/order.js:1907 +#: templates/js/translated/part.js:246 templates/js/translated/part.js:1000 msgid "MPN" msgstr "" @@ -2714,9 +2741,9 @@ msgstr "" #: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2080 templates/js/translated/company.js:540 -#: templates/js/translated/company.js:763 templates/js/translated/part.js:776 -#: templates/js/translated/stock.js:1294 +#: stock/models.py:2084 templates/js/translated/company.js:531 +#: templates/js/translated/company.js:748 templates/js/translated/part.js:820 +#: templates/js/translated/stock.js:1304 msgid "Value" msgstr "Waarde" @@ -2724,10 +2751,10 @@ msgstr "Waarde" msgid "Parameter value" msgstr "Parameterwaarde" -#: company/models.py:368 part/models.py:878 part/models.py:2339 +#: company/models.py:368 part/models.py:878 part/models.py:2327 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:351 -#: templates/js/translated/company.js:769 templates/js/translated/part.js:782 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:826 msgid "Units" msgstr "Eenheden" @@ -2740,13 +2767,14 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderdeel" #: company/models.py:487 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:303 +#: company/templates/company/supplier_part.html:87 order/models.py:308 #: 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 -#: 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/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:255 +#: templates/js/translated/company.js:387 +#: templates/js/translated/company.js:876 templates/js/translated/order.js:1643 +#: templates/js/translated/part.js:216 templates/js/translated/part.js:968 #: templates/js/translated/table_filters.js:415 msgid "Supplier" msgstr "Leverancier" @@ -2756,9 +2784,9 @@ msgid "Select supplier" msgstr "Leverancier selecteren" #: 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 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:254 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 -#: templates/js/translated/part.js:942 +#: templates/js/translated/part.js:986 msgid "SKU" msgstr "" @@ -2779,23 +2807,23 @@ msgid "Supplier part description" msgstr "" #: company/models.py:518 company/templates/company/supplier_part.html:125 -#: part/models.py:2573 part/templates/part/upload_bom.html:59 +#: part/models.py:2561 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:387 msgid "Note" msgstr "Opmerking" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "base cost" msgstr "basisprijs" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimale kosten (bijv. voorraadkosten)" #: 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 +#: templates/js/translated/company.js:952 templates/js/translated/stock.js:1922 msgid "Packaging" msgstr "" @@ -2803,7 +2831,7 @@ msgstr "" msgid "Part packaging" msgstr "" -#: company/models.py:526 part/models.py:1690 +#: company/models.py:526 part/models.py:1685 msgid "multiple" msgstr "" @@ -2825,7 +2853,7 @@ msgstr "" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:177 templates/js/translated/company.js:378 +#: templates/InvenTree/search.html:177 templates/js/translated/company.js:372 msgid "Company" msgstr "" @@ -2843,7 +2871,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:321 +#: templates/js/translated/company.js:315 msgid "Edit Company" msgstr "" @@ -2866,12 +2894,13 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:649 +#: company/templates/company/company_base.html:86 order/models.py:665 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:758 +#: stock/models.py:628 stock/serializers.py:745 #: 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 +#: templates/email/overdue_sales_order.html:16 +#: templates/js/translated/company.js:379 templates/js/translated/order.js:2458 +#: templates/js/translated/stock.js:2441 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "" @@ -2999,7 +3028,7 @@ msgid "Supplier List" msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:45 -#: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 +#: part/templates/part/prices.html:172 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" msgstr "Fabrikanten" @@ -3012,12 +3041,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:680 +#: templates/js/translated/company.js:665 msgid "Edit manufacturer part" msgstr "Fabrikant onderdeel bewerken" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:681 +#: templates/js/translated/company.js:666 msgid "Delete manufacturer part" msgstr "Fabrikant onderdeel verwijderen" @@ -3032,7 +3061,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:39 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 +#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" msgstr "" @@ -3092,18 +3121,18 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: 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 +#: templates/js/translated/company.js:892 templates/js/translated/order.js:884 +#: templates/js/translated/stock.js:1879 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:38 -#: templates/js/translated/company.js:980 +#: templates/js/translated/company.js:965 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:42 -#: templates/js/translated/company.js:981 +#: templates/js/translated/company.js:966 msgid "Delete supplier part" msgstr "" @@ -3123,7 +3152,7 @@ msgstr "" #: company/templates/company/supplier_part.html:148 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 -#: templates/js/translated/stock.js:380 +#: templates/js/translated/stock.js:379 msgid "New Stock Item" msgstr "" @@ -3144,7 +3173,7 @@ msgstr "" #: company/templates/company/supplier_part.html:191 #: company/templates/company/supplier_part.html:305 -#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046 +#: part/templates/part/prices.html:276 templates/js/translated/part.js:2142 msgid "Add Price Break" msgstr "" @@ -3153,12 +3182,12 @@ msgid "No price break information found" msgstr "" #: company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2152 msgid "Delete Price Break" msgstr "" #: company/templates/company/supplier_part.html:245 -#: templates/js/translated/part.js:2070 +#: templates/js/translated/part.js:2166 msgid "Edit Price Break" msgstr "" @@ -3180,9 +3209,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: 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:1687 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:722 +#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1431 +#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3209,7 +3238,7 @@ msgstr "" #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 -#: templates/js/translated/stock.js:2307 users/models.py:39 +#: templates/js/translated/stock.js:2317 users/models.py:39 msgid "Stock Items" msgstr "" @@ -3238,20 +3267,20 @@ msgstr "" msgid "New Company" msgstr "" -#: company/views.py:112 part/views.py:576 +#: company/views.py:112 part/views.py:501 msgid "Download Image" msgstr "" -#: company/views.py:139 part/views.py:606 +#: company/views.py:139 part/views.py:531 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:146 part/views.py:613 +#: company/views.py:146 part/views.py:538 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:155 part/views.py:622 +#: company/views.py:155 part/views.py:547 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3320,313 +3349,314 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:133 +#: order/models.py:134 msgid "Order description" msgstr "" -#: order/models.py:135 order/models.py:1236 +#: order/models.py:136 order/models.py:1252 msgid "Link to external page" msgstr "" -#: order/models.py:143 +#: order/models.py:144 msgid "Created By" msgstr "" -#: order/models.py:150 +#: order/models.py:151 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:155 +#: order/models.py:156 msgid "Order notes" msgstr "" -#: order/models.py:289 order/models.py:639 +#: order/models.py:294 order/models.py:655 msgid "Order reference" msgstr "" -#: order/models.py:294 order/models.py:654 +#: order/models.py:299 order/models.py:670 msgid "Purchase order status" msgstr "" -#: order/models.py:304 +#: order/models.py:309 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:307 order/templates/order/order_base.html:124 +#: order/models.py:312 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:307 +#: order/models.py:312 msgid "Supplier order reference code" msgstr "" -#: order/models.py:314 +#: order/models.py:319 msgid "received by" msgstr "" -#: order/models.py:319 +#: order/models.py:324 msgid "Issue Date" msgstr "" -#: order/models.py:320 +#: order/models.py:325 msgid "Date order was issued" msgstr "" -#: order/models.py:325 +#: order/models.py:330 msgid "Target Delivery Date" msgstr "" -#: order/models.py:326 +#: order/models.py:331 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:332 +#: order/models.py:337 msgid "Date order was completed" msgstr "" -#: order/models.py:368 +#: order/models.py:373 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:512 +#: order/models.py:517 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:650 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer Reference " msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer order reference code" msgstr "" -#: order/models.py:661 +#: order/models.py:677 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:664 order/models.py:1190 +#: order/models.py:680 order/models.py:1206 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:671 +#: order/models.py:687 msgid "shipped by" msgstr "" -#: order/models.py:726 +#: order/models.py:742 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:730 +#: order/models.py:746 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:733 +#: order/models.py:749 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:736 +#: order/models.py:752 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:910 +#: order/models.py:926 msgid "Item quantity" msgstr "" -#: order/models.py:916 +#: order/models.py:932 msgid "Line item reference" msgstr "" -#: order/models.py:918 +#: order/models.py:934 msgid "Line item notes" msgstr "" -#: order/models.py:923 +#: order/models.py:939 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:941 +#: order/models.py:957 msgid "Context" msgstr "" -#: order/models.py:942 +#: order/models.py:958 msgid "Additional context for this line" msgstr "" -#: order/models.py:950 +#: order/models.py:966 msgid "Unit price" msgstr "" -#: order/models.py:980 +#: order/models.py:996 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:988 +#: order/models.py:1004 msgid "deleted" msgstr "" -#: order/models.py:994 order/models.py:1074 order/models.py:1099 -#: order/models.py:1184 order/models.py:1320 +#: order/models.py:1010 order/models.py:1090 order/models.py:1115 +#: order/models.py:1200 order/models.py:1336 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:995 order/models.py:1074 +#: order/models.py:1011 order/models.py:1090 #: 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/email/overdue_purchase_order.html:15 #: 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 +#: templates/js/translated/part.js:943 templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:2422 msgid "Purchase Order" msgstr "" -#: order/models.py:1013 +#: order/models.py:1029 msgid "Supplier part" msgstr "" -#: order/models.py:1020 order/templates/order/order_base.html:169 +#: order/models.py:1036 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/part.js:1037 templates/js/translated/part.js:1064 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1021 +#: order/models.py:1037 msgid "Number of items received" msgstr "" -#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: order/models.py:1044 part/templates/part/prices.html:181 stock/models.py:722 #: stock/serializers.py:153 stock/templates/stock/item_base.html:191 -#: templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:1910 msgid "Purchase Price" msgstr "" -#: order/models.py:1029 +#: order/models.py:1045 msgid "Unit purchase price" msgstr "" -#: order/models.py:1037 +#: order/models.py:1053 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1109 part/templates/part/part_pricing.html:112 -#: part/templates/part/prices.html:119 part/templates/part/prices.html:288 +#: order/models.py:1125 part/templates/part/part_pricing.html:115 +#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 msgid "Sale Price" msgstr "" -#: order/models.py:1110 +#: order/models.py:1126 msgid "Unit sale price" msgstr "" -#: order/models.py:1115 +#: order/models.py:1131 msgid "Shipped quantity" msgstr "" -#: order/models.py:1191 +#: order/models.py:1207 msgid "Date of shipment" msgstr "" -#: order/models.py:1198 +#: order/models.py:1214 msgid "Checked By" msgstr "" -#: order/models.py:1199 +#: order/models.py:1215 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1207 +#: order/models.py:1223 msgid "Shipment number" msgstr "" -#: order/models.py:1214 +#: order/models.py:1230 msgid "Shipment notes" msgstr "" -#: order/models.py:1221 +#: order/models.py:1237 msgid "Tracking Number" msgstr "" -#: order/models.py:1222 +#: order/models.py:1238 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1229 +#: order/models.py:1245 msgid "Invoice Number" msgstr "" -#: order/models.py:1230 +#: order/models.py:1246 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1248 +#: order/models.py:1264 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1251 +#: order/models.py:1267 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1354 order/models.py:1356 +#: order/models.py:1370 order/models.py:1372 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1360 +#: order/models.py:1376 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1362 +#: order/models.py:1378 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1365 +#: order/models.py:1381 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1369 +#: order/models.py:1385 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1375 order/serializers.py:1045 +#: order/models.py:1391 order/serializers.py:1047 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1378 +#: order/models.py:1394 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1379 +#: order/models.py:1395 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1387 +#: order/models.py:1403 msgid "Line" msgstr "" -#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 +#: order/models.py:1411 order/serializers.py:1151 order/serializers.py:1275 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1396 +#: order/models.py:1412 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1424 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1409 +#: order/models.py:1425 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Enter stock allocation quantity" msgstr "" @@ -3662,7 +3692,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1117 +#: order/serializers.py:406 order/serializers.py:1119 msgid "Line Item" msgstr "" @@ -3710,42 +3740,60 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:866 +#: order/serializers.py:868 msgid "Sale price currency" msgstr "" -#: order/serializers.py:947 +#: order/serializers.py:949 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1006 order/serializers.py:1126 +#: order/serializers.py:1008 order/serializers.py:1128 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1028 +#: order/serializers.py:1030 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1139 +#: order/serializers.py:1141 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1161 order/serializers.py:1281 +#: order/serializers.py:1163 order/serializers.py:1283 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1164 order/serializers.py:1284 +#: order/serializers.py:1166 order/serializers.py:1286 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1216 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1224 +#: order/serializers.py:1226 msgid "The following serial numbers are already allocated" msgstr "" +#: order/tasks.py:26 +msgid "Overdue Purchase Order" +msgstr "" + +#: order/tasks.py:31 +#, python-brace-format +msgid "Purchase order {po} is now overdue" +msgstr "" + +#: order/tasks.py:88 +msgid "Overdue Sales Order" +msgstr "" + +#: order/tasks.py:93 +#, python-brace-format +msgid "Sales order {so} is now overdue" +msgstr "" + #: order/templates/order/order_base.html:33 msgid "Print purchase order report" msgstr "" @@ -3870,8 +3918,8 @@ msgstr "" #: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: 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:2731 templates/js/translated/stock.js:570 -#: templates/js/translated/stock.js:738 +#: templates/js/translated/order.js:2731 templates/js/translated/stock.js:569 +#: templates/js/translated/stock.js:737 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -3990,7 +4038,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1047 #: templates/js/translated/build.js:1880 msgid "Actions" msgstr "" @@ -4021,47 +4069,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:481 +#: part/api.py:482 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:501 +#: part/api.py:502 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:519 +#: part/api.py:520 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:551 +#: part/api.py:552 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:637 +#: part/api.py:638 msgid "Valid" msgstr "" -#: part/api.py:638 +#: part/api.py:639 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:644 +#: part/api.py:645 msgid "This option must be selected" msgstr "" -#: part/api.py:1010 +#: part/api.py:1011 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1014 +#: part/api.py:1015 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1029 +#: part/api.py:1030 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1060 part/api.py:1064 part/api.py:1079 part/api.py:1083 +#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 msgid "This field is required" msgstr "" @@ -4080,17 +4128,13 @@ msgid "Available Stock" msgstr "" #: 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 +#: templates/js/translated/part.js:561 templates/js/translated/part.js:581 +#: templates/js/translated/part.js:1273 templates/js/translated/part.js:1445 +#: templates/js/translated/part.js:1461 msgid "On Order" msgstr "" -#: part/forms.py:59 -msgid "Select part category" -msgstr "" - -#: part/forms.py:69 +#: part/forms.py:60 msgid "Input quantity for price calculation" msgstr "" @@ -4106,7 +4150,7 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:115 part/models.py:2415 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2403 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -4123,7 +4167,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:144 +#: templates/js/translated/part.js:1864 templates/js/translated/search.js:144 #: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "" @@ -4153,7 +4197,7 @@ msgstr "" msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:738 part/models.py:2469 +#: part/models.py:738 part/models.py:2457 msgid "Part name" msgstr "" @@ -4186,12 +4230,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:776 part/models.py:2171 part/models.py:2414 +#: part/models.py:776 part/models.py:2159 part/models.py:2402 #: part/templates/part/part_base.html:257 -#: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 #: templates/InvenTree/settings/settings.html:231 -#: templates/js/translated/part.js:1369 +#: templates/js/translated/part.js:1413 templates/js/translated/part.js:1639 msgid "Category" msgstr "" @@ -4200,8 +4243,8 @@ msgid "Part category" msgstr "" #: 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 +#: templates/js/translated/part.js:710 templates/js/translated/part.js:1366 +#: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" @@ -4214,7 +4257,7 @@ msgid "Part revision or version number" msgstr "" #: part/models.py:790 part/templates/part/part_base.html:273 -#: report/models.py:170 templates/js/translated/part.js:670 +#: report/models.py:170 templates/js/translated/part.js:714 msgid "Revision" msgstr "" @@ -4302,317 +4345,321 @@ msgstr "" msgid "Creation User" msgstr "" -#: part/models.py:1690 +#: part/models.py:1685 msgid "Sell multiple" msgstr "" -#: part/models.py:2218 +#: part/models.py:2206 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2235 +#: part/models.py:2223 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2255 templates/js/translated/part.js:1819 -#: templates/js/translated/stock.js:1274 +#: part/models.py:2243 templates/js/translated/part.js:1915 +#: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2256 +#: part/models.py:2244 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2261 +#: part/models.py:2249 msgid "Test Description" msgstr "" -#: part/models.py:2262 +#: part/models.py:2250 msgid "Enter description for this test" msgstr "" -#: part/models.py:2267 templates/js/translated/part.js:1828 +#: part/models.py:2255 templates/js/translated/part.js:1924 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2268 +#: part/models.py:2256 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2273 templates/js/translated/part.js:1836 +#: part/models.py:2261 templates/js/translated/part.js:1932 msgid "Requires Value" msgstr "" -#: part/models.py:2274 +#: part/models.py:2262 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2279 templates/js/translated/part.js:1843 +#: part/models.py:2267 templates/js/translated/part.js:1939 msgid "Requires Attachment" msgstr "" -#: part/models.py:2280 +#: part/models.py:2268 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2288 +#: part/models.py:2276 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2324 +#: part/models.py:2312 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2332 +#: part/models.py:2320 msgid "Parameter Name" msgstr "" -#: part/models.py:2339 +#: part/models.py:2327 msgid "Parameter Units" msgstr "" -#: part/models.py:2370 +#: part/models.py:2358 msgid "Parent Part" msgstr "" -#: part/models.py:2372 part/models.py:2420 part/models.py:2421 +#: part/models.py:2360 part/models.py:2408 part/models.py:2409 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Data" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Parameter Value" msgstr "" -#: part/models.py:2425 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2413 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2426 +#: part/models.py:2414 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2461 +#: part/models.py:2449 msgid "Part ID or part name" msgstr "" -#: part/models.py:2464 templates/js/translated/model_renderers.js:200 +#: part/models.py:2452 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2465 +#: part/models.py:2453 msgid "Unique part ID value" msgstr "" -#: part/models.py:2468 +#: part/models.py:2456 msgid "Part Name" msgstr "" -#: part/models.py:2472 +#: part/models.py:2460 msgid "Part IPN" msgstr "" -#: part/models.py:2473 +#: part/models.py:2461 msgid "Part IPN value" msgstr "" -#: part/models.py:2476 +#: part/models.py:2464 msgid "Level" msgstr "" -#: part/models.py:2477 +#: part/models.py:2465 msgid "BOM level" msgstr "" -#: part/models.py:2546 +#: part/models.py:2534 msgid "Select parent part" msgstr "" -#: part/models.py:2554 +#: part/models.py:2542 msgid "Sub part" msgstr "" -#: part/models.py:2555 +#: part/models.py:2543 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2561 +#: part/models.py:2549 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2563 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 +#: part/models.py:2551 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:871 templates/js/translated/bom.js:965 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2563 +#: part/models.py:2551 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2566 part/templates/part/upload_bom.html:55 +#: part/models.py:2554 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2567 +#: part/models.py:2555 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2570 +#: part/models.py:2558 msgid "BOM item reference" msgstr "" -#: part/models.py:2573 +#: part/models.py:2561 msgid "BOM item notes" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "Checksum" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "BOM line checksum" msgstr "" -#: part/models.py:2579 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:988 +#: part/models.py:2567 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:982 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2580 +#: part/models.py:2568 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2585 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:980 +#: part/models.py:2573 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:974 msgid "Allow Variants" msgstr "" -#: part/models.py:2586 +#: part/models.py:2574 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2664 stock/models.py:460 +#: part/models.py:2652 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2673 part/models.py:2675 +#: part/models.py:2661 part/models.py:2663 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2780 +#: part/models.py:2768 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2801 +#: part/models.py:2789 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2814 +#: part/models.py:2802 msgid "Parent BOM item" msgstr "" -#: part/models.py:2822 +#: part/models.py:2810 msgid "Substitute part" msgstr "" -#: part/models.py:2833 +#: part/models.py:2825 msgid "Part 1" msgstr "" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Part 2" msgstr "" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Select Related Part" msgstr "" -#: part/models.py:2868 -msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" +#: part/models.py:2847 +msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 +#: part/models.py:2851 +msgid "Duplicate relationship already exists" +msgstr "" + +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:794 +#: part/serializers.py:796 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:804 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:805 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:810 msgid "Include Inherited" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:811 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:816 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:817 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:820 +#: part/serializers.py:822 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:821 +#: part/serializers.py:823 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:861 +#: part/serializers.py:863 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:864 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:894 msgid "No part column specified" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:937 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:938 +#: part/serializers.py:940 msgid "No matching part found" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:943 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:950 +#: part/serializers.py:952 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:958 +#: part/serializers.py:960 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:979 +#: part/serializers.py:981 msgid "At least one BOM item is required" msgstr "" @@ -5088,10 +5135,10 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:143 -#: templates/js/translated/company.js:623 -#: templates/js/translated/company.js:882 +#: templates/js/translated/company.js:608 +#: templates/js/translated/company.js:867 #: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:658 +#: templates/js/translated/part.js:625 templates/js/translated/part.js:702 msgid "Inactive" msgstr "" @@ -5120,13 +5167,13 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1009 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1003 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/part.js:520 -#: templates/js/translated/part.js:540 templates/js/translated/part.js:1233 -#: templates/js/translated/part.js:1405 templates/js/translated/part.js:1421 +#: part/templates/part/part_base.html:238 templates/js/translated/part.js:564 +#: templates/js/translated/part.js:584 templates/js/translated/part.js:1277 +#: templates/js/translated/part.js:1449 templates/js/translated/part.js:1465 msgid "Building" msgstr "" @@ -5143,7 +5190,7 @@ msgstr "" msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:443 part/templates/part/prices.html:147 +#: part/templates/part/part_base.html:443 part/templates/part/prices.html:149 msgid "Calculate" msgstr "" @@ -5161,54 +5208,55 @@ msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:106 -#: part/templates/part/prices.html:123 +#: part/templates/part/part_pricing.html:103 +#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 +#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:104 -#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:111 -#: part/templates/part/prices.html:128 +#: part/templates/part/part_pricing.html:107 +#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 +#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 +#: part/templates/part/prices.html:130 msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:963 +#: templates/js/translated/bom.js:957 msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:246 +#: part/templates/part/prices.html:248 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:89 +#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:96 +#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:105 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/prices.html:107 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:128 -#: part/templates/part/prices.html:137 +#: part/templates/part/part_pricing.html:131 +#: part/templates/part/prices.html:139 msgid "No pricing information is available for this part." msgstr "" @@ -5232,43 +5280,6 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:9 -#, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" -"
Disable the \"Active\" part attribute and re-try.\n" -" " -msgstr "" - -#: part/templates/part/partial_delete.html:17 -#, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" -msgstr "" - -#: part/templates/part/partial_delete.html:22 -#, python-format -msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" -msgstr "" - -#: part/templates/part/partial_delete.html:32 -#, python-format -msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:43 -#, python-format -msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" -msgstr "Er zijn %(count)s fabrikanten gedefinieerd voor dit onderdeel. Als u dit onderdeel verwijdert, worden de volgende onderdelen ook verwijderd:" - -#: part/templates/part/partial_delete.html:54 -#, python-format -msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:67 -#, python-format -msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." -msgstr "" - #: part/templates/part/prices.html:19 msgid "Pricing ranges" msgstr "" @@ -5285,66 +5296,58 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:120 +#: part/templates/part/prices.html:122 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:123 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:143 +#: part/templates/part/prices.html:145 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:957 +#: part/templates/part/prices.html:160 templates/js/translated/bom.js:951 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:159 part/templates/part/prices.html:180 -#: part/templates/part/prices.html:204 part/templates/part/prices.html:234 -#: part/templates/part/prices.html:260 part/templates/part/prices.html:289 +#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 +#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 +#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:184 +#: part/templates/part/prices.html:186 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:193 +#: part/templates/part/prices.html:195 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:203 +#: part/templates/part/prices.html:205 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:218 +#: part/templates/part/prices.html:220 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:233 +#: part/templates/part/prices.html:235 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:259 +#: part/templates/part/prices.html:261 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:300 +#: part/templates/part/prices.html:302 msgid "No sale pice history available for this part." msgstr "" -#: part/templates/part/set_category.html:9 -msgid "Set category for the following parts" -msgstr "" - -#: part/templates/part/set_category.html:32 -msgid "Remove part" -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543 -#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:587 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:1469 msgid "No Stock" msgstr "" @@ -5407,56 +5410,39 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:74 -msgid "Set Part Category" -msgstr "" - -#: part/views.py:122 -#, python-brace-format -msgid "Set category for {n} parts" -msgstr "" - -#: part/views.py:193 +#: part/views.py:118 msgid "Match References" msgstr "" -#: part/views.py:494 +#: part/views.py:419 msgid "None" msgstr "" -#: part/views.py:556 +#: part/views.py:481 msgid "Part QR Code" msgstr "" -#: part/views.py:650 +#: part/views.py:575 msgid "Select Part Image" msgstr "" -#: part/views.py:676 +#: part/views.py:601 msgid "Updated part image" msgstr "" -#: part/views.py:679 +#: part/views.py:604 msgid "Part image not found" msgstr "" -#: part/views.py:768 -msgid "Confirm Part Deletion" -msgstr "" - -#: part/views.py:776 -msgid "Part was deleted" -msgstr "" - -#: part/views.py:785 +#: part/views.py:693 msgid "Part Pricing" msgstr "" -#: part/views.py:976 +#: part/views.py:884 msgid "Delete Part Category" msgstr "" -#: part/views.py:983 +#: part/views.py:891 msgid "Part category was deleted" msgstr "" @@ -5516,21 +5502,21 @@ msgstr "Streepjescode gekoppeld aan Voorraadartikel" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:28 +#: plugin/builtin/integration/core_notifications.py:29 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 +#: plugin/builtin/integration/core_notifications.py:30 msgid "Integrated outgoing notificaton methods" msgstr "" -#: 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:34 #: plugin/builtin/integration/core_notifications.py:53 +msgid "Enable email notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:35 +#: plugin/builtin/integration/core_notifications.py:54 msgid "Allow sending of emails for event notifications" msgstr "" @@ -5646,15 +5632,19 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:166 +#: report/api.py:179 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:198 report/api.py:239 +#: report/api.py:215 report/api.py:256 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" +#: report/api.py:359 +msgid "Test report" +msgstr "" + #: report/models.py:152 msgid "Template name" msgstr "" @@ -5757,7 +5747,7 @@ msgstr "" #: 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:3229 -#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:434 msgid "Serial Number" msgstr "Serienummer" @@ -5766,19 +5756,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2068 +#: stock/models.py:2072 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2074 +#: stock/models.py:2078 msgid "Result" 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:1669 templates/js/translated/stock.js:2340 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2350 msgid "Date" msgstr "" @@ -5796,20 +5786,20 @@ msgid "Installed Items" 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:2589 +#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724 +#: templates/js/translated/stock.js:2599 msgid "Serial" msgstr "" -#: stock/api.py:504 +#: stock/api.py:505 msgid "Quantity is required" msgstr "" -#: stock/api.py:511 +#: stock/api.py:512 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:536 +#: stock/api.py:537 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5917,7 +5907,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1826 msgid "Expiry Date" msgstr "" @@ -5971,79 +5961,79 @@ msgstr "" msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1325 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1324 +#: stock/models.py:1328 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1327 +#: stock/models.py:1331 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1334 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1333 +#: stock/models.py:1337 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1340 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1343 stock/serializers.py:908 +#: stock/models.py:1347 stock/serializers.py:895 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1347 +#: stock/models.py:1351 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1355 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1359 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1524 +#: stock/models.py:1528 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1986 +#: stock/models.py:1990 msgid "Entry notes" msgstr "" -#: stock/models.py:2044 +#: stock/models.py:2048 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2050 +#: stock/models.py:2054 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2069 +#: stock/models.py:2073 msgid "Test name" msgstr "" -#: stock/models.py:2075 +#: stock/models.py:2079 msgid "Test result" msgstr "" -#: stock/models.py:2081 +#: stock/models.py:2085 msgid "Test output value" msgstr "" -#: stock/models.py:2088 +#: stock/models.py:2092 msgid "Test result attachment" msgstr "" -#: stock/models.py:2094 +#: stock/models.py:2098 msgid "Test notes" msgstr "" @@ -6064,7 +6054,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:865 stock/serializers.py:1098 +#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 msgid "Destination stock location" msgstr "" @@ -6104,63 +6094,63 @@ msgstr "" msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:707 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:724 +#: stock/serializers.py:711 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:728 +#: stock/serializers.py:715 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:759 +#: stock/serializers.py:746 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:765 +#: stock/serializers.py:752 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:773 +#: stock/serializers.py:760 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:783 stock/serializers.py:1014 +#: stock/serializers.py:770 stock/serializers.py:1001 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:872 +#: stock/serializers.py:859 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:877 +#: stock/serializers.py:864 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:878 +#: stock/serializers.py:865 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:883 +#: stock/serializers.py:870 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:884 +#: stock/serializers.py:871 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:894 +#: stock/serializers.py:881 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:976 +#: stock/serializers.py:963 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1004 +#: stock/serializers.py:991 msgid "Stock transaction notes" msgstr "" @@ -6185,7 +6175,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:298 msgid "Delete Test Data" msgstr "" @@ -6197,11 +6187,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2733 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2743 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:292 templates/js/translated/stock.js:1455 +#: stock/templates/stock/item.html:290 +msgid "Delete all test results for this stock item" +msgstr "" + +#: stock/templates/stock/item.html:323 templates/js/translated/stock.js:1465 msgid "Add Test Result" msgstr "" @@ -6388,7 +6382,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/stock.js:1842 msgid "Last Updated" msgstr "" @@ -6529,7 +6523,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:182 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:144 msgid "Convert Stock Item" msgstr "" @@ -6550,31 +6544,19 @@ msgstr "" msgid "This action cannot be easily undone" msgstr "" -#: stock/views.py:113 +#: stock/views.py:111 msgid "Stock Location QR code" msgstr "QR-code voor Voorraadlocatie" -#: stock/views.py:131 -msgid "Delete All Test Data" -msgstr "" - -#: stock/views.py:149 -msgid "Confirm test data deletion" -msgstr "" - -#: stock/views.py:150 -msgid "Check the confirmation box" -msgstr "" - -#: stock/views.py:165 +#: stock/views.py:127 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:216 +#: stock/views.py:178 msgid "Delete Stock Location" msgstr "Verwijder Voorraadlocatie" -#: stock/views.py:229 +#: stock/views.py:191 msgid "Delete Stock Item" msgstr "" @@ -7317,8 +7299,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:56 templates/js/translated/modals.js:595 -#: templates/js/translated/modals.js:689 templates/js/translated/modals.js:997 +#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 +#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 #: templates/js/translated/order.js:928 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7390,6 +7372,10 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:630 +msgid "Confirm" +msgstr "Bevestigen" + #: templates/account/email_confirm.html:27 #, python-format msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." @@ -7562,7 +7548,7 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:112 msgid "Delete Attachments" msgstr "" @@ -7596,15 +7582,15 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1425 +#: templates/js/translated/bom.js:1419 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: 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/bom.js:884 templates/js/translated/build.js:1787 +#: templates/js/translated/build.js:2650 templates/js/translated/part.js:571 +#: templates/js/translated/part.js:574 #: templates/js/translated/table_filters.js:178 msgid "Available" msgstr "Beschikbaar" @@ -7622,6 +7608,13 @@ msgstr "" msgid "Minimum Quantity" msgstr "" +#: templates/email/new_order_assigned.html:9 +#: templates/email/overdue_build_order.html:9 +#: templates/email/overdue_purchase_order.html:9 +#: templates/email/overdue_sales_order.html:9 +msgid "Click on the following link to view this order" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -7638,91 +7631,91 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:235 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1073 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1074 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:242 +#: templates/js/translated/api.js:202 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:243 +#: templates/js/translated/api.js:203 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1083 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1084 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:252 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1088 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:253 templates/js/translated/modals.js:1083 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1089 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1093 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1088 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1094 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:262 +#: templates/js/translated/api.js:222 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:263 +#: templates/js/translated/api.js:223 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:267 templates/js/translated/modals.js:1092 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1098 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:268 templates/js/translated/modals.js:1093 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1099 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:271 +#: templates/js/translated/api.js:231 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:272 +#: templates/js/translated/api.js:232 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:96 +#: templates/js/translated/attachment.js:98 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:156 +#: templates/js/translated/attachment.js:152 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:180 +#: templates/js/translated/attachment.js:176 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:246 +#: templates/js/translated/attachment.js:242 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:262 +#: templates/js/translated/attachment.js:264 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:269 +#: templates/js/translated/attachment.js:271 msgid "Delete attachment" msgstr "" @@ -7755,7 +7748,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "Invalid server response" msgstr "" @@ -7783,7 +7776,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999 +#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:998 msgid "Remove stock item" msgstr "" @@ -7918,89 +7911,89 @@ msgstr "" msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:682 +#: templates/js/translated/bom.js:684 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:697 +#: templates/js/translated/bom.js:699 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:824 +#: templates/js/translated/bom.js:818 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:834 +#: templates/js/translated/bom.js:828 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:838 templates/js/translated/build.js:1769 +#: templates/js/translated/bom.js:832 templates/js/translated/build.js:1769 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/bom.js:900 templates/js/translated/build.js:1814 #: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:910 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:904 templates/js/translated/build.js:1818 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:912 templates/js/translated/build.js:1820 -#: templates/js/translated/part.js:690 +#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1820 +#: templates/js/translated/part.js:734 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:914 templates/js/translated/build.js:1822 +#: templates/js/translated/bom.js:908 templates/js/translated/build.js:1822 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:928 +#: templates/js/translated/bom.js:922 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:943 +#: templates/js/translated/bom.js:937 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:950 +#: templates/js/translated/bom.js:944 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:999 templates/js/translated/bom.js:1090 +#: templates/js/translated/bom.js:993 templates/js/translated/bom.js:1084 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1061 +#: templates/js/translated/bom.js:1055 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1063 +#: templates/js/translated/bom.js:1057 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1065 +#: templates/js/translated/bom.js:1059 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1067 templates/js/translated/bom.js:1228 +#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1222 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1069 +#: templates/js/translated/bom.js:1063 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1164 templates/js/translated/build.js:1615 +#: templates/js/translated/bom.js:1158 templates/js/translated/build.js:1615 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1408 templates/js/translated/build.js:1753 +#: templates/js/translated/bom.js:1402 templates/js/translated/build.js:1753 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1430 +#: templates/js/translated/bom.js:1424 msgid "Inherited from parent BOM" msgstr "" @@ -8040,13 +8033,13 @@ msgstr "Productieopdracht is onvolledig" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91 -#: templates/js/translated/stock.js:181 +#: templates/js/translated/build.js:259 templates/js/translated/stock.js:90 +#: templates/js/translated/stock.js:180 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93 -#: templates/js/translated/stock.js:183 +#: templates/js/translated/build.js:261 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:182 msgid "Latest serial number" msgstr "" @@ -8259,9 +8252,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: 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 +#: templates/js/translated/build.js:2448 templates/js/translated/part.js:1358 +#: templates/js/translated/part.js:1825 templates/js/translated/stock.js:1629 +#: templates/js/translated/stock.js:2287 msgid "Select" msgstr "" @@ -8273,7 +8266,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2519 +#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2529 msgid "No user information" msgstr "" @@ -8285,107 +8278,107 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "Fabrikant toevoegen" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:169 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:168 msgid "Add Manufacturer Part" msgstr "Fabrikantonderdeel toevoegen" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "Fabrikantonderdeel bewerken" -#: templates/js/translated/company.js:157 templates/js/translated/order.js:506 +#: templates/js/translated/company.js:156 templates/js/translated/order.js:506 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:185 +#: templates/js/translated/company.js:184 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:200 +#: templates/js/translated/company.js:199 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:249 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:263 +#: templates/js/translated/company.js:264 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:342 +#: templates/js/translated/company.js:336 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:413 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:428 +#: templates/js/translated/company.js:422 msgid "Parts Manufactured" msgstr "Gefabriceerde Onderdelen" -#: templates/js/translated/company.js:443 +#: templates/js/translated/company.js:437 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:478 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:492 msgid "Delete Manufacturer Parts" msgstr "Verwijder Fabrikantenonderdelen" -#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:526 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:548 +#: templates/js/translated/company.js:539 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:595 +#: templates/js/translated/company.js:580 msgid "No manufacturer parts found" msgstr "Geen fabrikantenonderdelen gevonden" -#: templates/js/translated/company.js:615 -#: templates/js/translated/company.js:874 templates/js/translated/part.js:565 -#: templates/js/translated/part.js:650 +#: templates/js/translated/company.js:600 +#: templates/js/translated/company.js:859 templates/js/translated/part.js:609 +#: templates/js/translated/part.js:694 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:619 -#: templates/js/translated/company.js:878 templates/js/translated/part.js:569 -#: templates/js/translated/part.js:654 +#: templates/js/translated/company.js:604 +#: templates/js/translated/company.js:863 templates/js/translated/part.js:613 +#: templates/js/translated/part.js:698 msgid "Assembled part" msgstr "Samengesteld onderdeel" -#: templates/js/translated/company.js:747 templates/js/translated/part.js:757 +#: templates/js/translated/company.js:732 templates/js/translated/part.js:801 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:799 +#: templates/js/translated/company.js:769 templates/js/translated/part.js:843 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:785 templates/js/translated/part.js:800 +#: templates/js/translated/company.js:770 templates/js/translated/part.js:844 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:804 templates/js/translated/part.js:817 +#: templates/js/translated/company.js:789 templates/js/translated/part.js:861 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:815 templates/js/translated/part.js:829 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:873 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:854 +#: templates/js/translated/company.js:839 msgid "No supplier parts found" msgstr "" @@ -8448,36 +8441,36 @@ msgstr "" msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:756 +#: templates/js/translated/forms.js:757 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1248 templates/modals.html:19 +#: templates/js/translated/forms.js:1249 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1681 +#: templates/js/translated/forms.js:1682 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1896 templates/search.html:29 +#: templates/js/translated/forms.js:1897 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2149 +#: templates/js/translated/forms.js:2150 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2627 +#: templates/js/translated/forms.js:2628 msgid "Select Columns" msgstr "" @@ -8498,7 +8491,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1023 +#: templates/js/translated/stock.js:1022 msgid "Select Stock Items" msgstr "" @@ -8552,12 +8545,12 @@ msgid "Select Label Template" msgstr "" #: templates/js/translated/modals.js:82 templates/js/translated/modals.js:142 -#: templates/js/translated/modals.js:621 +#: templates/js/translated/modals.js:627 msgid "Cancel" msgstr "" #: 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/js/translated/modals.js:694 templates/js/translated/modals.js:1002 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" @@ -8566,47 +8559,47 @@ msgstr "" msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:403 +#: templates/js/translated/modals.js:421 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:562 +#: templates/js/translated/modals.js:568 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:620 +#: templates/js/translated/modals.js:626 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:677 +#: templates/js/translated/modals.js:683 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:960 +#: templates/js/translated/modals.js:966 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1072 +#: templates/js/translated/modals.js:1078 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1073 +#: templates/js/translated/modals.js:1079 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1096 +#: templates/js/translated/modals.js:1102 msgid "Error requesting form data" msgstr "" @@ -8656,11 +8649,11 @@ msgstr "" msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:259 +#: templates/js/translated/notification.js:260 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:300 templates/notifications.html:10 +#: templates/js/translated/notification.js:302 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" @@ -8804,7 +8797,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2080 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2090 msgid "Stock Status" msgstr "" @@ -8828,7 +8821,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1602 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1602 templates/js/translated/part.js:914 msgid "No purchase orders found" msgstr "" @@ -8863,7 +8856,7 @@ msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 #: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 -#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 +#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2397 msgid "Unit Price" msgstr "" @@ -8873,11 +8866,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:1993 templates/js/translated/order.js:3525 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:1023 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1069 msgid "Receive line item" msgstr "" @@ -8998,7 +8991,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1535 +#: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" @@ -9138,165 +9131,209 @@ msgstr "" msgid "Create Part Variant" msgstr "" +#: templates/js/translated/part.js:405 +msgid "Active Part" +msgstr "" + +#: templates/js/translated/part.js:406 +msgid "Part cannot be deleted as it is currently active" +msgstr "" + +#: templates/js/translated/part.js:420 +msgid "Deleting this part cannot be reversed" +msgstr "" + +#: templates/js/translated/part.js:422 +msgid "Any stock items for this part will be deleted" +msgstr "" + #: templates/js/translated/part.js:423 +msgid "This part will be removed from any Bills of Material" +msgstr "" + +#: templates/js/translated/part.js:424 +msgid "All manufacturer and supplier information for this part will be deleted" +msgstr "" + +#: templates/js/translated/part.js:431 +msgid "Delete Part" +msgstr "" + +#: templates/js/translated/part.js:467 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:425 +#: templates/js/translated/part.js:469 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:474 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:476 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:493 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:503 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:506 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:487 +#: templates/js/translated/part.js:531 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:513 templates/js/translated/part.js:1397 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1441 #: templates/js/translated/table_filters.js:452 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:523 templates/js/translated/part.js:1409 +#: templates/js/translated/part.js:567 templates/js/translated/part.js:1453 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:557 templates/js/translated/part.js:642 +#: templates/js/translated/part.js:601 templates/js/translated/part.js:686 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:561 templates/js/translated/part.js:646 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:690 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:617 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:577 +#: templates/js/translated/part.js:621 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:705 +#: templates/js/translated/part.js:749 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1095 +#: templates/js/translated/part.js:1139 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1119 +#: templates/js/translated/part.js:1163 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1184 templates/js/translated/part.js:1480 +#: templates/js/translated/part.js:1228 templates/js/translated/part.js:1524 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1223 +#: templates/js/translated/part.js:1267 msgid "Not available" msgstr "" -#: templates/js/translated/part.js:1374 +#: templates/js/translated/part.js:1418 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664 -#: templates/js/translated/stock.js:2238 +#: templates/js/translated/part.js:1548 templates/js/translated/part.js:1760 +#: templates/js/translated/stock.js:2248 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1520 +#: templates/js/translated/part.js:1564 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2257 +#: templates/js/translated/part.js:1630 +msgid "Set the part category for the selected parts" +msgstr "" + +#: templates/js/translated/part.js:1635 +msgid "Set Part Category" +msgstr "" + +#: templates/js/translated/part.js:1640 +msgid "Select Part Category" +msgstr "" + +#: templates/js/translated/part.js:1653 +msgid "Category is required" +msgstr "" + +#: templates/js/translated/part.js:1779 templates/js/translated/stock.js:2267 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1747 +#: templates/js/translated/part.js:1843 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2301 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2311 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:1901 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1233 +#: templates/js/translated/part.js:1952 templates/js/translated/stock.js:1243 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1234 -#: templates/js/translated/stock.js:1493 +#: templates/js/translated/part.js:1953 templates/js/translated/stock.js:1244 +#: templates/js/translated/stock.js:1503 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1863 +#: templates/js/translated/part.js:1959 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1885 +#: templates/js/translated/part.js:1981 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:1995 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1924 +#: templates/js/translated/part.js:2020 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1981 +#: templates/js/translated/part.js:2077 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1982 +#: templates/js/translated/part.js:2078 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:2096 +#: templates/js/translated/part.js:2192 msgid "Current Stock" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2225 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2155 +#: templates/js/translated/part.js:2251 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2225 +#: templates/js/translated/part.js:2321 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:2244 +#: templates/js/translated/part.js:2340 msgid "Single Price Difference" msgstr "" @@ -9378,360 +9415,360 @@ msgstr "" msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:72 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:101 +#: templates/js/translated/stock.js:100 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:109 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:139 +#: templates/js/translated/stock.js:138 msgid "Edit Stock Location" msgstr "Bewerk Voorraadlocatie" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:153 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:194 +#: templates/js/translated/stock.js:193 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:233 +#: templates/js/translated/stock.js:232 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:239 +#: templates/js/translated/stock.js:238 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:303 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:324 +#: templates/js/translated/stock.js:323 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:344 +#: templates/js/translated/stock.js:343 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:394 +#: templates/js/translated/stock.js:393 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:407 +#: templates/js/translated/stock.js:406 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:431 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:453 +#: templates/js/translated/stock.js:452 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:472 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:481 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:605 +#: templates/js/translated/stock.js:604 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:606 +#: templates/js/translated/stock.js:605 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:683 +#: templates/js/translated/stock.js:682 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:684 +#: templates/js/translated/stock.js:683 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:686 +#: templates/js/translated/stock.js:685 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:687 +#: templates/js/translated/stock.js:686 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:772 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:774 +#: templates/js/translated/stock.js:773 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:869 +#: templates/js/translated/stock.js:868 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:869 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:876 +#: templates/js/translated/stock.js:875 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:876 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:881 +#: templates/js/translated/stock.js:880 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:882 +#: templates/js/translated/stock.js:881 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:886 +#: templates/js/translated/stock.js:885 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:887 users/models.py:215 +#: templates/js/translated/stock.js:886 users/models.py:215 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1024 +#: templates/js/translated/stock.js:1023 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1047 +#: templates/js/translated/stock.js:1046 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1172 +#: templates/js/translated/stock.js:1182 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1174 +#: templates/js/translated/stock.js:1184 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1179 +#: templates/js/translated/stock.js:1189 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1226 +#: templates/js/translated/stock.js:1236 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1229 +#: templates/js/translated/stock.js:1239 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1255 +#: templates/js/translated/stock.js:1265 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1321 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1476 +#: templates/js/translated/stock.js:1486 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1498 +#: templates/js/translated/stock.js:1508 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1527 +#: templates/js/translated/stock.js:1537 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1531 +#: templates/js/translated/stock.js:1541 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1539 +#: templates/js/translated/stock.js:1549 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1545 +#: templates/js/translated/stock.js:1555 msgid "No stock location set" msgstr "Geen voorraadlocatie ingesteld" -#: templates/js/translated/stock.js:1712 +#: templates/js/translated/stock.js:1722 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1727 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1720 +#: templates/js/translated/stock.js:1730 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1723 +#: templates/js/translated/stock.js:1733 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1725 +#: templates/js/translated/stock.js:1735 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1727 +#: templates/js/translated/stock.js:1737 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1730 +#: templates/js/translated/stock.js:1740 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1734 +#: templates/js/translated/stock.js:1744 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1746 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1743 +#: templates/js/translated/stock.js:1753 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1755 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:1757 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1751 +#: templates/js/translated/stock.js:1761 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1802 +#: templates/js/translated/stock.js:1812 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1894 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1932 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2095 +#: templates/js/translated/stock.js:2105 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2109 +#: templates/js/translated/stock.js:2119 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2120 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2375 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2381 +#: templates/js/translated/stock.js:2391 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2403 +#: templates/js/translated/stock.js:2413 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2422 +#: templates/js/translated/stock.js:2432 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2441 +#: templates/js/translated/stock.js:2451 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2459 +#: templates/js/translated/stock.js:2469 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2482 +#: templates/js/translated/stock.js:2492 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2490 +#: templates/js/translated/stock.js:2500 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2566 +#: templates/js/translated/stock.js:2576 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2617 templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2663 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2666 +#: templates/js/translated/stock.js:2676 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2697 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2688 +#: templates/js/translated/stock.js:2698 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2690 +#: templates/js/translated/stock.js:2700 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/stock.js:2701 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2702 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2693 +#: templates/js/translated/stock.js:2703 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2716 msgid "Select part to install" msgstr "" diff --git a/InvenTree/locale/no/LC_MESSAGES/django.po b/InvenTree/locale/no/LC_MESSAGES/django.po index ee362d4daa..41604397e0 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-06-05 14:26+0000\n" -"PO-Revision-Date: 2022-06-05 14:34\n" +"POT-Creation-Date: 2022-06-06 22:59+0000\n" +"PO-Revision-Date: 2022-06-07 14:34\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:46 +#: InvenTree/api.py:49 msgid "API endpoint not found" msgstr "API endepunkt ikke funnet" @@ -29,275 +29,273 @@ msgstr "" msgid "Enter date" msgstr "Oppgi dato" -#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:630 -msgid "Confirm" -msgstr "Bekreft" - -#: InvenTree/forms.py:134 +#: InvenTree/forms.py:117 msgid "Confirm delete" msgstr "Bekreft sletting" -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:118 msgid "Confirm item deletion" msgstr "Bekfret sletting av element" -#: InvenTree/forms.py:167 +#: InvenTree/forms.py:150 msgid "Enter password" msgstr "Oppgi passord" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:151 msgid "Enter new password" msgstr "Oppgi nytt passord" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:158 msgid "Confirm password" msgstr "Bekreft passord" -#: InvenTree/forms.py:176 +#: InvenTree/forms.py:159 msgid "Confirm new password" msgstr "Bekreft nytt passord" -#: InvenTree/forms.py:213 -msgid "Select Category" -msgstr "Velg kategori" - -#: InvenTree/forms.py:234 +#: InvenTree/forms.py:184 msgid "Email (again)" msgstr "E-post (gjenta)" -#: InvenTree/forms.py:238 +#: InvenTree/forms.py:188 msgid "Email address confirmation" msgstr "Bekreftelsen på e-postaddresse" -#: InvenTree/forms.py:259 +#: InvenTree/forms.py:209 msgid "You must type the same email each time." msgstr "Du må angi samme e-post hver gang." -#: InvenTree/helpers.py:402 +#: InvenTree/helpers.py:404 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "Dupliser serie: {sn}" -#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 +#: InvenTree/helpers.py:411 order/models.py:370 order/models.py:522 msgid "Invalid quantity provided" msgstr "Ugyldig mengde oppgitt" -#: InvenTree/helpers.py:412 +#: InvenTree/helpers.py:414 msgid "Empty serial number string" msgstr "Tom serienummerstreng" -#: InvenTree/helpers.py:444 +#: InvenTree/helpers.py:446 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:447 +#: InvenTree/helpers.py:449 #, python-brace-format msgid "Invalid group: {g}" msgstr "Ugyldig gruppe: {g}" -#: InvenTree/helpers.py:475 +#: InvenTree/helpers.py:477 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:483 +#: InvenTree/helpers.py:485 #, python-brace-format msgid "Invalid/no group {group}" msgstr "Ugyldig/ingen gruppe {group}" -#: InvenTree/helpers.py:489 +#: InvenTree/helpers.py:491 msgid "No serial numbers found" msgstr "Ingen serienummer funnet" -#: InvenTree/helpers.py:493 +#: InvenTree/helpers.py:495 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:174 +#: InvenTree/models.py:178 msgid "Missing file" msgstr "Fil mangler" -#: InvenTree/models.py:175 +#: InvenTree/models.py:179 msgid "Missing external link" msgstr "Mangler eksternlenke" -#: InvenTree/models.py:187 stock/models.py:2087 -#: templates/js/translated/attachment.js:101 -#: templates/js/translated/attachment.js:198 +#: InvenTree/models.py:191 stock/models.py:2091 +#: templates/js/translated/attachment.js:103 +#: templates/js/translated/attachment.js:194 msgid "Attachment" msgstr "Vedlegg" -#: InvenTree/models.py:188 +#: InvenTree/models.py:192 msgid "Select file to attach" msgstr "Velg fil å legge ved" -#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 -#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: InvenTree/models.py:198 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:136 order/models.py:1251 #: 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 -#: templates/js/translated/part.js:1441 +#: templates/js/translated/company.js:640 +#: templates/js/translated/company.js:931 templates/js/translated/order.js:2676 +#: templates/js/translated/part.js:1485 msgid "Link" msgstr "Lenke" -#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: InvenTree/models.py:199 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:198 templates/js/translated/attachment.js:102 -#: templates/js/translated/attachment.js:242 +#: InvenTree/models.py:202 templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:238 msgid "Comment" msgstr "Kommenter" -#: InvenTree/models.py:198 +#: InvenTree/models.py:202 msgid "File comment" msgstr "Kommentar til fil" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1506 +#: common/models.py:1507 common/models.py:1735 common/models.py:1736 +#: common/models.py:1998 common/models.py:1999 part/models.py:2141 +#: part/models.py:2161 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:2523 msgid "User" msgstr "Bruker" -#: InvenTree/models.py:208 +#: InvenTree/models.py:212 msgid "upload date" msgstr "opplastet dato" -#: InvenTree/models.py:230 +#: InvenTree/models.py:234 msgid "Filename must not be empty" msgstr "Filnavn må ikke være tom" -#: InvenTree/models.py:253 +#: InvenTree/models.py:257 msgid "Invalid attachment directory" msgstr "Ugyldig vedleggskatalog" -#: InvenTree/models.py:263 +#: InvenTree/models.py:267 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Filnavn inneholder ugyldig tegn '{c}'" -#: InvenTree/models.py:266 +#: InvenTree/models.py:270 msgid "Filename missing extension" msgstr "Filnavn mangler filtype" -#: InvenTree/models.py:273 +#: InvenTree/models.py:277 msgid "Attachment with this filename already exists" msgstr "Vedlegg med dette filnavnet finnes allerede" -#: InvenTree/models.py:280 +#: InvenTree/models.py:284 msgid "Error renaming file" msgstr "Feil ved endring av navn" -#: InvenTree/models.py:314 +#: InvenTree/models.py:318 msgid "Invalid choice" msgstr "Ugyldig valg" -#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 #: company/models.py:354 label/models.py:101 part/models.py:739 -#: part/models.py:2331 plugin/models.py:93 report/models.py:151 +#: part/models.py:2319 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 #: templates/InvenTree/settings/plugin.html:132 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:346 -#: 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:2283 +#: templates/js/translated/company.js:530 +#: templates/js/translated/company.js:742 templates/js/translated/part.js:659 +#: templates/js/translated/part.js:811 templates/js/translated/part.js:1832 +#: templates/js/translated/stock.js:2293 msgid "Name" msgstr "Navn" -#: InvenTree/models.py:340 build/models.py:197 +#: InvenTree/models.py:344 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: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:164 +#: order/models.py:134 part/models.py:762 part/templates/part/category.html:74 +#: part/templates/part/part_base.html:167 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 -#: 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/bom.js:553 templates/js/translated/bom.js:845 +#: templates/js/translated/build.js:2476 templates/js/translated/company.js:395 +#: templates/js/translated/company.js:651 +#: templates/js/translated/company.js:942 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:1676 -#: templates/js/translated/stock.js:2295 templates/js/translated/stock.js:2350 +#: templates/js/translated/part.js:718 templates/js/translated/part.js:1126 +#: templates/js/translated/part.js:1399 templates/js/translated/part.js:1851 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:1686 +#: templates/js/translated/stock.js:2305 templates/js/translated/stock.js:2360 msgid "Description" msgstr "Beskrivelse" -#: InvenTree/models.py:341 +#: InvenTree/models.py:345 msgid "Description (optional)" msgstr "Beskrivelse (valgfritt)" -#: InvenTree/models.py:349 +#: InvenTree/models.py:353 msgid "parent" msgstr "overkategori" -#: InvenTree/serializers.py:52 part/models.py:2652 +#: InvenTree/models.py:466 +msgid "Server Error" +msgstr "" + +#: InvenTree/models.py:467 +msgid "An error has been logged by the server." +msgstr "" + +#: InvenTree/serializers.py:52 part/models.py:2640 msgid "Must be a valid number" msgstr "Nummer må være gyldig" -#: InvenTree/serializers.py:271 +#: InvenTree/serializers.py:263 msgid "Filename" msgstr "Filnavn" -#: InvenTree/serializers.py:306 +#: InvenTree/serializers.py:298 msgid "Invalid value" msgstr "Ugyldig verdi" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:320 msgid "Data File" msgstr "Data fil" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:321 msgid "Select data file for upload" msgstr "Velg datafil for opplasting" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:342 msgid "Unsupported file type" msgstr "Filtypen støttes ikke" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:348 msgid "File is too large" msgstr "Filen er for stor" -#: InvenTree/serializers.py:377 +#: InvenTree/serializers.py:369 msgid "No columns found in file" msgstr "Ingen kolonner funnet i filen" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:372 msgid "No data rows found in file" msgstr "Ingen datalader funnet i fil" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:495 msgid "No data rows provided" msgstr "Ingen datalader oppgitt" -#: InvenTree/serializers.py:506 +#: InvenTree/serializers.py:498 msgid "No data columns supplied" msgstr "Ingen datakolonner angitt" -#: InvenTree/serializers.py:583 +#: InvenTree/serializers.py:575 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Mangler påkrevd kolonne: '{name}'" -#: InvenTree/serializers.py:592 +#: InvenTree/serializers.py:584 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Dupliser kolonne: '{col}'" @@ -440,7 +438,7 @@ msgstr "Tapt" msgid "Returned" msgstr "Returnert" -#: InvenTree/status_codes.py:141 order/models.py:1114 +#: InvenTree/status_codes.py:141 order/models.py:1130 #: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "Sendt" @@ -525,7 +523,7 @@ msgstr "Delt fra overordnet element" msgid "Split child item" msgstr "Delt fra underelement" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2020 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2030 msgid "Merged stock items" msgstr "Sammenslått lagervare" @@ -597,27 +595,27 @@ msgstr "Overde må ikke overstige 100%" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:522 +#: InvenTree/views.py:521 msgid "Delete Item" msgstr "Slett element" -#: InvenTree/views.py:571 +#: InvenTree/views.py:570 msgid "Check box to confirm item deletion" msgstr "Kryss av i boksen for å bekrefte sletting av element" -#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:585 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Rediger brukerinformasjon" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:597 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Velg passord" -#: InvenTree/views.py:618 +#: InvenTree/views.py:617 msgid "Password fields must match" msgstr "Passordfeltene må samsvare" -#: InvenTree/views.py:842 templates/navbar.html:152 +#: InvenTree/views.py:807 templates/navbar.html:152 msgid "System Information" msgstr "Systeminformasjon" @@ -628,6 +626,7 @@ msgstr "Ugylding valg for overordnet build" #: 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/email/overdue_build_order.html:15 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "Build ordre" @@ -646,12 +645,12 @@ msgstr "Build Ordre" msgid "Build Order Reference" msgstr "Bygg ordrereferanse" -#: build/models.py:189 order/models.py:288 order/models.py:638 -#: order/models.py:916 part/models.py:2570 +#: build/models.py:189 order/models.py:293 order/models.py:654 +#: order/models.py:932 part/models.py:2558 #: 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/bom.js:690 templates/js/translated/bom.js:852 #: 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:3959 @@ -673,13 +672,12 @@ msgstr "Build order som denne build er tildelt til" #: 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:2460 part/models.py:2545 part/models.py:2821 -#: part/serializers.py:793 part/templates/part/part_app_base.html:8 +#: order/models.py:1028 order/models.py:1119 part/models.py:336 +#: part/models.py:2087 part/models.py:2102 part/models.py:2121 +#: part/models.py:2139 part/models.py:2238 part/models.py:2358 +#: part/models.py:2448 part/models.py:2533 part/models.py:2809 +#: part/serializers.py:795 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 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 @@ -687,22 +685,23 @@ msgstr "Build order som denne build er tildelt til" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 +#: templates/email/overdue_build_order.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:805 +#: templates/js/translated/bom.js:689 templates/js/translated/bom.js:799 #: 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/company.js:253 +#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:592 +#: templates/js/translated/company.js:851 templates/js/translated/order.js:100 #: templates/js/translated/order.js:883 templates/js/translated/order.js:1315 #: 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:1633 templates/js/translated/stock.js:2376 -#: templates/js/translated/stock.js:2571 templates/js/translated/stock.js:2705 +#: templates/js/translated/part.js:1111 templates/js/translated/part.js:1181 +#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:695 templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2386 +#: templates/js/translated/stock.js:2581 templates/js/translated/stock.js:2715 msgid "Part" msgstr "Del" @@ -768,12 +767,12 @@ msgstr "Batch kode" msgid "Batch code for this build output" msgstr "Batch kode for denne build output" -#: build/models.py:282 order/models.py:137 part/models.py:932 +#: build/models.py:282 order/models.py:138 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:286 order/models.py:660 +#: build/models.py:286 order/models.py:676 msgid "Target completion date" msgstr "Forventet sluttdato" @@ -781,7 +780,7 @@ msgstr "Forventet sluttdato" 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:290 order/models.py:331 +#: build/models.py:290 order/models.py:336 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "Fullført dato" @@ -799,7 +798,7 @@ msgid "User who issued this build order" msgstr "Brukeren som utstede denne prosjekt order" #: build/models.py:313 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:151 +#: build/templates/build/detail.html:115 order/models.py:152 #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 @@ -822,20 +821,20 @@ msgstr "Ekstern link" #: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 #: company/models.py:519 company/templates/company/sidebar.html:25 -#: order/models.py:155 order/models.py:918 order/models.py:1213 +#: order/models.py:156 order/models.py:934 order/models.py:1229 #: order/templates/order/po_sidebar.html:11 #: 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:713 stock/models.py:1985 stock/models.py:2093 +#: stock/models.py:713 stock/models.py:1989 stock/models.py:2097 #: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:486 -#: stock/serializers.py:772 stock/serializers.py:871 stock/serializers.py:1003 +#: stock/serializers.py:759 stock/serializers.py:858 stock/serializers.py:990 #: 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/barcode.js:100 templates/js/translated/bom.js:1038 +#: templates/js/translated/company.js:947 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 -#: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 +#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1926 msgid "Notes" msgstr "Notater" @@ -855,44 +854,44 @@ msgstr "Prosjekt utdata er allerede utfylt" msgid "Build output does not match Build Order" msgstr "Prosjekt utdata samsvarer ikke Prosjekt Order" -#: build/models.py:1108 +#: build/models.py:1111 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:1117 +#: build/models.py:1120 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1127 +#: build/models.py:1130 msgid "Stock item is over-allocated" msgstr "Lagervare er overtildelt" -#: build/models.py:1133 order/models.py:1372 +#: build/models.py:1136 order/models.py:1388 msgid "Allocation quantity must be greater than zero" msgstr "Tildeling antallet må være større enn null" -#: build/models.py:1139 +#: build/models.py:1142 msgid "Quantity must be 1 for serialized stock" msgstr "Mengden må væew 1 for serialisert lagervare" -#: build/models.py:1196 +#: build/models.py:1199 msgid "Selected stock item not found in BOM" msgstr "Valgt lagevare ikke funnet i BOM" -#: build/models.py:1265 stock/templates/stock/item_base.html:177 +#: build/models.py:1268 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:1266 +#: build/models.py:1269 msgid "Build to allocate parts" msgstr "Bygge for å tildele deler" -#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 -#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:703 -#: stock/serializers.py:829 stock/templates/stock/item_base.html:10 +#: build/models.py:1285 build/serializers.py:603 order/serializers.py:996 +#: order/serializers.py:1017 stock/serializers.py:382 stock/serializers.py:690 +#: stock/serializers.py:816 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 @@ -900,22 +899,22 @@ msgstr "Bygge for å tildele deler" #: 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:2449 +#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696 +#: templates/js/translated/stock.js:2459 msgid "Stock Item" msgstr "Lagervare" -#: build/models.py:1283 +#: build/models.py:1286 msgid "Source stock item" msgstr "Kilde lagervare" -#: build/models.py:1295 build/serializers.py:183 +#: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1536 +#: build/templates/build/detail.html:34 common/models.py:1543 #: 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:68 -#: part/forms.py:83 part/forms.py:98 part/models.py:2561 +#: order/models.py:925 order/models.py:1428 order/serializers.py:1136 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 +#: part/forms.py:74 part/forms.py:89 part/models.py:2549 #: 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 @@ -926,8 +925,8 @@ msgstr "Kilde lagervare" #: report/templates/report/inventree_test_report_base.html:139 #: 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 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:691 +#: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 #: templates/js/translated/build.js:574 templates/js/translated/build.js:765 #: templates/js/translated/build.js:1175 templates/js/translated/build.js:1673 #: templates/js/translated/build.js:2086 @@ -937,23 +936,23 @@ msgstr "Kilde lagervare" #: 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: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 -#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727 -#: templates/js/translated/stock.js:2498 templates/js/translated/stock.js:2583 +#: templates/js/translated/part.js:1011 templates/js/translated/part.js:2065 +#: templates/js/translated/part.js:2296 templates/js/translated/part.js:2330 +#: templates/js/translated/part.js:2408 templates/js/translated/stock.js:402 +#: templates/js/translated/stock.js:556 templates/js/translated/stock.js:726 +#: templates/js/translated/stock.js:2508 templates/js/translated/stock.js:2593 msgid "Quantity" msgstr "Antall" -#: build/models.py:1296 +#: build/models.py:1299 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1304 +#: build/models.py:1307 msgid "Install into" msgstr "Installerings informasjon" -#: build/models.py:1305 +#: build/models.py:1308 msgid "Destination stock item" msgstr "Målets lagervare" @@ -982,9 +981,9 @@ msgstr "" msgid "Enter quantity for build output" msgstr "Angi antall for build utgang" -#: 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:1239 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:368 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:514 +#: part/serializers.py:958 stock/models.py:470 stock/models.py:1239 #: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "Mengden må være større enn null" @@ -997,9 +996,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 #: stock/serializers.py:297 templates/js/translated/order.js:1186 -#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:237 templates/js/translated/stock.js:403 msgid "Serial Numbers" msgstr "Serienummer" @@ -1015,7 +1014,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:552 +#: build/serializers.py:268 stock/api.py:553 msgid "The following serial numbers already exist" msgstr "" @@ -1025,16 +1024,16 @@ msgstr "" #: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 #: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:481 -#: stock/serializers.py:864 stock/serializers.py:1097 +#: stock/serializers.py:851 stock/serializers.py:1084 #: 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 #: 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:1787 templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532 +#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904 +#: templates/js/translated/stock.js:1797 templates/js/translated/stock.js:2400 msgid "Location" msgstr "Beliggenhet" @@ -1043,12 +1042,12 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:363 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:654 +#: build/templates/build/detail.html:62 order/models.py:670 #: 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 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1772 +#: templates/js/translated/stock.js:2477 templates/js/translated/stock.js:2609 msgid "Status" msgstr "" @@ -1108,8 +1107,8 @@ msgstr "" msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:535 build/serializers.py:580 part/models.py:2679 -#: part/models.py:2813 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2667 +#: part/models.py:2801 msgid "BOM Item" msgstr "BOM varer" @@ -1125,11 +1124,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:716 +#: build/serializers.py:609 stock/serializers.py:703 msgid "Item must be in stock" msgstr "Varen må være på lager" -#: build/serializers.py:667 order/serializers.py:1052 +#: build/serializers.py:667 order/serializers.py:1054 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Tilgjengelig mengde ({q}) overskredet" @@ -1146,7 +1145,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:708 order/serializers.py:1298 +#: build/serializers.py:708 order/serializers.py:1300 msgid "Allocation items must be provided" msgstr "" @@ -1178,10 +1177,19 @@ msgstr "" msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:96 +#: build/tasks.py:100 msgid "Stock required for build order" msgstr "" +#: build/tasks.py:118 +msgid "Overdue Build Order" +msgstr "" + +#: build/tasks.py:123 +#, python-brace-format +msgid "Build order {bo} is now overdue" +msgstr "" + #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 #: order/templates/order/sales_order_base.html:38 @@ -1244,13 +1252,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:922 +#: build/templates/build/detail.html:131 order/models.py:938 #: 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: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 +#: templates/js/translated/order.js:3517 templates/js/translated/part.js:1015 msgid "Target Date" msgstr "Måldato" @@ -1277,13 +1285,14 @@ msgid "Completed" msgstr "Fullført" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1100 -#: order/models.py:1185 order/models.py:1320 +#: build/templates/build/detail.html:94 order/models.py:1116 +#: order/models.py:1201 order/models.py:1336 #: 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/email/overdue_sales_order.html:15 #: templates/js/translated/order.js:2436 msgid "Sales Order" msgstr "Salgsorder" @@ -1319,7 +1328,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:1034 +#: build/templates/build/detail.html:49 order/models.py:1050 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "Destinasjon" @@ -1336,8 +1345,8 @@ msgstr "Tildelte deler" #: stock/templates/stock/item_base.html:170 #: templates/js/translated/build.js:1179 #: templates/js/translated/model_renderers.js:112 -#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1776 -#: templates/js/translated/stock.js:2606 +#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:2616 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1716,7 +1725,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "Kopier kategori parametermaler ved oppretting av en del" -#: common/models.py:820 part/models.py:2372 report/models.py:157 +#: common/models.py:820 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" @@ -1726,7 +1735,7 @@ msgstr "Mal" msgid "Parts are templates by default" msgstr "Deler er maler som standard" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" @@ -1880,7 +1889,7 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:968 -msgid "Test Reports" +msgid "Enable Test Reports" msgstr "" #: common/models.py:969 @@ -1888,568 +1897,576 @@ msgid "Enable generation of test reports" msgstr "" #: common/models.py:975 -msgid "Batch Code Template" +msgid "Attach Test Reports" msgstr "" #: common/models.py:976 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:981 -msgid "Stock Expiry" +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" #: common/models.py:982 -msgid "Enable stock expiry functionality" +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:983 +msgid "Template for generating default batch codes for stock items" msgstr "" #: common/models.py:988 -msgid "Sell Expired Stock" +msgid "Stock Expiry" msgstr "" #: common/models.py:989 -msgid "Allow sale of expired stock" +msgid "Enable stock expiry functionality" msgstr "" #: common/models.py:995 -msgid "Stock Stale Time" +msgid "Sell Expired Stock" msgstr "" #: common/models.py:996 -msgid "Number of days stock items are considered stale before expiring" +msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:998 -msgid "days" +#: common/models.py:1002 +msgid "Stock Stale Time" msgstr "" #: common/models.py:1003 -msgid "Build Expired Stock" +msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1004 -msgid "Allow building with expired stock" +#: common/models.py:1005 +msgid "days" msgstr "" #: common/models.py:1010 -msgid "Stock Ownership Control" +msgid "Build Expired Stock" msgstr "" #: common/models.py:1011 -msgid "Enable ownership control over stock locations and items" +msgid "Allow building with expired stock" msgstr "" #: common/models.py:1017 -msgid "Build Order Reference Prefix" +msgid "Stock Ownership Control" msgstr "" #: common/models.py:1018 -msgid "Prefix value for build order reference" -msgstr "" - -#: common/models.py:1023 -msgid "Build Order Reference Regex" +msgid "Enable ownership control over stock locations and items" msgstr "" #: common/models.py:1024 +msgid "Build Order Reference Prefix" +msgstr "" + +#: common/models.py:1025 +msgid "Prefix value for build order reference" +msgstr "" + +#: common/models.py:1030 +msgid "Build Order Reference Regex" +msgstr "" + +#: common/models.py:1031 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Sales Order Reference Prefix" msgstr "Salgsorder referanse prefiks" -#: common/models.py:1029 +#: common/models.py:1036 msgid "Prefix value for sales order reference" msgstr "Prefiks verdi for salgsorder referanse" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1041 +#: common/models.py:1048 msgid "Purchase Order Reference Prefix" msgstr "Salgsorder referanse prefiks" -#: common/models.py:1042 +#: common/models.py:1049 msgid "Prefix value for purchase order reference" msgstr "Prefiks verdi for salgsorder referanse" -#: common/models.py:1048 +#: common/models.py:1055 msgid "Enable password forgot" msgstr "Aktiver passord glemt" -#: common/models.py:1049 +#: common/models.py:1056 msgid "Enable password forgot function on the login pages" msgstr "Ativer funskjon for glemt passord på innloggingssidene" -#: common/models.py:1055 +#: common/models.py:1062 msgid "Enable registration" msgstr "Aktiver registrering" -#: common/models.py:1056 +#: common/models.py:1063 msgid "Enable self-registration for users on the login pages" msgstr "Aktiver egenregistrerting for brukerer på påloggingssidene" -#: common/models.py:1062 +#: common/models.py:1069 msgid "Enable SSO" msgstr "Aktiver SSO" -#: common/models.py:1063 +#: common/models.py:1070 msgid "Enable SSO on the login pages" msgstr "Aktiver SSO på innloggingssidene" -#: common/models.py:1069 +#: common/models.py:1076 msgid "Email required" msgstr "E-postadresse kreves" -#: common/models.py:1070 +#: common/models.py:1077 msgid "Require user to supply mail on signup" msgstr "Krevt at brukeren angi e-post ved registrering" -#: common/models.py:1076 +#: common/models.py:1083 msgid "Auto-fill SSO users" msgstr "Auto-utfyll SSO brukere" -#: common/models.py:1077 +#: common/models.py:1084 msgid "Automatically fill out user-details from SSO account-data" msgstr "Fyll automatisk ut brukeropplysninger fra SSO kontodata" -#: common/models.py:1083 +#: common/models.py:1090 msgid "Mail twice" msgstr "E-post to ganger" -#: common/models.py:1084 +#: common/models.py:1091 msgid "On signup ask users twice for their mail" msgstr "Ved registrering spør brukere to ganger for e-posten" -#: common/models.py:1090 +#: common/models.py:1097 msgid "Password twice" msgstr "Passord to ganger" -#: common/models.py:1091 +#: common/models.py:1098 msgid "On signup ask users twice for their password" msgstr "Ved registrerting, spør brukere to ganger for passord" -#: common/models.py:1097 +#: common/models.py:1104 msgid "Group on signup" msgstr "" -#: common/models.py:1098 +#: common/models.py:1105 msgid "Group to which new users are assigned on registration" msgstr "Gruppe for hvilke nye brukere som er tilknyttet registrering" -#: common/models.py:1104 +#: common/models.py:1111 msgid "Enforce MFA" msgstr "" -#: common/models.py:1105 +#: common/models.py:1112 msgid "Users must use multifactor security." msgstr "Brukere må bruke flerfaktorsikkerhet." -#: common/models.py:1111 +#: common/models.py:1118 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1112 +#: common/models.py:1119 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1120 +#: common/models.py:1127 msgid "Enable URL integration" msgstr "Aktiver URL integrering" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Enable navigation integration" msgstr "Aktiver navigasjonsintegrering" -#: common/models.py:1129 +#: common/models.py:1136 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1136 +#: common/models.py:1143 msgid "Enable app integration" msgstr "Aktiver app integrasjon" -#: common/models.py:1137 +#: common/models.py:1144 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1144 +#: common/models.py:1151 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1145 +#: common/models.py:1152 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1152 +#: common/models.py:1159 msgid "Enable event integration" msgstr "" -#: common/models.py:1153 +#: common/models.py:1160 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1170 common/models.py:1492 +#: common/models.py:1177 common/models.py:1499 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1192 +#: common/models.py:1199 msgid "Show subscribed parts" msgstr "Vis abbonerte deler" -#: common/models.py:1193 +#: common/models.py:1200 msgid "Show subscribed parts on the homepage" msgstr "Vis abbonerte deler på hjemmesiden" -#: common/models.py:1199 +#: common/models.py:1206 msgid "Show subscribed categories" msgstr "Vis abbonerte kategorier" -#: common/models.py:1200 +#: common/models.py:1207 msgid "Show subscribed part categories on the homepage" msgstr "Vis abbonerte delkatekorier på hjemmesiden" -#: common/models.py:1206 +#: common/models.py:1213 msgid "Show latest parts" msgstr "Vis nyeste deler" -#: common/models.py:1207 +#: common/models.py:1214 msgid "Show latest parts on the homepage" msgstr "Vis nyeste deler på hjemmesiden" -#: common/models.py:1213 +#: common/models.py:1220 msgid "Recent Part Count" msgstr "Antall nylig deler" -#: common/models.py:1214 +#: common/models.py:1221 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1220 +#: common/models.py:1227 msgid "Show unvalidated BOMs" msgstr "Vis uvaliderte BOMs" -#: common/models.py:1221 +#: common/models.py:1228 msgid "Show BOMs that await validation on the homepage" msgstr "Vis BOMs som venter validering på hjemmesiden" -#: common/models.py:1227 +#: common/models.py:1234 msgid "Show recent stock changes" msgstr "Vis nylige lagerendringer" -#: common/models.py:1228 +#: common/models.py:1235 msgid "Show recently changed stock items on the homepage" msgstr "Vis nylig endret lagervarer på hjemmesiden" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Recent Stock Count" msgstr "Siste lagertelling" -#: common/models.py:1235 +#: common/models.py:1242 msgid "Number of recent stock items to display on index page" msgstr "Antall nylige lagervarer som skal vises på indeksside" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Show low stock" msgstr "Vis lav lager" -#: common/models.py:1242 +#: common/models.py:1249 msgid "Show low stock items on the homepage" msgstr "Vis lav lagervarer på hjemmesiden" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Show depleted stock" msgstr "Vis tom lagervarer" -#: common/models.py:1249 +#: common/models.py:1256 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1262 msgid "Show needed stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1263 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1269 msgid "Show expired stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1270 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1276 msgid "Show stale stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Show pending builds" msgstr "" -#: common/models.py:1277 +#: common/models.py:1284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Show overdue builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1291 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1291 +#: common/models.py:1298 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Show overdue POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1305 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1312 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1318 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1319 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1317 +#: common/models.py:1324 msgid "Enable label printing" msgstr "" -#: common/models.py:1318 +#: common/models.py:1325 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1324 +#: common/models.py:1331 msgid "Inline label display" msgstr "" -#: common/models.py:1325 +#: common/models.py:1332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1331 +#: common/models.py:1338 msgid "Inline report display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1345 msgid "Search Parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1345 +#: common/models.py:1352 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1359 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1366 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1367 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1373 msgid "Search Categories" msgstr "" -#: common/models.py:1367 +#: common/models.py:1374 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1380 msgid "Search Stock" msgstr "" -#: common/models.py:1374 +#: common/models.py:1381 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1387 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1381 +#: common/models.py:1388 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1394 msgid "Search Locations" msgstr "" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1401 msgid "Search Companies" msgstr "" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1408 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1415 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1422 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1429 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Search Preview Results" msgstr "" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1457 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1457 +#: common/models.py:1464 msgid "Date Format" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1472 part/templates/part/detail.html:39 +#: common/models.py:1479 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1473 +#: common/models.py:1480 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1537 company/forms.py:37 +#: common/models.py:1544 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: 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 +#: common/models.py:1551 company/serializers.py:290 +#: company/templates/company/supplier_part.html:263 order/models.py:965 +#: templates/js/translated/part.js:1042 templates/js/translated/part.js:2070 msgid "Price" msgstr "" -#: common/models.py:1545 +#: common/models.py:1552 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1705 common/models.py:1883 +#: common/models.py:1712 common/models.py:1890 msgid "Endpoint" msgstr "" -#: common/models.py:1706 +#: common/models.py:1713 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1715 +#: common/models.py:1722 msgid "Name for this webhook" msgstr "" -#: common/models.py:1720 part/models.py:911 plugin/models.py:99 +#: common/models.py:1727 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 @@ -2457,79 +2474,89 @@ msgstr "" msgid "Active" msgstr "Aktiv" -#: common/models.py:1721 +#: common/models.py:1728 msgid "Is this webhook active" msgstr "" -#: common/models.py:1735 +#: common/models.py:1742 msgid "Token" msgstr "Sjetong" -#: common/models.py:1736 +#: common/models.py:1743 msgid "Token for access" msgstr "Nøkkel for tilgang" -#: common/models.py:1743 +#: common/models.py:1750 msgid "Secret" msgstr "Hemmelig" -#: common/models.py:1744 +#: common/models.py:1751 msgid "Shared secret for HMAC" msgstr "Delt hemmlighet for HMAC" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Message ID" msgstr "Melding ID" -#: common/models.py:1851 +#: common/models.py:1858 msgid "Unique identifier for this message" msgstr "Unik Id for denne meldingen" -#: common/models.py:1859 +#: common/models.py:1866 msgid "Host" msgstr "Vert" -#: common/models.py:1860 +#: common/models.py:1867 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1867 +#: common/models.py:1874 msgid "Header" msgstr "Tittel" -#: common/models.py:1868 +#: common/models.py:1875 msgid "Header of this message" msgstr "Overskrift for denne meldingen" -#: common/models.py:1874 +#: common/models.py:1881 msgid "Body" msgstr "Brødtekst" -#: common/models.py:1875 +#: common/models.py:1882 msgid "Body of this message" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1889 +#: common/models.py:1896 msgid "Worked on" msgstr "Arbeidet med" -#: common/models.py:1890 +#: common/models.py:1897 msgid "Was the work on this message finished?" msgstr "Var arbeidet med denne meldingen ferdig?" +#: common/notifications.py:292 +#, python-brace-format +msgid "New {verbose_name}" +msgstr "" + +#: common/notifications.py:294 +#, python-brace-format +msgid "A new {verbose_name} has been created and ,assigned to you" +msgstr "" + #: common/views.py:87 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:191 +#: order/views.py:102 part/views.py:116 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Last opp fil" #: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:192 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:117 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "Sammelign felter" @@ -2545,19 +2572,19 @@ msgstr "" msgid "Parts imported" msgstr "Deler importert" -#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:511 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:16 part/forms.py:21 +#: company/forms.py:16 part/forms.py:18 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:17 part/forms.py:22 +#: company/forms.py:17 part/forms.py:19 msgid "Image URL" msgstr "Bilde URL" @@ -2571,7 +2598,7 @@ msgstr "Beskrivelse av firmaet" #: company/models.py:104 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:405 +#: templates/js/translated/company.js:399 msgid "Website" msgstr "Nettside" @@ -2644,9 +2671,9 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "Produserer dette firmaet deler?" -#: 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 +#: company/models.py:144 company/serializers.py:296 +#: company/templates/company/company_base.html:106 part/serializers.py:139 +#: part/serializers.py:170 stock/serializers.py:162 msgid "Currency" msgstr "Valuta" @@ -2667,10 +2694,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: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/company.js:383 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:617 +#: templates/js/translated/company.js:902 templates/js/translated/part.js:235 #: templates/js/translated/table_filters.js:411 msgid "Manufacturer" msgstr "" @@ -2681,11 +2708,11 @@ msgstr "" #: 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 -#: 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 +#: templates/js/translated/company.js:256 +#: templates/js/translated/company.js:483 +#: templates/js/translated/company.js:633 +#: templates/js/translated/company.js:920 templates/js/translated/order.js:1907 +#: templates/js/translated/part.js:246 templates/js/translated/part.js:1000 msgid "MPN" msgstr "" @@ -2714,9 +2741,9 @@ msgstr "" #: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2080 templates/js/translated/company.js:540 -#: templates/js/translated/company.js:763 templates/js/translated/part.js:776 -#: templates/js/translated/stock.js:1294 +#: stock/models.py:2084 templates/js/translated/company.js:531 +#: templates/js/translated/company.js:748 templates/js/translated/part.js:820 +#: templates/js/translated/stock.js:1304 msgid "Value" msgstr "" @@ -2724,10 +2751,10 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:368 part/models.py:878 part/models.py:2339 +#: company/models.py:368 part/models.py:878 part/models.py:2327 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:351 -#: templates/js/translated/company.js:769 templates/js/translated/part.js:782 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:826 msgid "Units" msgstr "" @@ -2740,13 +2767,14 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:487 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:303 +#: company/templates/company/supplier_part.html:87 order/models.py:308 #: 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 -#: 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/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:255 +#: templates/js/translated/company.js:387 +#: templates/js/translated/company.js:876 templates/js/translated/order.js:1643 +#: templates/js/translated/part.js:216 templates/js/translated/part.js:968 #: templates/js/translated/table_filters.js:415 msgid "Supplier" msgstr "" @@ -2756,9 +2784,9 @@ msgid "Select supplier" msgstr "" #: 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 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:254 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 -#: templates/js/translated/part.js:942 +#: templates/js/translated/part.js:986 msgid "SKU" msgstr "" @@ -2779,23 +2807,23 @@ msgid "Supplier part description" msgstr "" #: company/models.py:518 company/templates/company/supplier_part.html:125 -#: part/models.py:2573 part/templates/part/upload_bom.html:59 +#: part/models.py:2561 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:387 msgid "Note" msgstr "" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "base cost" msgstr "" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: 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 +#: templates/js/translated/company.js:952 templates/js/translated/stock.js:1922 msgid "Packaging" msgstr "" @@ -2803,7 +2831,7 @@ msgstr "" msgid "Part packaging" msgstr "" -#: company/models.py:526 part/models.py:1690 +#: company/models.py:526 part/models.py:1685 msgid "multiple" msgstr "" @@ -2825,7 +2853,7 @@ msgstr "" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:177 templates/js/translated/company.js:378 +#: templates/InvenTree/search.html:177 templates/js/translated/company.js:372 msgid "Company" msgstr "" @@ -2843,7 +2871,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:321 +#: templates/js/translated/company.js:315 msgid "Edit Company" msgstr "" @@ -2866,12 +2894,13 @@ msgstr "" msgid "Download image from URL" msgstr "Last ned bilde fra URL" -#: company/templates/company/company_base.html:86 order/models.py:649 +#: company/templates/company/company_base.html:86 order/models.py:665 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:758 +#: stock/models.py:628 stock/serializers.py:745 #: 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 +#: templates/email/overdue_sales_order.html:16 +#: templates/js/translated/company.js:379 templates/js/translated/order.js:2458 +#: templates/js/translated/stock.js:2441 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "Kunde" @@ -2999,7 +3028,7 @@ msgid "Supplier List" msgstr "Leverandørliste" #: company/templates/company/manufacturer_part.html:15 company/views.py:45 -#: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 +#: part/templates/part/prices.html:172 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" msgstr "Produsenter" @@ -3012,12 +3041,12 @@ msgid "Order part" msgstr "Bestill del" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:680 +#: templates/js/translated/company.js:665 msgid "Edit manufacturer part" msgstr "Endre produsent del" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:681 +#: templates/js/translated/company.js:666 msgid "Delete manufacturer part" msgstr "Slett produsentdel" @@ -3032,7 +3061,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:39 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 +#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" msgstr "Leverandører" @@ -3092,18 +3121,18 @@ msgstr "Tildelt lagervarer" #: company/templates/company/supplier_part.html:7 #: 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 +#: templates/js/translated/company.js:892 templates/js/translated/order.js:884 +#: templates/js/translated/stock.js:1879 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:38 -#: templates/js/translated/company.js:980 +#: templates/js/translated/company.js:965 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:42 -#: templates/js/translated/company.js:981 +#: templates/js/translated/company.js:966 msgid "Delete supplier part" msgstr "" @@ -3123,7 +3152,7 @@ msgstr "" #: company/templates/company/supplier_part.html:148 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 -#: templates/js/translated/stock.js:380 +#: templates/js/translated/stock.js:379 msgid "New Stock Item" msgstr "" @@ -3144,7 +3173,7 @@ msgstr "" #: company/templates/company/supplier_part.html:191 #: company/templates/company/supplier_part.html:305 -#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046 +#: part/templates/part/prices.html:276 templates/js/translated/part.js:2142 msgid "Add Price Break" msgstr "" @@ -3153,12 +3182,12 @@ msgid "No price break information found" msgstr "" #: company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2152 msgid "Delete Price Break" msgstr "" #: company/templates/company/supplier_part.html:245 -#: templates/js/translated/part.js:2070 +#: templates/js/translated/part.js:2166 msgid "Edit Price Break" msgstr "" @@ -3180,9 +3209,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: 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:1687 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:722 +#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1431 +#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3209,7 +3238,7 @@ msgstr "" #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 -#: templates/js/translated/stock.js:2307 users/models.py:39 +#: templates/js/translated/stock.js:2317 users/models.py:39 msgid "Stock Items" msgstr "" @@ -3238,20 +3267,20 @@ msgstr "" msgid "New Company" msgstr "" -#: company/views.py:112 part/views.py:576 +#: company/views.py:112 part/views.py:501 msgid "Download Image" msgstr "" -#: company/views.py:139 part/views.py:606 +#: company/views.py:139 part/views.py:531 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:146 part/views.py:613 +#: company/views.py:146 part/views.py:538 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:155 part/views.py:622 +#: company/views.py:155 part/views.py:547 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3320,313 +3349,314 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:133 +#: order/models.py:134 msgid "Order description" msgstr "" -#: order/models.py:135 order/models.py:1236 +#: order/models.py:136 order/models.py:1252 msgid "Link to external page" msgstr "" -#: order/models.py:143 +#: order/models.py:144 msgid "Created By" msgstr "" -#: order/models.py:150 +#: order/models.py:151 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:155 +#: order/models.py:156 msgid "Order notes" msgstr "" -#: order/models.py:289 order/models.py:639 +#: order/models.py:294 order/models.py:655 msgid "Order reference" msgstr "" -#: order/models.py:294 order/models.py:654 +#: order/models.py:299 order/models.py:670 msgid "Purchase order status" msgstr "" -#: order/models.py:304 +#: order/models.py:309 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:307 order/templates/order/order_base.html:124 +#: order/models.py:312 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:307 +#: order/models.py:312 msgid "Supplier order reference code" msgstr "" -#: order/models.py:314 +#: order/models.py:319 msgid "received by" msgstr "" -#: order/models.py:319 +#: order/models.py:324 msgid "Issue Date" msgstr "" -#: order/models.py:320 +#: order/models.py:325 msgid "Date order was issued" msgstr "" -#: order/models.py:325 +#: order/models.py:330 msgid "Target Delivery Date" msgstr "" -#: order/models.py:326 +#: order/models.py:331 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:332 +#: order/models.py:337 msgid "Date order was completed" msgstr "" -#: order/models.py:368 +#: order/models.py:373 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:512 +#: order/models.py:517 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:650 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer Reference " msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer order reference code" msgstr "" -#: order/models.py:661 +#: order/models.py:677 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:664 order/models.py:1190 +#: order/models.py:680 order/models.py:1206 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:671 +#: order/models.py:687 msgid "shipped by" msgstr "" -#: order/models.py:726 +#: order/models.py:742 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:730 +#: order/models.py:746 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:733 +#: order/models.py:749 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:736 +#: order/models.py:752 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:910 +#: order/models.py:926 msgid "Item quantity" msgstr "" -#: order/models.py:916 +#: order/models.py:932 msgid "Line item reference" msgstr "" -#: order/models.py:918 +#: order/models.py:934 msgid "Line item notes" msgstr "" -#: order/models.py:923 +#: order/models.py:939 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:941 +#: order/models.py:957 msgid "Context" msgstr "" -#: order/models.py:942 +#: order/models.py:958 msgid "Additional context for this line" msgstr "" -#: order/models.py:950 +#: order/models.py:966 msgid "Unit price" msgstr "" -#: order/models.py:980 +#: order/models.py:996 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:988 +#: order/models.py:1004 msgid "deleted" msgstr "" -#: order/models.py:994 order/models.py:1074 order/models.py:1099 -#: order/models.py:1184 order/models.py:1320 +#: order/models.py:1010 order/models.py:1090 order/models.py:1115 +#: order/models.py:1200 order/models.py:1336 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:995 order/models.py:1074 +#: order/models.py:1011 order/models.py:1090 #: 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/email/overdue_purchase_order.html:15 #: 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 +#: templates/js/translated/part.js:943 templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:2422 msgid "Purchase Order" msgstr "" -#: order/models.py:1013 +#: order/models.py:1029 msgid "Supplier part" msgstr "" -#: order/models.py:1020 order/templates/order/order_base.html:169 +#: order/models.py:1036 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/part.js:1037 templates/js/translated/part.js:1064 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1021 +#: order/models.py:1037 msgid "Number of items received" msgstr "" -#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: order/models.py:1044 part/templates/part/prices.html:181 stock/models.py:722 #: stock/serializers.py:153 stock/templates/stock/item_base.html:191 -#: templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:1910 msgid "Purchase Price" msgstr "" -#: order/models.py:1029 +#: order/models.py:1045 msgid "Unit purchase price" msgstr "" -#: order/models.py:1037 +#: order/models.py:1053 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1109 part/templates/part/part_pricing.html:112 -#: part/templates/part/prices.html:119 part/templates/part/prices.html:288 +#: order/models.py:1125 part/templates/part/part_pricing.html:115 +#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 msgid "Sale Price" msgstr "" -#: order/models.py:1110 +#: order/models.py:1126 msgid "Unit sale price" msgstr "" -#: order/models.py:1115 +#: order/models.py:1131 msgid "Shipped quantity" msgstr "" -#: order/models.py:1191 +#: order/models.py:1207 msgid "Date of shipment" msgstr "" -#: order/models.py:1198 +#: order/models.py:1214 msgid "Checked By" msgstr "" -#: order/models.py:1199 +#: order/models.py:1215 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1207 +#: order/models.py:1223 msgid "Shipment number" msgstr "" -#: order/models.py:1214 +#: order/models.py:1230 msgid "Shipment notes" msgstr "" -#: order/models.py:1221 +#: order/models.py:1237 msgid "Tracking Number" msgstr "" -#: order/models.py:1222 +#: order/models.py:1238 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1229 +#: order/models.py:1245 msgid "Invoice Number" msgstr "" -#: order/models.py:1230 +#: order/models.py:1246 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1248 +#: order/models.py:1264 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1251 +#: order/models.py:1267 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1354 order/models.py:1356 +#: order/models.py:1370 order/models.py:1372 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1360 +#: order/models.py:1376 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1362 +#: order/models.py:1378 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1365 +#: order/models.py:1381 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1369 +#: order/models.py:1385 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1375 order/serializers.py:1045 +#: order/models.py:1391 order/serializers.py:1047 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1378 +#: order/models.py:1394 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1379 +#: order/models.py:1395 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1387 +#: order/models.py:1403 msgid "Line" msgstr "" -#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 +#: order/models.py:1411 order/serializers.py:1151 order/serializers.py:1275 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1396 +#: order/models.py:1412 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1424 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1409 +#: order/models.py:1425 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Enter stock allocation quantity" msgstr "" @@ -3662,7 +3692,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1117 +#: order/serializers.py:406 order/serializers.py:1119 msgid "Line Item" msgstr "" @@ -3710,42 +3740,60 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:866 +#: order/serializers.py:868 msgid "Sale price currency" msgstr "" -#: order/serializers.py:947 +#: order/serializers.py:949 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1006 order/serializers.py:1126 +#: order/serializers.py:1008 order/serializers.py:1128 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1028 +#: order/serializers.py:1030 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1139 +#: order/serializers.py:1141 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1161 order/serializers.py:1281 +#: order/serializers.py:1163 order/serializers.py:1283 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1164 order/serializers.py:1284 +#: order/serializers.py:1166 order/serializers.py:1286 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1216 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1224 +#: order/serializers.py:1226 msgid "The following serial numbers are already allocated" msgstr "" +#: order/tasks.py:26 +msgid "Overdue Purchase Order" +msgstr "" + +#: order/tasks.py:31 +#, python-brace-format +msgid "Purchase order {po} is now overdue" +msgstr "" + +#: order/tasks.py:88 +msgid "Overdue Sales Order" +msgstr "" + +#: order/tasks.py:93 +#, python-brace-format +msgid "Sales order {so} is now overdue" +msgstr "" + #: order/templates/order/order_base.html:33 msgid "Print purchase order report" msgstr "" @@ -3870,8 +3918,8 @@ msgstr "" #: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: 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:2731 templates/js/translated/stock.js:570 -#: templates/js/translated/stock.js:738 +#: templates/js/translated/order.js:2731 templates/js/translated/stock.js:569 +#: templates/js/translated/stock.js:737 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -3990,7 +4038,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1047 #: templates/js/translated/build.js:1880 msgid "Actions" msgstr "" @@ -4021,47 +4069,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:481 +#: part/api.py:482 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:501 +#: part/api.py:502 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:519 +#: part/api.py:520 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:551 +#: part/api.py:552 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:637 +#: part/api.py:638 msgid "Valid" msgstr "" -#: part/api.py:638 +#: part/api.py:639 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:644 +#: part/api.py:645 msgid "This option must be selected" msgstr "" -#: part/api.py:1010 +#: part/api.py:1011 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1014 +#: part/api.py:1015 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1029 +#: part/api.py:1030 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1060 part/api.py:1064 part/api.py:1079 part/api.py:1083 +#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 msgid "This field is required" msgstr "" @@ -4080,17 +4128,13 @@ msgid "Available Stock" msgstr "" #: 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 +#: templates/js/translated/part.js:561 templates/js/translated/part.js:581 +#: templates/js/translated/part.js:1273 templates/js/translated/part.js:1445 +#: templates/js/translated/part.js:1461 msgid "On Order" msgstr "" -#: part/forms.py:59 -msgid "Select part category" -msgstr "" - -#: part/forms.py:69 +#: part/forms.py:60 msgid "Input quantity for price calculation" msgstr "" @@ -4106,7 +4150,7 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:115 part/models.py:2415 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2403 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -4123,7 +4167,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:144 +#: templates/js/translated/part.js:1864 templates/js/translated/search.js:144 #: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "" @@ -4153,7 +4197,7 @@ msgstr "" msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:738 part/models.py:2469 +#: part/models.py:738 part/models.py:2457 msgid "Part name" msgstr "" @@ -4186,12 +4230,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:776 part/models.py:2171 part/models.py:2414 +#: part/models.py:776 part/models.py:2159 part/models.py:2402 #: part/templates/part/part_base.html:257 -#: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 #: templates/InvenTree/settings/settings.html:231 -#: templates/js/translated/part.js:1369 +#: templates/js/translated/part.js:1413 templates/js/translated/part.js:1639 msgid "Category" msgstr "" @@ -4200,8 +4243,8 @@ msgid "Part category" msgstr "" #: 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 +#: templates/js/translated/part.js:710 templates/js/translated/part.js:1366 +#: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" @@ -4214,7 +4257,7 @@ msgid "Part revision or version number" msgstr "" #: part/models.py:790 part/templates/part/part_base.html:273 -#: report/models.py:170 templates/js/translated/part.js:670 +#: report/models.py:170 templates/js/translated/part.js:714 msgid "Revision" msgstr "" @@ -4302,317 +4345,321 @@ msgstr "" msgid "Creation User" msgstr "" -#: part/models.py:1690 +#: part/models.py:1685 msgid "Sell multiple" msgstr "" -#: part/models.py:2218 +#: part/models.py:2206 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2235 +#: part/models.py:2223 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2255 templates/js/translated/part.js:1819 -#: templates/js/translated/stock.js:1274 +#: part/models.py:2243 templates/js/translated/part.js:1915 +#: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2256 +#: part/models.py:2244 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2261 +#: part/models.py:2249 msgid "Test Description" msgstr "" -#: part/models.py:2262 +#: part/models.py:2250 msgid "Enter description for this test" msgstr "" -#: part/models.py:2267 templates/js/translated/part.js:1828 +#: part/models.py:2255 templates/js/translated/part.js:1924 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2268 +#: part/models.py:2256 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2273 templates/js/translated/part.js:1836 +#: part/models.py:2261 templates/js/translated/part.js:1932 msgid "Requires Value" msgstr "" -#: part/models.py:2274 +#: part/models.py:2262 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2279 templates/js/translated/part.js:1843 +#: part/models.py:2267 templates/js/translated/part.js:1939 msgid "Requires Attachment" msgstr "" -#: part/models.py:2280 +#: part/models.py:2268 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2288 +#: part/models.py:2276 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2324 +#: part/models.py:2312 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2332 +#: part/models.py:2320 msgid "Parameter Name" msgstr "" -#: part/models.py:2339 +#: part/models.py:2327 msgid "Parameter Units" msgstr "" -#: part/models.py:2370 +#: part/models.py:2358 msgid "Parent Part" msgstr "" -#: part/models.py:2372 part/models.py:2420 part/models.py:2421 +#: part/models.py:2360 part/models.py:2408 part/models.py:2409 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Data" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Parameter Value" msgstr "" -#: part/models.py:2425 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2413 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2426 +#: part/models.py:2414 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2461 +#: part/models.py:2449 msgid "Part ID or part name" msgstr "" -#: part/models.py:2464 templates/js/translated/model_renderers.js:200 +#: part/models.py:2452 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2465 +#: part/models.py:2453 msgid "Unique part ID value" msgstr "" -#: part/models.py:2468 +#: part/models.py:2456 msgid "Part Name" msgstr "" -#: part/models.py:2472 +#: part/models.py:2460 msgid "Part IPN" msgstr "" -#: part/models.py:2473 +#: part/models.py:2461 msgid "Part IPN value" msgstr "" -#: part/models.py:2476 +#: part/models.py:2464 msgid "Level" msgstr "" -#: part/models.py:2477 +#: part/models.py:2465 msgid "BOM level" msgstr "" -#: part/models.py:2546 +#: part/models.py:2534 msgid "Select parent part" msgstr "" -#: part/models.py:2554 +#: part/models.py:2542 msgid "Sub part" msgstr "" -#: part/models.py:2555 +#: part/models.py:2543 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2561 +#: part/models.py:2549 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2563 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 +#: part/models.py:2551 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:871 templates/js/translated/bom.js:965 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2563 +#: part/models.py:2551 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2566 part/templates/part/upload_bom.html:55 +#: part/models.py:2554 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2567 +#: part/models.py:2555 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2570 +#: part/models.py:2558 msgid "BOM item reference" msgstr "" -#: part/models.py:2573 +#: part/models.py:2561 msgid "BOM item notes" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "Checksum" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "BOM line checksum" msgstr "" -#: part/models.py:2579 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:988 +#: part/models.py:2567 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:982 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2580 +#: part/models.py:2568 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2585 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:980 +#: part/models.py:2573 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:974 msgid "Allow Variants" msgstr "" -#: part/models.py:2586 +#: part/models.py:2574 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2664 stock/models.py:460 +#: part/models.py:2652 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2673 part/models.py:2675 +#: part/models.py:2661 part/models.py:2663 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2780 +#: part/models.py:2768 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2801 +#: part/models.py:2789 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2814 +#: part/models.py:2802 msgid "Parent BOM item" msgstr "" -#: part/models.py:2822 +#: part/models.py:2810 msgid "Substitute part" msgstr "" -#: part/models.py:2833 +#: part/models.py:2825 msgid "Part 1" msgstr "" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Part 2" msgstr "" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Select Related Part" msgstr "" -#: part/models.py:2868 -msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" +#: part/models.py:2847 +msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 +#: part/models.py:2851 +msgid "Duplicate relationship already exists" +msgstr "" + +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:794 +#: part/serializers.py:796 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:804 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:805 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:810 msgid "Include Inherited" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:811 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:816 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:817 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:820 +#: part/serializers.py:822 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:821 +#: part/serializers.py:823 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:861 +#: part/serializers.py:863 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:864 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:894 msgid "No part column specified" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:937 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:938 +#: part/serializers.py:940 msgid "No matching part found" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:943 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:950 +#: part/serializers.py:952 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:958 +#: part/serializers.py:960 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:979 +#: part/serializers.py:981 msgid "At least one BOM item is required" msgstr "" @@ -5088,10 +5135,10 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:143 -#: templates/js/translated/company.js:623 -#: templates/js/translated/company.js:882 +#: templates/js/translated/company.js:608 +#: templates/js/translated/company.js:867 #: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:658 +#: templates/js/translated/part.js:625 templates/js/translated/part.js:702 msgid "Inactive" msgstr "" @@ -5120,13 +5167,13 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1009 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1003 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/part.js:520 -#: templates/js/translated/part.js:540 templates/js/translated/part.js:1233 -#: templates/js/translated/part.js:1405 templates/js/translated/part.js:1421 +#: part/templates/part/part_base.html:238 templates/js/translated/part.js:564 +#: templates/js/translated/part.js:584 templates/js/translated/part.js:1277 +#: templates/js/translated/part.js:1449 templates/js/translated/part.js:1465 msgid "Building" msgstr "" @@ -5143,7 +5190,7 @@ msgstr "" msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:443 part/templates/part/prices.html:147 +#: part/templates/part/part_base.html:443 part/templates/part/prices.html:149 msgid "Calculate" msgstr "" @@ -5161,54 +5208,55 @@ msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:106 -#: part/templates/part/prices.html:123 +#: part/templates/part/part_pricing.html:103 +#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 +#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:104 -#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:111 -#: part/templates/part/prices.html:128 +#: part/templates/part/part_pricing.html:107 +#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 +#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 +#: part/templates/part/prices.html:130 msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:963 +#: templates/js/translated/bom.js:957 msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:246 +#: part/templates/part/prices.html:248 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:89 +#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:96 +#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:105 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/prices.html:107 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:128 -#: part/templates/part/prices.html:137 +#: part/templates/part/part_pricing.html:131 +#: part/templates/part/prices.html:139 msgid "No pricing information is available for this part." msgstr "" @@ -5232,43 +5280,6 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:9 -#, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" -"
Disable the \"Active\" part attribute and re-try.\n" -" " -msgstr "" - -#: part/templates/part/partial_delete.html:17 -#, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" -msgstr "" - -#: part/templates/part/partial_delete.html:22 -#, python-format -msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" -msgstr "" - -#: part/templates/part/partial_delete.html:32 -#, python-format -msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:43 -#, python-format -msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:54 -#, python-format -msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:67 -#, python-format -msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." -msgstr "" - #: part/templates/part/prices.html:19 msgid "Pricing ranges" msgstr "" @@ -5285,66 +5296,58 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:120 +#: part/templates/part/prices.html:122 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:123 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:143 +#: part/templates/part/prices.html:145 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:957 +#: part/templates/part/prices.html:160 templates/js/translated/bom.js:951 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:159 part/templates/part/prices.html:180 -#: part/templates/part/prices.html:204 part/templates/part/prices.html:234 -#: part/templates/part/prices.html:260 part/templates/part/prices.html:289 +#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 +#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 +#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:184 +#: part/templates/part/prices.html:186 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:193 +#: part/templates/part/prices.html:195 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:203 +#: part/templates/part/prices.html:205 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:218 +#: part/templates/part/prices.html:220 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:233 +#: part/templates/part/prices.html:235 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:259 +#: part/templates/part/prices.html:261 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:300 +#: part/templates/part/prices.html:302 msgid "No sale pice history available for this part." msgstr "" -#: part/templates/part/set_category.html:9 -msgid "Set category for the following parts" -msgstr "" - -#: part/templates/part/set_category.html:32 -msgid "Remove part" -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543 -#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:587 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:1469 msgid "No Stock" msgstr "" @@ -5407,56 +5410,39 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:74 -msgid "Set Part Category" -msgstr "" - -#: part/views.py:122 -#, python-brace-format -msgid "Set category for {n} parts" -msgstr "" - -#: part/views.py:193 +#: part/views.py:118 msgid "Match References" msgstr "" -#: part/views.py:494 +#: part/views.py:419 msgid "None" msgstr "" -#: part/views.py:556 +#: part/views.py:481 msgid "Part QR Code" msgstr "" -#: part/views.py:650 +#: part/views.py:575 msgid "Select Part Image" msgstr "" -#: part/views.py:676 +#: part/views.py:601 msgid "Updated part image" msgstr "" -#: part/views.py:679 +#: part/views.py:604 msgid "Part image not found" msgstr "" -#: part/views.py:768 -msgid "Confirm Part Deletion" -msgstr "" - -#: part/views.py:776 -msgid "Part was deleted" -msgstr "" - -#: part/views.py:785 +#: part/views.py:693 msgid "Part Pricing" msgstr "" -#: part/views.py:976 +#: part/views.py:884 msgid "Delete Part Category" msgstr "" -#: part/views.py:983 +#: part/views.py:891 msgid "Part category was deleted" msgstr "" @@ -5516,21 +5502,21 @@ msgstr "Strekkode tilknyttet lagervare" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:28 +#: plugin/builtin/integration/core_notifications.py:29 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 +#: plugin/builtin/integration/core_notifications.py:30 msgid "Integrated outgoing notificaton methods" msgstr "" -#: 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:34 #: plugin/builtin/integration/core_notifications.py:53 +msgid "Enable email notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:35 +#: plugin/builtin/integration/core_notifications.py:54 msgid "Allow sending of emails for event notifications" msgstr "" @@ -5646,15 +5632,19 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:166 +#: report/api.py:179 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:198 report/api.py:239 +#: report/api.py:215 report/api.py:256 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" +#: report/api.py:359 +msgid "Test report" +msgstr "" + #: report/models.py:152 msgid "Template name" msgstr "" @@ -5757,7 +5747,7 @@ msgstr "" #: 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:3229 -#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:434 msgid "Serial Number" msgstr "" @@ -5766,19 +5756,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2068 +#: stock/models.py:2072 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2074 +#: stock/models.py:2078 msgid "Result" 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:1669 templates/js/translated/stock.js:2340 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2350 msgid "Date" msgstr "" @@ -5796,20 +5786,20 @@ msgid "Installed Items" 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:2589 +#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724 +#: templates/js/translated/stock.js:2599 msgid "Serial" msgstr "" -#: stock/api.py:504 +#: stock/api.py:505 msgid "Quantity is required" msgstr "" -#: stock/api.py:511 +#: stock/api.py:512 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:536 +#: stock/api.py:537 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5917,7 +5907,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1826 msgid "Expiry Date" msgstr "" @@ -5971,79 +5961,79 @@ msgstr "" msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1325 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1324 +#: stock/models.py:1328 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1327 +#: stock/models.py:1331 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1334 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1333 +#: stock/models.py:1337 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1340 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1343 stock/serializers.py:908 +#: stock/models.py:1347 stock/serializers.py:895 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1347 +#: stock/models.py:1351 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1355 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1359 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1524 +#: stock/models.py:1528 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1986 +#: stock/models.py:1990 msgid "Entry notes" msgstr "" -#: stock/models.py:2044 +#: stock/models.py:2048 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2050 +#: stock/models.py:2054 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2069 +#: stock/models.py:2073 msgid "Test name" msgstr "" -#: stock/models.py:2075 +#: stock/models.py:2079 msgid "Test result" msgstr "" -#: stock/models.py:2081 +#: stock/models.py:2085 msgid "Test output value" msgstr "" -#: stock/models.py:2088 +#: stock/models.py:2092 msgid "Test result attachment" msgstr "" -#: stock/models.py:2094 +#: stock/models.py:2098 msgid "Test notes" msgstr "" @@ -6064,7 +6054,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:865 stock/serializers.py:1098 +#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 msgid "Destination stock location" msgstr "" @@ -6104,63 +6094,63 @@ msgstr "" msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:707 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:724 +#: stock/serializers.py:711 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:728 +#: stock/serializers.py:715 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:759 +#: stock/serializers.py:746 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:765 +#: stock/serializers.py:752 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:773 +#: stock/serializers.py:760 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:783 stock/serializers.py:1014 +#: stock/serializers.py:770 stock/serializers.py:1001 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:872 +#: stock/serializers.py:859 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:877 +#: stock/serializers.py:864 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:878 +#: stock/serializers.py:865 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:883 +#: stock/serializers.py:870 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:884 +#: stock/serializers.py:871 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:894 +#: stock/serializers.py:881 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:976 +#: stock/serializers.py:963 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1004 +#: stock/serializers.py:991 msgid "Stock transaction notes" msgstr "" @@ -6185,7 +6175,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:298 msgid "Delete Test Data" msgstr "" @@ -6197,11 +6187,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2733 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2743 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:292 templates/js/translated/stock.js:1455 +#: stock/templates/stock/item.html:290 +msgid "Delete all test results for this stock item" +msgstr "" + +#: stock/templates/stock/item.html:323 templates/js/translated/stock.js:1465 msgid "Add Test Result" msgstr "" @@ -6388,7 +6382,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/stock.js:1842 msgid "Last Updated" msgstr "" @@ -6529,7 +6523,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:182 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:144 msgid "Convert Stock Item" msgstr "" @@ -6550,31 +6544,19 @@ msgstr "" msgid "This action cannot be easily undone" msgstr "" -#: stock/views.py:113 +#: stock/views.py:111 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:131 -msgid "Delete All Test Data" -msgstr "" - -#: stock/views.py:149 -msgid "Confirm test data deletion" -msgstr "" - -#: stock/views.py:150 -msgid "Check the confirmation box" -msgstr "Sjekk bekreftelsesboksen" - -#: stock/views.py:165 +#: stock/views.py:127 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:216 +#: stock/views.py:178 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:229 +#: stock/views.py:191 msgid "Delete Stock Item" msgstr "" @@ -7317,8 +7299,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:56 templates/js/translated/modals.js:595 -#: templates/js/translated/modals.js:689 templates/js/translated/modals.js:997 +#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 +#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 #: templates/js/translated/order.js:928 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7390,6 +7372,10 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:630 +msgid "Confirm" +msgstr "Bekreft" + #: templates/account/email_confirm.html:27 #, python-format msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." @@ -7562,7 +7548,7 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:112 msgid "Delete Attachments" msgstr "" @@ -7596,15 +7582,15 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1425 +#: templates/js/translated/bom.js:1419 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: 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/bom.js:884 templates/js/translated/build.js:1787 +#: templates/js/translated/build.js:2650 templates/js/translated/part.js:571 +#: templates/js/translated/part.js:574 #: templates/js/translated/table_filters.js:178 msgid "Available" msgstr "" @@ -7622,6 +7608,13 @@ msgstr "" msgid "Minimum Quantity" msgstr "" +#: templates/email/new_order_assigned.html:9 +#: templates/email/overdue_build_order.html:9 +#: templates/email/overdue_purchase_order.html:9 +#: templates/email/overdue_sales_order.html:9 +msgid "Click on the following link to view this order" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -7638,91 +7631,91 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:235 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1073 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1074 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:242 +#: templates/js/translated/api.js:202 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:243 +#: templates/js/translated/api.js:203 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1083 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1084 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:252 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1088 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:253 templates/js/translated/modals.js:1083 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1089 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1093 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1088 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1094 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:262 +#: templates/js/translated/api.js:222 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:263 +#: templates/js/translated/api.js:223 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:267 templates/js/translated/modals.js:1092 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1098 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:268 templates/js/translated/modals.js:1093 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1099 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:271 +#: templates/js/translated/api.js:231 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:272 +#: templates/js/translated/api.js:232 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:96 +#: templates/js/translated/attachment.js:98 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:156 +#: templates/js/translated/attachment.js:152 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:180 +#: templates/js/translated/attachment.js:176 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:246 +#: templates/js/translated/attachment.js:242 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:262 +#: templates/js/translated/attachment.js:264 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:269 +#: templates/js/translated/attachment.js:271 msgid "Delete attachment" msgstr "" @@ -7755,7 +7748,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "Invalid server response" msgstr "" @@ -7783,7 +7776,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999 +#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:998 msgid "Remove stock item" msgstr "" @@ -7918,89 +7911,89 @@ msgstr "" msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:682 +#: templates/js/translated/bom.js:684 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:697 +#: templates/js/translated/bom.js:699 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:824 +#: templates/js/translated/bom.js:818 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:834 +#: templates/js/translated/bom.js:828 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:838 templates/js/translated/build.js:1769 +#: templates/js/translated/bom.js:832 templates/js/translated/build.js:1769 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/bom.js:900 templates/js/translated/build.js:1814 #: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:910 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:904 templates/js/translated/build.js:1818 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:912 templates/js/translated/build.js:1820 -#: templates/js/translated/part.js:690 +#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1820 +#: templates/js/translated/part.js:734 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:914 templates/js/translated/build.js:1822 +#: templates/js/translated/bom.js:908 templates/js/translated/build.js:1822 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:928 +#: templates/js/translated/bom.js:922 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:943 +#: templates/js/translated/bom.js:937 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:950 +#: templates/js/translated/bom.js:944 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:999 templates/js/translated/bom.js:1090 +#: templates/js/translated/bom.js:993 templates/js/translated/bom.js:1084 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1061 +#: templates/js/translated/bom.js:1055 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1063 +#: templates/js/translated/bom.js:1057 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1065 +#: templates/js/translated/bom.js:1059 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1067 templates/js/translated/bom.js:1228 +#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1222 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1069 +#: templates/js/translated/bom.js:1063 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1164 templates/js/translated/build.js:1615 +#: templates/js/translated/bom.js:1158 templates/js/translated/build.js:1615 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1408 templates/js/translated/build.js:1753 +#: templates/js/translated/bom.js:1402 templates/js/translated/build.js:1753 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1430 +#: templates/js/translated/bom.js:1424 msgid "Inherited from parent BOM" msgstr "" @@ -8040,13 +8033,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91 -#: templates/js/translated/stock.js:181 +#: templates/js/translated/build.js:259 templates/js/translated/stock.js:90 +#: templates/js/translated/stock.js:180 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93 -#: templates/js/translated/stock.js:183 +#: templates/js/translated/build.js:261 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:182 msgid "Latest serial number" msgstr "" @@ -8259,9 +8252,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: 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 +#: templates/js/translated/build.js:2448 templates/js/translated/part.js:1358 +#: templates/js/translated/part.js:1825 templates/js/translated/stock.js:1629 +#: templates/js/translated/stock.js:2287 msgid "Select" msgstr "" @@ -8273,7 +8266,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2519 +#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2529 msgid "No user information" msgstr "" @@ -8285,107 +8278,107 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:169 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:168 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:157 templates/js/translated/order.js:506 +#: templates/js/translated/company.js:156 templates/js/translated/order.js:506 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:185 +#: templates/js/translated/company.js:184 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:200 +#: templates/js/translated/company.js:199 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:249 msgid "All selected supplier parts will be deleted" msgstr "Alle valgte leverandørdeler vil slettes" -#: templates/js/translated/company.js:263 +#: templates/js/translated/company.js:264 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:342 +#: templates/js/translated/company.js:336 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:413 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:428 +#: templates/js/translated/company.js:422 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:443 +#: templates/js/translated/company.js:437 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:478 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:492 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:526 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:548 +#: templates/js/translated/company.js:539 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:595 +#: templates/js/translated/company.js:580 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:615 -#: templates/js/translated/company.js:874 templates/js/translated/part.js:565 -#: templates/js/translated/part.js:650 +#: templates/js/translated/company.js:600 +#: templates/js/translated/company.js:859 templates/js/translated/part.js:609 +#: templates/js/translated/part.js:694 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:619 -#: templates/js/translated/company.js:878 templates/js/translated/part.js:569 -#: templates/js/translated/part.js:654 +#: templates/js/translated/company.js:604 +#: templates/js/translated/company.js:863 templates/js/translated/part.js:613 +#: templates/js/translated/part.js:698 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:747 templates/js/translated/part.js:757 +#: templates/js/translated/company.js:732 templates/js/translated/part.js:801 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:799 +#: templates/js/translated/company.js:769 templates/js/translated/part.js:843 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:785 templates/js/translated/part.js:800 +#: templates/js/translated/company.js:770 templates/js/translated/part.js:844 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:804 templates/js/translated/part.js:817 +#: templates/js/translated/company.js:789 templates/js/translated/part.js:861 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:815 templates/js/translated/part.js:829 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:873 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:854 +#: templates/js/translated/company.js:839 msgid "No supplier parts found" msgstr "" @@ -8448,36 +8441,36 @@ msgstr "" msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:756 +#: templates/js/translated/forms.js:757 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1248 templates/modals.html:19 +#: templates/js/translated/forms.js:1249 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1681 +#: templates/js/translated/forms.js:1682 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1896 templates/search.html:29 +#: templates/js/translated/forms.js:1897 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2149 +#: templates/js/translated/forms.js:2150 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2627 +#: templates/js/translated/forms.js:2628 msgid "Select Columns" msgstr "" @@ -8498,7 +8491,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1023 +#: templates/js/translated/stock.js:1022 msgid "Select Stock Items" msgstr "" @@ -8552,12 +8545,12 @@ msgid "Select Label Template" msgstr "" #: templates/js/translated/modals.js:82 templates/js/translated/modals.js:142 -#: templates/js/translated/modals.js:621 +#: templates/js/translated/modals.js:627 msgid "Cancel" msgstr "" #: 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/js/translated/modals.js:694 templates/js/translated/modals.js:1002 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" @@ -8566,47 +8559,47 @@ msgstr "" msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:403 +#: templates/js/translated/modals.js:421 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:562 +#: templates/js/translated/modals.js:568 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:620 +#: templates/js/translated/modals.js:626 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:677 +#: templates/js/translated/modals.js:683 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:960 +#: templates/js/translated/modals.js:966 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1072 +#: templates/js/translated/modals.js:1078 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1073 +#: templates/js/translated/modals.js:1079 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1096 +#: templates/js/translated/modals.js:1102 msgid "Error requesting form data" msgstr "" @@ -8656,11 +8649,11 @@ msgstr "" msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:259 +#: templates/js/translated/notification.js:260 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:300 templates/notifications.html:10 +#: templates/js/translated/notification.js:302 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" @@ -8804,7 +8797,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2080 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2090 msgid "Stock Status" msgstr "" @@ -8828,7 +8821,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1602 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1602 templates/js/translated/part.js:914 msgid "No purchase orders found" msgstr "" @@ -8863,7 +8856,7 @@ msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 #: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 -#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 +#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2397 msgid "Unit Price" msgstr "" @@ -8873,11 +8866,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:1993 templates/js/translated/order.js:3525 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:1023 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1069 msgid "Receive line item" msgstr "" @@ -8998,7 +8991,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1535 +#: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" @@ -9138,165 +9131,209 @@ msgstr "" msgid "Create Part Variant" msgstr "" +#: templates/js/translated/part.js:405 +msgid "Active Part" +msgstr "" + +#: templates/js/translated/part.js:406 +msgid "Part cannot be deleted as it is currently active" +msgstr "" + +#: templates/js/translated/part.js:420 +msgid "Deleting this part cannot be reversed" +msgstr "" + +#: templates/js/translated/part.js:422 +msgid "Any stock items for this part will be deleted" +msgstr "" + #: templates/js/translated/part.js:423 +msgid "This part will be removed from any Bills of Material" +msgstr "" + +#: templates/js/translated/part.js:424 +msgid "All manufacturer and supplier information for this part will be deleted" +msgstr "" + +#: templates/js/translated/part.js:431 +msgid "Delete Part" +msgstr "" + +#: templates/js/translated/part.js:467 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:425 +#: templates/js/translated/part.js:469 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:474 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:476 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:493 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:503 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:506 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:487 +#: templates/js/translated/part.js:531 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:513 templates/js/translated/part.js:1397 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1441 #: templates/js/translated/table_filters.js:452 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:523 templates/js/translated/part.js:1409 +#: templates/js/translated/part.js:567 templates/js/translated/part.js:1453 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:557 templates/js/translated/part.js:642 +#: templates/js/translated/part.js:601 templates/js/translated/part.js:686 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:561 templates/js/translated/part.js:646 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:690 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:617 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:577 +#: templates/js/translated/part.js:621 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:705 +#: templates/js/translated/part.js:749 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1095 +#: templates/js/translated/part.js:1139 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1119 +#: templates/js/translated/part.js:1163 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1184 templates/js/translated/part.js:1480 +#: templates/js/translated/part.js:1228 templates/js/translated/part.js:1524 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1223 +#: templates/js/translated/part.js:1267 msgid "Not available" msgstr "" -#: templates/js/translated/part.js:1374 +#: templates/js/translated/part.js:1418 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664 -#: templates/js/translated/stock.js:2238 +#: templates/js/translated/part.js:1548 templates/js/translated/part.js:1760 +#: templates/js/translated/stock.js:2248 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1520 +#: templates/js/translated/part.js:1564 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2257 +#: templates/js/translated/part.js:1630 +msgid "Set the part category for the selected parts" +msgstr "" + +#: templates/js/translated/part.js:1635 +msgid "Set Part Category" +msgstr "" + +#: templates/js/translated/part.js:1640 +msgid "Select Part Category" +msgstr "" + +#: templates/js/translated/part.js:1653 +msgid "Category is required" +msgstr "" + +#: templates/js/translated/part.js:1779 templates/js/translated/stock.js:2267 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1747 +#: templates/js/translated/part.js:1843 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2301 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2311 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:1901 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1233 +#: templates/js/translated/part.js:1952 templates/js/translated/stock.js:1243 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1234 -#: templates/js/translated/stock.js:1493 +#: templates/js/translated/part.js:1953 templates/js/translated/stock.js:1244 +#: templates/js/translated/stock.js:1503 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1863 +#: templates/js/translated/part.js:1959 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1885 +#: templates/js/translated/part.js:1981 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:1995 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1924 +#: templates/js/translated/part.js:2020 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1981 +#: templates/js/translated/part.js:2077 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1982 +#: templates/js/translated/part.js:2078 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:2096 +#: templates/js/translated/part.js:2192 msgid "Current Stock" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2225 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2155 +#: templates/js/translated/part.js:2251 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2225 +#: templates/js/translated/part.js:2321 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:2244 +#: templates/js/translated/part.js:2340 msgid "Single Price Difference" msgstr "" @@ -9378,360 +9415,360 @@ msgstr "" msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:72 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:101 +#: templates/js/translated/stock.js:100 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:109 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:139 +#: templates/js/translated/stock.js:138 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:153 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:194 +#: templates/js/translated/stock.js:193 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:233 +#: templates/js/translated/stock.js:232 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:239 +#: templates/js/translated/stock.js:238 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:303 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:324 +#: templates/js/translated/stock.js:323 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:344 +#: templates/js/translated/stock.js:343 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:394 +#: templates/js/translated/stock.js:393 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:407 +#: templates/js/translated/stock.js:406 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:431 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:453 +#: templates/js/translated/stock.js:452 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:472 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:481 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:605 +#: templates/js/translated/stock.js:604 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:606 +#: templates/js/translated/stock.js:605 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:683 +#: templates/js/translated/stock.js:682 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:684 +#: templates/js/translated/stock.js:683 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:686 +#: templates/js/translated/stock.js:685 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:687 +#: templates/js/translated/stock.js:686 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:772 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:774 +#: templates/js/translated/stock.js:773 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:869 +#: templates/js/translated/stock.js:868 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:869 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:876 +#: templates/js/translated/stock.js:875 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:876 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:881 +#: templates/js/translated/stock.js:880 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:882 +#: templates/js/translated/stock.js:881 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:886 +#: templates/js/translated/stock.js:885 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:887 users/models.py:215 +#: templates/js/translated/stock.js:886 users/models.py:215 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1024 +#: templates/js/translated/stock.js:1023 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1047 +#: templates/js/translated/stock.js:1046 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1172 +#: templates/js/translated/stock.js:1182 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1174 +#: templates/js/translated/stock.js:1184 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1179 +#: templates/js/translated/stock.js:1189 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1226 +#: templates/js/translated/stock.js:1236 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1229 +#: templates/js/translated/stock.js:1239 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1255 +#: templates/js/translated/stock.js:1265 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1321 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1476 +#: templates/js/translated/stock.js:1486 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1498 +#: templates/js/translated/stock.js:1508 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1527 +#: templates/js/translated/stock.js:1537 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1531 +#: templates/js/translated/stock.js:1541 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1539 +#: templates/js/translated/stock.js:1549 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1545 +#: templates/js/translated/stock.js:1555 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1712 +#: templates/js/translated/stock.js:1722 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1727 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1720 +#: templates/js/translated/stock.js:1730 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1723 +#: templates/js/translated/stock.js:1733 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1725 +#: templates/js/translated/stock.js:1735 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1727 +#: templates/js/translated/stock.js:1737 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1730 +#: templates/js/translated/stock.js:1740 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1734 +#: templates/js/translated/stock.js:1744 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1746 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1743 +#: templates/js/translated/stock.js:1753 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1755 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:1757 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1751 +#: templates/js/translated/stock.js:1761 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1802 +#: templates/js/translated/stock.js:1812 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1894 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1932 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2095 +#: templates/js/translated/stock.js:2105 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2109 +#: templates/js/translated/stock.js:2119 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2120 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2375 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2381 +#: templates/js/translated/stock.js:2391 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2403 +#: templates/js/translated/stock.js:2413 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2422 +#: templates/js/translated/stock.js:2432 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2441 +#: templates/js/translated/stock.js:2451 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2459 +#: templates/js/translated/stock.js:2469 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2482 +#: templates/js/translated/stock.js:2492 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2490 +#: templates/js/translated/stock.js:2500 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2566 +#: templates/js/translated/stock.js:2576 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2617 templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2663 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2666 +#: templates/js/translated/stock.js:2676 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2697 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2688 +#: templates/js/translated/stock.js:2698 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2690 +#: templates/js/translated/stock.js:2700 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/stock.js:2701 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2702 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2693 +#: templates/js/translated/stock.js:2703 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2716 msgid "Select part to install" msgstr "" diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po index be1e766494..79d8728264 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-06-05 14:26+0000\n" -"PO-Revision-Date: 2022-06-05 14:34\n" +"POT-Creation-Date: 2022-06-06 22:59+0000\n" +"PO-Revision-Date: 2022-06-07 14:34\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:46 +#: InvenTree/api.py:49 msgid "API endpoint not found" msgstr "Nie znaleziono punktu końcowego API" @@ -29,275 +29,273 @@ msgstr "Szczegóły błędu można znaleźć w panelu administracyjnym" msgid "Enter date" msgstr "Wprowadź dane" -#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:630 -msgid "Confirm" -msgstr "Potwierdź" - -#: InvenTree/forms.py:134 +#: InvenTree/forms.py:117 msgid "Confirm delete" msgstr "Potwierdź usunięcie" -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:118 msgid "Confirm item deletion" msgstr "Potwierdź usuwanie elementu" -#: InvenTree/forms.py:167 +#: InvenTree/forms.py:150 msgid "Enter password" msgstr "Wprowadź hasło" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:151 msgid "Enter new password" msgstr "Wprowadź nowe hasło" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:158 msgid "Confirm password" msgstr "Potwierdź hasło" -#: InvenTree/forms.py:176 +#: InvenTree/forms.py:159 msgid "Confirm new password" msgstr "Potwierdź nowe hasło" -#: InvenTree/forms.py:213 -msgid "Select Category" -msgstr "Wybierz kategorię" - -#: InvenTree/forms.py:234 +#: InvenTree/forms.py:184 msgid "Email (again)" msgstr "Adres email (ponownie)" -#: InvenTree/forms.py:238 +#: InvenTree/forms.py:188 msgid "Email address confirmation" msgstr "Potwierdzenie adresu email" -#: InvenTree/forms.py:259 +#: InvenTree/forms.py:209 msgid "You must type the same email each time." msgstr "Należy ponownie wpisać ten sam adres e-mail." -#: InvenTree/helpers.py:402 +#: InvenTree/helpers.py:404 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "Powtórzony numer seryjny: {sn}" -#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 +#: InvenTree/helpers.py:411 order/models.py:370 order/models.py:522 msgid "Invalid quantity provided" msgstr "Podano nieprawidłową ilość" -#: InvenTree/helpers.py:412 +#: InvenTree/helpers.py:414 msgid "Empty serial number string" msgstr "Pusty ciąg numeru seryjnego" -#: InvenTree/helpers.py:444 +#: InvenTree/helpers.py:446 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Nieprawidłowy zakres grupy: {g}" -#: InvenTree/helpers.py:447 +#: InvenTree/helpers.py:449 #, python-brace-format msgid "Invalid group: {g}" msgstr "Nieprawidłowa grupa: {g}" -#: InvenTree/helpers.py:475 +#: InvenTree/helpers.py:477 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "Nieprawidłowa sekwencja grupy: {g}" -#: InvenTree/helpers.py:483 +#: InvenTree/helpers.py:485 #, python-brace-format msgid "Invalid/no group {group}" msgstr "Nieprawidłowa/Brak grupy {group}" -#: InvenTree/helpers.py:489 +#: InvenTree/helpers.py:491 msgid "No serial numbers found" msgstr "Nie znaleziono numerów seryjnych" -#: InvenTree/helpers.py:493 +#: InvenTree/helpers.py:495 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "Liczba unikalnych numerów seryjnych ({s}) musi odpowiadać ilości ({q})" -#: InvenTree/models.py:174 +#: InvenTree/models.py:178 msgid "Missing file" msgstr "Brak pliku" -#: InvenTree/models.py:175 +#: InvenTree/models.py:179 msgid "Missing external link" msgstr "Brak zewnętrznego odnośnika" -#: InvenTree/models.py:187 stock/models.py:2087 -#: templates/js/translated/attachment.js:101 -#: templates/js/translated/attachment.js:198 +#: InvenTree/models.py:191 stock/models.py:2091 +#: templates/js/translated/attachment.js:103 +#: templates/js/translated/attachment.js:194 msgid "Attachment" msgstr "Załącznik" -#: InvenTree/models.py:188 +#: InvenTree/models.py:192 msgid "Select file to attach" msgstr "Wybierz plik do załączenia" -#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 -#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: InvenTree/models.py:198 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:136 order/models.py:1251 #: 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 -#: templates/js/translated/part.js:1441 +#: templates/js/translated/company.js:640 +#: templates/js/translated/company.js:931 templates/js/translated/order.js:2676 +#: templates/js/translated/part.js:1485 msgid "Link" msgstr "Łącze" -#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: InvenTree/models.py:199 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:198 templates/js/translated/attachment.js:102 -#: templates/js/translated/attachment.js:242 +#: InvenTree/models.py:202 templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:238 msgid "Comment" msgstr "Komentarz" -#: InvenTree/models.py:198 +#: InvenTree/models.py:202 msgid "File comment" msgstr "Komentarz pliku" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1506 +#: common/models.py:1507 common/models.py:1735 common/models.py:1736 +#: common/models.py:1998 common/models.py:1999 part/models.py:2141 +#: part/models.py:2161 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:2523 msgid "User" msgstr "Użytkownik" -#: InvenTree/models.py:208 +#: InvenTree/models.py:212 msgid "upload date" msgstr "data przesłania" -#: InvenTree/models.py:230 +#: InvenTree/models.py:234 msgid "Filename must not be empty" msgstr "Nazwa pliku nie może być pusta" -#: InvenTree/models.py:253 +#: InvenTree/models.py:257 msgid "Invalid attachment directory" msgstr "Nieprawidłowy katalog załącznika" -#: InvenTree/models.py:263 +#: InvenTree/models.py:267 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Nazwa pliku zawiera niedozwolony znak '{c}'" -#: InvenTree/models.py:266 +#: InvenTree/models.py:270 msgid "Filename missing extension" msgstr "Brak rozszerzenia w nazwie pliku" -#: InvenTree/models.py:273 +#: InvenTree/models.py:277 msgid "Attachment with this filename already exists" msgstr "Załącznik o tej nazwie już istnieje" -#: InvenTree/models.py:280 +#: InvenTree/models.py:284 msgid "Error renaming file" msgstr "Błąd zmiany nazwy pliku" -#: InvenTree/models.py:314 +#: InvenTree/models.py:318 msgid "Invalid choice" msgstr "Błędny wybór" -#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 #: company/models.py:354 label/models.py:101 part/models.py:739 -#: part/models.py:2331 plugin/models.py:93 report/models.py:151 +#: part/models.py:2319 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 #: templates/InvenTree/settings/plugin.html:132 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:346 -#: 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:2283 +#: templates/js/translated/company.js:530 +#: templates/js/translated/company.js:742 templates/js/translated/part.js:659 +#: templates/js/translated/part.js:811 templates/js/translated/part.js:1832 +#: templates/js/translated/stock.js:2293 msgid "Name" msgstr "Nazwa" -#: InvenTree/models.py:340 build/models.py:197 +#: InvenTree/models.py:344 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: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:164 +#: order/models.py:134 part/models.py:762 part/templates/part/category.html:74 +#: part/templates/part/part_base.html:167 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 -#: 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/bom.js:553 templates/js/translated/bom.js:845 +#: templates/js/translated/build.js:2476 templates/js/translated/company.js:395 +#: templates/js/translated/company.js:651 +#: templates/js/translated/company.js:942 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:1676 -#: templates/js/translated/stock.js:2295 templates/js/translated/stock.js:2350 +#: templates/js/translated/part.js:718 templates/js/translated/part.js:1126 +#: templates/js/translated/part.js:1399 templates/js/translated/part.js:1851 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:1686 +#: templates/js/translated/stock.js:2305 templates/js/translated/stock.js:2360 msgid "Description" msgstr "Opis" -#: InvenTree/models.py:341 +#: InvenTree/models.py:345 msgid "Description (optional)" msgstr "Opis (opcjonalny)" -#: InvenTree/models.py:349 +#: InvenTree/models.py:353 msgid "parent" msgstr "nadrzędny" -#: InvenTree/serializers.py:52 part/models.py:2652 +#: InvenTree/models.py:466 +msgid "Server Error" +msgstr "" + +#: InvenTree/models.py:467 +msgid "An error has been logged by the server." +msgstr "" + +#: InvenTree/serializers.py:52 part/models.py:2640 msgid "Must be a valid number" msgstr "Numer musi być prawidłowy" -#: InvenTree/serializers.py:271 +#: InvenTree/serializers.py:263 msgid "Filename" msgstr "Nazwa pliku" -#: InvenTree/serializers.py:306 +#: InvenTree/serializers.py:298 msgid "Invalid value" msgstr "Nieprawidłowa wartość" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:320 msgid "Data File" msgstr "Plik danych" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:321 msgid "Select data file for upload" msgstr "Wybierz plik danych do przesłania" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:342 msgid "Unsupported file type" msgstr "Nieobsługiwany typ pliku" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:348 msgid "File is too large" msgstr "Plik jest zbyt duży" -#: InvenTree/serializers.py:377 +#: InvenTree/serializers.py:369 msgid "No columns found in file" msgstr "Nie znaleziono kolumn w pliku" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:372 msgid "No data rows found in file" msgstr "Nie znaleziono wierszy danych w pliku" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:495 msgid "No data rows provided" msgstr "Nie podano wierszy danych" -#: InvenTree/serializers.py:506 +#: InvenTree/serializers.py:498 msgid "No data columns supplied" msgstr "Nie podano kolumn danych" -#: InvenTree/serializers.py:583 +#: InvenTree/serializers.py:575 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Brakuje wymaganej kolumny: '{name}'" -#: InvenTree/serializers.py:592 +#: InvenTree/serializers.py:584 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Zduplikowana kolumna: '{col}'" @@ -440,7 +438,7 @@ msgstr "Zagubiono" msgid "Returned" msgstr "Zwrócone" -#: InvenTree/status_codes.py:141 order/models.py:1114 +#: InvenTree/status_codes.py:141 order/models.py:1130 #: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "Wysłane" @@ -525,7 +523,7 @@ msgstr "Podziel z pozycji nadrzędnej" msgid "Split child item" msgstr "Podziel element podrzędny" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2020 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2030 msgid "Merged stock items" msgstr "" @@ -597,27 +595,27 @@ msgstr "Przedawnienie nie może przekroczyć 100 %" msgid "Invalid value for overage" msgstr "Nieprawidłowa wartość przedawnienia" -#: InvenTree/views.py:522 +#: InvenTree/views.py:521 msgid "Delete Item" msgstr "Usuń element" -#: InvenTree/views.py:571 +#: InvenTree/views.py:570 msgid "Check box to confirm item deletion" msgstr "Zaznacz pole aby potwierdzić usunięcie elementu" -#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:585 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Edytuj informacje użytkownika" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:597 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Ustaw hasło" -#: InvenTree/views.py:618 +#: InvenTree/views.py:617 msgid "Password fields must match" msgstr "Hasła muszą być zgodne" -#: InvenTree/views.py:842 templates/navbar.html:152 +#: InvenTree/views.py:807 templates/navbar.html:152 msgid "System Information" msgstr "Informacja systemowa" @@ -628,6 +626,7 @@ msgstr "" #: 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/email/overdue_build_order.html:15 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "Zlecenie Budowy" @@ -646,12 +645,12 @@ msgstr "Zlecenia budowy" msgid "Build Order Reference" msgstr "Odwołanie do zamówienia wykonania" -#: build/models.py:189 order/models.py:288 order/models.py:638 -#: order/models.py:916 part/models.py:2570 +#: build/models.py:189 order/models.py:293 order/models.py:654 +#: order/models.py:932 part/models.py:2558 #: 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/bom.js:690 templates/js/translated/bom.js:852 #: 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:3959 @@ -673,13 +672,12 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: 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:2460 part/models.py:2545 part/models.py:2821 -#: part/serializers.py:793 part/templates/part/part_app_base.html:8 +#: order/models.py:1028 order/models.py:1119 part/models.py:336 +#: part/models.py:2087 part/models.py:2102 part/models.py:2121 +#: part/models.py:2139 part/models.py:2238 part/models.py:2358 +#: part/models.py:2448 part/models.py:2533 part/models.py:2809 +#: part/serializers.py:795 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 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 @@ -687,22 +685,23 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 +#: templates/email/overdue_build_order.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:805 +#: templates/js/translated/bom.js:689 templates/js/translated/bom.js:799 #: 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/company.js:253 +#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:592 +#: templates/js/translated/company.js:851 templates/js/translated/order.js:100 #: templates/js/translated/order.js:883 templates/js/translated/order.js:1315 #: 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:1633 templates/js/translated/stock.js:2376 -#: templates/js/translated/stock.js:2571 templates/js/translated/stock.js:2705 +#: templates/js/translated/part.js:1111 templates/js/translated/part.js:1181 +#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:695 templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2386 +#: templates/js/translated/stock.js:2581 templates/js/translated/stock.js:2715 msgid "Part" msgstr "Komponent" @@ -768,12 +767,12 @@ msgstr "Kod partii" msgid "Batch code for this build output" msgstr "Kod partii dla wyjścia budowy" -#: build/models.py:282 order/models.py:137 part/models.py:932 +#: build/models.py:282 order/models.py:138 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:286 order/models.py:660 +#: build/models.py:286 order/models.py:676 msgid "Target completion date" msgstr "Docelowy termin zakończenia" @@ -781,7 +780,7 @@ msgstr "Docelowy termin zakończenia" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:290 order/models.py:331 +#: build/models.py:290 order/models.py:336 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "Data zakończenia" @@ -799,7 +798,7 @@ msgid "User who issued this build order" msgstr "Użytkownik, który wydał to zamówienie" #: build/models.py:313 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:151 +#: build/templates/build/detail.html:115 order/models.py:152 #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 @@ -822,20 +821,20 @@ msgstr "Link Zewnętrzny" #: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 #: company/models.py:519 company/templates/company/sidebar.html:25 -#: order/models.py:155 order/models.py:918 order/models.py:1213 +#: order/models.py:156 order/models.py:934 order/models.py:1229 #: order/templates/order/po_sidebar.html:11 #: 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:713 stock/models.py:1985 stock/models.py:2093 +#: stock/models.py:713 stock/models.py:1989 stock/models.py:2097 #: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:486 -#: stock/serializers.py:772 stock/serializers.py:871 stock/serializers.py:1003 +#: stock/serializers.py:759 stock/serializers.py:858 stock/serializers.py:990 #: 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/barcode.js:100 templates/js/translated/bom.js:1038 +#: templates/js/translated/company.js:947 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 -#: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 +#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1926 msgid "Notes" msgstr "Uwagi" @@ -855,44 +854,44 @@ msgstr "Budowanie wyjścia jest już ukończone" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1108 +#: build/models.py:1111 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1117 +#: build/models.py:1120 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1127 +#: build/models.py:1130 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1133 order/models.py:1372 +#: build/models.py:1136 order/models.py:1388 msgid "Allocation quantity must be greater than zero" msgstr "Alokowana ilość musi być większa niż zero" -#: build/models.py:1139 +#: build/models.py:1142 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1196 +#: build/models.py:1199 msgid "Selected stock item not found in BOM" msgstr "Nie znaleziono wybranego elementu magazynowego w BOM" -#: build/models.py:1265 stock/templates/stock/item_base.html:177 +#: build/models.py:1268 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:1266 +#: build/models.py:1269 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 -#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:703 -#: stock/serializers.py:829 stock/templates/stock/item_base.html:10 +#: build/models.py:1285 build/serializers.py:603 order/serializers.py:996 +#: order/serializers.py:1017 stock/serializers.py:382 stock/serializers.py:690 +#: stock/serializers.py:816 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 @@ -900,22 +899,22 @@ msgstr "" #: 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:2449 +#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696 +#: templates/js/translated/stock.js:2459 msgid "Stock Item" msgstr "Element magazynowy" -#: build/models.py:1283 +#: build/models.py:1286 msgid "Source stock item" msgstr "Lokalizacja magazynowania przedmiotu" -#: build/models.py:1295 build/serializers.py:183 +#: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1536 +#: build/templates/build/detail.html:34 common/models.py:1543 #: 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:68 -#: part/forms.py:83 part/forms.py:98 part/models.py:2561 +#: order/models.py:925 order/models.py:1428 order/serializers.py:1136 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 +#: part/forms.py:74 part/forms.py:89 part/models.py:2549 #: 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 @@ -926,8 +925,8 @@ msgstr "Lokalizacja magazynowania przedmiotu" #: report/templates/report/inventree_test_report_base.html:139 #: 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 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:691 +#: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 #: templates/js/translated/build.js:574 templates/js/translated/build.js:765 #: templates/js/translated/build.js:1175 templates/js/translated/build.js:1673 #: templates/js/translated/build.js:2086 @@ -937,23 +936,23 @@ msgstr "Lokalizacja magazynowania przedmiotu" #: 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: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 -#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727 -#: templates/js/translated/stock.js:2498 templates/js/translated/stock.js:2583 +#: templates/js/translated/part.js:1011 templates/js/translated/part.js:2065 +#: templates/js/translated/part.js:2296 templates/js/translated/part.js:2330 +#: templates/js/translated/part.js:2408 templates/js/translated/stock.js:402 +#: templates/js/translated/stock.js:556 templates/js/translated/stock.js:726 +#: templates/js/translated/stock.js:2508 templates/js/translated/stock.js:2593 msgid "Quantity" msgstr "Ilość" -#: build/models.py:1296 +#: build/models.py:1299 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1304 +#: build/models.py:1307 msgid "Install into" msgstr "Zainstaluj do" -#: build/models.py:1305 +#: build/models.py:1308 msgid "Destination stock item" msgstr "Docelowa lokalizacja magazynowa przedmiotu" @@ -982,9 +981,9 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: 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:1239 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:368 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:514 +#: part/serializers.py:958 stock/models.py:470 stock/models.py:1239 #: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "Ilość musi być większa niż zero" @@ -997,9 +996,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 #: stock/serializers.py:297 templates/js/translated/order.js:1186 -#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:237 templates/js/translated/stock.js:403 msgid "Serial Numbers" msgstr "Numer seryjny" @@ -1015,7 +1014,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:552 +#: build/serializers.py:268 stock/api.py:553 msgid "The following serial numbers already exist" msgstr "" @@ -1025,16 +1024,16 @@ msgstr "" #: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 #: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:481 -#: stock/serializers.py:864 stock/serializers.py:1097 +#: stock/serializers.py:851 stock/serializers.py:1084 #: 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 #: 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:1787 templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532 +#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904 +#: templates/js/translated/stock.js:1797 templates/js/translated/stock.js:2400 msgid "Location" msgstr "Lokalizacja" @@ -1043,12 +1042,12 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:363 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:654 +#: build/templates/build/detail.html:62 order/models.py:670 #: 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 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1772 +#: templates/js/translated/stock.js:2477 templates/js/translated/stock.js:2609 msgid "Status" msgstr "Status" @@ -1108,8 +1107,8 @@ msgstr "" msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:535 build/serializers.py:580 part/models.py:2679 -#: part/models.py:2813 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2667 +#: part/models.py:2801 msgid "BOM Item" msgstr "Element BOM" @@ -1125,11 +1124,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:716 +#: build/serializers.py:609 stock/serializers.py:703 msgid "Item must be in stock" msgstr "Towar musi znajdować się w magazynie" -#: build/serializers.py:667 order/serializers.py:1052 +#: build/serializers.py:667 order/serializers.py:1054 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1146,7 +1145,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:708 order/serializers.py:1298 +#: build/serializers.py:708 order/serializers.py:1300 msgid "Allocation items must be provided" msgstr "" @@ -1178,10 +1177,19 @@ msgstr "Zastępczy magazyn" msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:96 +#: build/tasks.py:100 msgid "Stock required for build order" msgstr "" +#: build/tasks.py:118 +msgid "Overdue Build Order" +msgstr "" + +#: build/tasks.py:123 +#, python-brace-format +msgid "Build order {bo} is now overdue" +msgstr "" + #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 #: order/templates/order/sales_order_base.html:38 @@ -1244,13 +1252,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:922 +#: build/templates/build/detail.html:131 order/models.py:938 #: 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: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 +#: templates/js/translated/order.js:3517 templates/js/translated/part.js:1015 msgid "Target Date" msgstr "Data docelowa" @@ -1277,13 +1285,14 @@ msgid "Completed" msgstr "Zakończone" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1100 -#: order/models.py:1185 order/models.py:1320 +#: build/templates/build/detail.html:94 order/models.py:1116 +#: order/models.py:1201 order/models.py:1336 #: 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/email/overdue_sales_order.html:15 #: templates/js/translated/order.js:2436 msgid "Sales Order" msgstr "Zamówienie zakupu" @@ -1319,7 +1328,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:1034 +#: build/templates/build/detail.html:49 order/models.py:1050 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "Przeznaczenie" @@ -1336,8 +1345,8 @@ msgstr "" #: stock/templates/stock/item_base.html:170 #: templates/js/translated/build.js:1179 #: templates/js/translated/model_renderers.js:112 -#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1776 -#: templates/js/translated/stock.js:2606 +#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:2616 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1716,7 +1725,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:820 part/models.py:2372 report/models.py:157 +#: common/models.py:820 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" @@ -1726,7 +1735,7 @@ msgstr "Szablon" msgid "Parts are templates by default" msgstr "" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" @@ -1880,576 +1889,584 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:968 -msgid "Test Reports" -msgstr "Raporty testów" +msgid "Enable Test Reports" +msgstr "" #: common/models.py:969 msgid "Enable generation of test reports" msgstr "Włącz generowanie raportów testów" #: common/models.py:975 -msgid "Batch Code Template" +msgid "Attach Test Reports" msgstr "" #: common/models.py:976 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:981 -msgid "Stock Expiry" +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" #: common/models.py:982 -msgid "Enable stock expiry functionality" +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:983 +msgid "Template for generating default batch codes for stock items" msgstr "" #: common/models.py:988 -msgid "Sell Expired Stock" +msgid "Stock Expiry" msgstr "" #: common/models.py:989 -msgid "Allow sale of expired stock" +msgid "Enable stock expiry functionality" msgstr "" #: common/models.py:995 -msgid "Stock Stale Time" +msgid "Sell Expired Stock" msgstr "" #: common/models.py:996 +msgid "Allow sale of expired stock" +msgstr "" + +#: common/models.py:1002 +msgid "Stock Stale Time" +msgstr "" + +#: common/models.py:1003 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:998 +#: common/models.py:1005 msgid "days" msgstr "dni" -#: common/models.py:1003 +#: common/models.py:1010 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1004 +#: common/models.py:1011 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1010 +#: common/models.py:1017 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1011 +#: common/models.py:1018 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1017 +#: common/models.py:1024 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1018 +#: common/models.py:1025 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1023 +#: common/models.py:1030 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1024 +#: common/models.py:1031 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1029 +#: common/models.py:1036 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1041 +#: common/models.py:1048 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1042 +#: common/models.py:1049 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1048 +#: common/models.py:1055 msgid "Enable password forgot" msgstr "Włącz opcję zapomnianego hasła" -#: common/models.py:1049 +#: common/models.py:1056 msgid "Enable password forgot function on the login pages" msgstr "Włącz funkcję zapomnianego hasła na stronach logowania" -#: common/models.py:1055 +#: common/models.py:1062 msgid "Enable registration" msgstr "Włącz rejestrację" -#: common/models.py:1056 +#: common/models.py:1063 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:1062 +#: common/models.py:1069 msgid "Enable SSO" msgstr "Włącz SSO" -#: common/models.py:1063 +#: common/models.py:1070 msgid "Enable SSO on the login pages" msgstr "Włącz SSO na stronach logowania" -#: common/models.py:1069 +#: common/models.py:1076 msgid "Email required" msgstr "Adres e-mail jest wymagany" -#: common/models.py:1070 +#: common/models.py:1077 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1076 +#: common/models.py:1083 msgid "Auto-fill SSO users" msgstr "Autouzupełnianie użytkowników SSO" -#: common/models.py:1077 +#: common/models.py:1084 msgid "Automatically fill out user-details from SSO account-data" msgstr "Automatycznie wypełnij dane użytkownika z danych konta SSO" -#: common/models.py:1083 +#: common/models.py:1090 msgid "Mail twice" msgstr "E-mail dwa razy" -#: common/models.py:1084 +#: common/models.py:1091 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:1090 +#: common/models.py:1097 msgid "Password twice" msgstr "Hasło dwukrotnie" -#: common/models.py:1091 +#: common/models.py:1098 msgid "On signup ask users twice for their password" msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich hasło" -#: common/models.py:1097 +#: common/models.py:1104 msgid "Group on signup" msgstr "Grupuj przy rejestracji" -#: common/models.py:1098 +#: common/models.py:1105 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1104 +#: common/models.py:1111 msgid "Enforce MFA" msgstr "Wymuś MFA" -#: common/models.py:1105 +#: common/models.py:1112 msgid "Users must use multifactor security." msgstr "Użytkownicy muszą używać zabezpieczeń wieloskładnikowych." -#: common/models.py:1111 +#: common/models.py:1118 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1112 +#: common/models.py:1119 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1120 +#: common/models.py:1127 msgid "Enable URL integration" msgstr "Włącz integrację URL" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Enable plugins to add URL routes" msgstr "Włącz wtyczki, aby dodać ścieżki URL" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1136 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1136 +#: common/models.py:1143 msgid "Enable app integration" msgstr "Włącz integrację z aplikacją" -#: common/models.py:1137 +#: common/models.py:1144 msgid "Enable plugins to add apps" msgstr "Włącz wtyczki, aby dodać aplikacje" -#: common/models.py:1144 +#: common/models.py:1151 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1145 +#: common/models.py:1152 msgid "Enable plugins to run scheduled tasks" msgstr "Włącz wtyczki, aby uruchamiać zaplanowane zadania" -#: common/models.py:1152 +#: common/models.py:1159 msgid "Enable event integration" msgstr "" -#: common/models.py:1153 +#: common/models.py:1160 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1170 common/models.py:1492 +#: common/models.py:1177 common/models.py:1499 msgid "Settings key (must be unique - case insensitive" msgstr "Klucz ustawień (musi być unikalny - niewrażliwy na wielkość liter" -#: common/models.py:1192 +#: common/models.py:1199 msgid "Show subscribed parts" msgstr "Pokaż obserwowane części" -#: common/models.py:1193 +#: common/models.py:1200 msgid "Show subscribed parts on the homepage" msgstr "Pokaż obserwowane części na stronie głównej" -#: common/models.py:1199 +#: common/models.py:1206 msgid "Show subscribed categories" msgstr "Pokaż obserwowane kategorie" -#: common/models.py:1200 +#: common/models.py:1207 msgid "Show subscribed part categories on the homepage" msgstr "Pokaż obserwowane kategorie części na stronie głównej" -#: common/models.py:1206 +#: common/models.py:1213 msgid "Show latest parts" msgstr "Pokaż najnowsze części" -#: common/models.py:1207 +#: common/models.py:1214 msgid "Show latest parts on the homepage" msgstr "Pokaż najnowsze części na stronie głównej" -#: common/models.py:1213 +#: common/models.py:1220 msgid "Recent Part Count" msgstr "" -#: common/models.py:1214 +#: common/models.py:1221 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1220 +#: common/models.py:1227 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1221 +#: common/models.py:1228 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1227 +#: common/models.py:1234 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1228 +#: common/models.py:1235 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1235 +#: common/models.py:1242 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Show low stock" msgstr "Pokaż niski stan magazynowy" -#: common/models.py:1242 +#: common/models.py:1249 msgid "Show low stock items on the homepage" msgstr "Pokaż elementy o niskim stanie na stronie głównej" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Show depleted stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1256 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1262 msgid "Show needed stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1263 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1269 msgid "Show expired stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1270 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1276 msgid "Show stale stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Show pending builds" msgstr "" -#: common/models.py:1277 +#: common/models.py:1284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Show overdue builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1291 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1291 +#: common/models.py:1298 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Show overdue POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1305 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1312 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1318 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1319 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1317 +#: common/models.py:1324 msgid "Enable label printing" msgstr "" -#: common/models.py:1318 +#: common/models.py:1325 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1324 +#: common/models.py:1331 msgid "Inline label display" msgstr "" -#: common/models.py:1325 +#: common/models.py:1332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1331 +#: common/models.py:1338 msgid "Inline report display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1345 msgid "Search Parts" msgstr "Szukaj części" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1345 +#: common/models.py:1352 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1359 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1366 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1367 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1373 msgid "Search Categories" msgstr "" -#: common/models.py:1367 +#: common/models.py:1374 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1380 msgid "Search Stock" msgstr "" -#: common/models.py:1374 +#: common/models.py:1381 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1387 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1381 +#: common/models.py:1388 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1394 msgid "Search Locations" msgstr "" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1401 msgid "Search Companies" msgstr "" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1408 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1415 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1422 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1429 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Search Preview Results" msgstr "" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Show Quantity in Forms" msgstr "Pokaż ilość w formularzach" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1457 msgid "Fixed Navbar" msgstr "Stały pasek nawigacyjny" -#: common/models.py:1451 +#: common/models.py:1458 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1457 +#: common/models.py:1464 msgid "Date Format" msgstr "Format daty" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Preferred format for displaying dates" msgstr "Preferowany format wyświetlania dat" -#: common/models.py:1472 part/templates/part/detail.html:39 +#: common/models.py:1479 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "Planowanie komponentów" -#: common/models.py:1473 +#: common/models.py:1480 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1537 company/forms.py:37 +#: common/models.py:1544 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: 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 +#: common/models.py:1551 company/serializers.py:290 +#: company/templates/company/supplier_part.html:263 order/models.py:965 +#: templates/js/translated/part.js:1042 templates/js/translated/part.js:2070 msgid "Price" msgstr "Cena" -#: common/models.py:1545 +#: common/models.py:1552 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1705 common/models.py:1883 +#: common/models.py:1712 common/models.py:1890 msgid "Endpoint" msgstr "Punkt końcowy" -#: common/models.py:1706 +#: common/models.py:1713 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1715 +#: common/models.py:1722 msgid "Name for this webhook" msgstr "" -#: common/models.py:1720 part/models.py:911 plugin/models.py:99 +#: common/models.py:1727 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 @@ -2457,79 +2474,89 @@ msgstr "" msgid "Active" msgstr "Aktywny" -#: common/models.py:1721 +#: common/models.py:1728 msgid "Is this webhook active" msgstr "" -#: common/models.py:1735 +#: common/models.py:1742 msgid "Token" msgstr "" -#: common/models.py:1736 +#: common/models.py:1743 msgid "Token for access" msgstr "" -#: common/models.py:1743 +#: common/models.py:1750 msgid "Secret" msgstr "Sekret" -#: common/models.py:1744 +#: common/models.py:1751 msgid "Shared secret for HMAC" msgstr "Współdzielony sekret dla HMAC" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Message ID" msgstr "Id wiadomości" -#: common/models.py:1851 +#: common/models.py:1858 msgid "Unique identifier for this message" msgstr "Unikalny identyfikator dla tej wiadomości" -#: common/models.py:1859 +#: common/models.py:1866 msgid "Host" msgstr "" -#: common/models.py:1860 +#: common/models.py:1867 msgid "Host from which this message was received" msgstr "Host, od którego otrzymano tę wiadomość" -#: common/models.py:1867 +#: common/models.py:1874 msgid "Header" msgstr "Nagłówek" -#: common/models.py:1868 +#: common/models.py:1875 msgid "Header of this message" msgstr "Nagłówek tej wiadomości" -#: common/models.py:1874 +#: common/models.py:1881 msgid "Body" msgstr "Zawartość" -#: common/models.py:1875 +#: common/models.py:1882 msgid "Body of this message" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1889 +#: common/models.py:1896 msgid "Worked on" msgstr "" -#: common/models.py:1890 +#: common/models.py:1897 msgid "Was the work on this message finished?" msgstr "" +#: common/notifications.py:292 +#, python-brace-format +msgid "New {verbose_name}" +msgstr "" + +#: common/notifications.py:294 +#, python-brace-format +msgid "A new {verbose_name} has been created and ,assigned to you" +msgstr "" + #: common/views.py:87 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:191 +#: order/views.py:102 part/views.py:116 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Wyślij plik" #: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:192 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:117 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -2545,19 +2572,19 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:511 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:16 part/forms.py:21 +#: company/forms.py:16 part/forms.py:18 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:17 part/forms.py:22 +#: company/forms.py:17 part/forms.py:19 msgid "Image URL" msgstr "URL zdjęcia" @@ -2571,7 +2598,7 @@ msgstr "Opis firmy" #: company/models.py:104 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:405 +#: templates/js/translated/company.js:399 msgid "Website" msgstr "Strona WWW" @@ -2644,9 +2671,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:294 -#: company/templates/company/company_base.html:106 part/serializers.py:137 -#: part/serializers.py:168 stock/serializers.py:162 +#: company/models.py:144 company/serializers.py:296 +#: company/templates/company/company_base.html:106 part/serializers.py:139 +#: part/serializers.py:170 stock/serializers.py:162 msgid "Currency" msgstr "Waluta" @@ -2667,10 +2694,10 @@ msgstr "Wybierz część" #: 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: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/company.js:383 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:617 +#: templates/js/translated/company.js:902 templates/js/translated/part.js:235 #: templates/js/translated/table_filters.js:411 msgid "Manufacturer" msgstr "Producent" @@ -2681,11 +2708,11 @@ msgstr "Wybierz producenta" #: 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 -#: 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 +#: templates/js/translated/company.js:256 +#: templates/js/translated/company.js:483 +#: templates/js/translated/company.js:633 +#: templates/js/translated/company.js:920 templates/js/translated/order.js:1907 +#: templates/js/translated/part.js:246 templates/js/translated/part.js:1000 msgid "MPN" msgstr "" @@ -2714,9 +2741,9 @@ msgstr "" #: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2080 templates/js/translated/company.js:540 -#: templates/js/translated/company.js:763 templates/js/translated/part.js:776 -#: templates/js/translated/stock.js:1294 +#: stock/models.py:2084 templates/js/translated/company.js:531 +#: templates/js/translated/company.js:748 templates/js/translated/part.js:820 +#: templates/js/translated/stock.js:1304 msgid "Value" msgstr "Wartość" @@ -2724,10 +2751,10 @@ msgstr "Wartość" msgid "Parameter value" msgstr "" -#: company/models.py:368 part/models.py:878 part/models.py:2339 +#: company/models.py:368 part/models.py:878 part/models.py:2327 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:351 -#: templates/js/translated/company.js:769 templates/js/translated/part.js:782 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:826 msgid "Units" msgstr "Jednostki" @@ -2740,13 +2767,14 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:487 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:303 +#: company/templates/company/supplier_part.html:87 order/models.py:308 #: 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 -#: 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/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:255 +#: templates/js/translated/company.js:387 +#: templates/js/translated/company.js:876 templates/js/translated/order.js:1643 +#: templates/js/translated/part.js:216 templates/js/translated/part.js:968 #: templates/js/translated/table_filters.js:415 msgid "Supplier" msgstr "Dostawca" @@ -2756,9 +2784,9 @@ msgid "Select supplier" msgstr "Wybierz dostawcę" #: 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 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:254 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 -#: templates/js/translated/part.js:942 +#: templates/js/translated/part.js:986 msgid "SKU" msgstr "" @@ -2779,23 +2807,23 @@ msgid "Supplier part description" msgstr "" #: company/models.py:518 company/templates/company/supplier_part.html:125 -#: part/models.py:2573 part/templates/part/upload_bom.html:59 +#: part/models.py:2561 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:387 msgid "Note" msgstr "Uwaga" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "base cost" msgstr "koszt podstawowy" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: 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 +#: templates/js/translated/company.js:952 templates/js/translated/stock.js:1922 msgid "Packaging" msgstr "Opakowanie" @@ -2803,7 +2831,7 @@ msgstr "Opakowanie" msgid "Part packaging" msgstr "Opakowanie części" -#: company/models.py:526 part/models.py:1690 +#: company/models.py:526 part/models.py:1685 msgid "multiple" msgstr "wielokrotność" @@ -2825,7 +2853,7 @@ msgstr "Kod Waluty" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:177 templates/js/translated/company.js:378 +#: templates/InvenTree/search.html:177 templates/js/translated/company.js:372 msgid "Company" msgstr "Firma" @@ -2843,7 +2871,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:321 +#: templates/js/translated/company.js:315 msgid "Edit Company" msgstr "Edytuj firmę" @@ -2866,12 +2894,13 @@ 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:649 +#: company/templates/company/company_base.html:86 order/models.py:665 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:758 +#: stock/models.py:628 stock/serializers.py:745 #: 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 +#: templates/email/overdue_sales_order.html:16 +#: templates/js/translated/company.js:379 templates/js/translated/order.js:2458 +#: templates/js/translated/stock.js:2441 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "Klient" @@ -2978,7 +3007,7 @@ msgstr "" #: company/templates/company/detail.html:147 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" -msgstr "" +msgstr "Utwórz nowe zlecenie sprzedaży" #: company/templates/company/detail.html:148 #: order/templates/order/sales_orders.html:21 @@ -2999,7 +3028,7 @@ msgid "Supplier List" msgstr "Lista dostawców" #: company/templates/company/manufacturer_part.html:15 company/views.py:45 -#: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 +#: part/templates/part/prices.html:172 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" msgstr "Producenci" @@ -3012,12 +3041,12 @@ msgid "Order part" msgstr "Zamów komponent" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:680 +#: templates/js/translated/company.js:665 msgid "Edit manufacturer part" msgstr "Edytuj komponent producenta" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:681 +#: templates/js/translated/company.js:666 msgid "Delete manufacturer part" msgstr "Usuń komponent producenta" @@ -3032,7 +3061,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:39 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 +#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" msgstr "Dostawcy" @@ -3092,18 +3121,18 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: 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 +#: templates/js/translated/company.js:892 templates/js/translated/order.js:884 +#: templates/js/translated/stock.js:1879 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:38 -#: templates/js/translated/company.js:980 +#: templates/js/translated/company.js:965 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:42 -#: templates/js/translated/company.js:981 +#: templates/js/translated/company.js:966 msgid "Delete supplier part" msgstr "" @@ -3123,7 +3152,7 @@ msgstr "Utwórz nowy towar" #: company/templates/company/supplier_part.html:148 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 -#: templates/js/translated/stock.js:380 +#: templates/js/translated/stock.js:379 msgid "New Stock Item" msgstr "Nowy towar" @@ -3144,7 +3173,7 @@ msgstr "Informacja cenowa" #: company/templates/company/supplier_part.html:191 #: company/templates/company/supplier_part.html:305 -#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046 +#: part/templates/part/prices.html:276 templates/js/translated/part.js:2142 msgid "Add Price Break" msgstr "" @@ -3153,12 +3182,12 @@ msgid "No price break information found" msgstr "" #: company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2152 msgid "Delete Price Break" msgstr "" #: company/templates/company/supplier_part.html:245 -#: templates/js/translated/part.js:2070 +#: templates/js/translated/part.js:2166 msgid "Edit Price Break" msgstr "Edytuj przedział cenowy" @@ -3180,9 +3209,9 @@ msgstr "Ostatnio aktualizowane" #: stock/templates/stock/stock_app_base.html:10 #: 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:1687 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:722 +#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1431 +#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 msgid "Stock" msgstr "Stan" @@ -3209,7 +3238,7 @@ msgstr "Cennik" #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 -#: templates/js/translated/stock.js:2307 users/models.py:39 +#: templates/js/translated/stock.js:2317 users/models.py:39 msgid "Stock Items" msgstr "Towary" @@ -3238,20 +3267,20 @@ msgstr "Firmy" msgid "New Company" msgstr "Nowa firma" -#: company/views.py:112 part/views.py:576 +#: company/views.py:112 part/views.py:501 msgid "Download Image" msgstr "Pobierz obraz" -#: company/views.py:139 part/views.py:606 +#: company/views.py:139 part/views.py:531 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:146 part/views.py:613 +#: company/views.py:146 part/views.py:538 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:155 part/views.py:622 +#: company/views.py:155 part/views.py:547 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3320,313 +3349,314 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:133 +#: order/models.py:134 msgid "Order description" msgstr "Opis Zamówienia" -#: order/models.py:135 order/models.py:1236 +#: order/models.py:136 order/models.py:1252 msgid "Link to external page" msgstr "Link do zewnętrznej witryny" -#: order/models.py:143 +#: order/models.py:144 msgid "Created By" msgstr "Utworzony przez" -#: order/models.py:150 +#: order/models.py:151 msgid "User or group responsible for this order" msgstr "Użytkownik lub grupa odpowiedzialna za to zamówienie" -#: order/models.py:155 +#: order/models.py:156 msgid "Order notes" msgstr "Notatki do zamówienia" -#: order/models.py:289 order/models.py:639 +#: order/models.py:294 order/models.py:655 msgid "Order reference" msgstr "Odniesienie zamówienia" -#: order/models.py:294 order/models.py:654 +#: order/models.py:299 order/models.py:670 msgid "Purchase order status" msgstr "Status zamówienia zakupu" -#: order/models.py:304 +#: order/models.py:309 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:307 order/templates/order/order_base.html:124 +#: order/models.py:312 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:307 +#: order/models.py:312 msgid "Supplier order reference code" msgstr "" -#: order/models.py:314 +#: order/models.py:319 msgid "received by" msgstr "odebrane przez" -#: order/models.py:319 +#: order/models.py:324 msgid "Issue Date" msgstr "Data wydania" -#: order/models.py:320 +#: order/models.py:325 msgid "Date order was issued" msgstr "Data wystawienia zamówienia" -#: order/models.py:325 +#: order/models.py:330 msgid "Target Delivery Date" msgstr "Data Dostawy Towaru" -#: order/models.py:326 +#: order/models.py:331 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:332 +#: order/models.py:337 msgid "Date order was completed" msgstr "" -#: order/models.py:368 +#: order/models.py:373 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:512 +#: order/models.py:517 msgid "Quantity must be a positive number" msgstr "Wartość musi być liczbą dodatnią" -#: order/models.py:650 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer Reference " msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer order reference code" msgstr "" -#: order/models.py:661 +#: order/models.py:677 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:664 order/models.py:1190 +#: order/models.py:680 order/models.py:1206 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "Data wysyłki" -#: order/models.py:671 +#: order/models.py:687 msgid "shipped by" msgstr "wysłane przez" -#: order/models.py:726 +#: order/models.py:742 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:730 +#: order/models.py:746 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:733 +#: order/models.py:749 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:736 +#: order/models.py:752 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:910 +#: order/models.py:926 msgid "Item quantity" msgstr "Ilość elementów" -#: order/models.py:916 +#: order/models.py:932 msgid "Line item reference" msgstr "" -#: order/models.py:918 +#: order/models.py:934 msgid "Line item notes" msgstr "" -#: order/models.py:923 +#: order/models.py:939 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:941 +#: order/models.py:957 msgid "Context" msgstr "" -#: order/models.py:942 +#: order/models.py:958 msgid "Additional context for this line" msgstr "" -#: order/models.py:950 +#: order/models.py:966 msgid "Unit price" msgstr "" -#: order/models.py:980 +#: order/models.py:996 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:988 +#: order/models.py:1004 msgid "deleted" msgstr "" -#: order/models.py:994 order/models.py:1074 order/models.py:1099 -#: order/models.py:1184 order/models.py:1320 +#: order/models.py:1010 order/models.py:1090 order/models.py:1115 +#: order/models.py:1200 order/models.py:1336 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "Zamówienie" -#: order/models.py:995 order/models.py:1074 +#: order/models.py:1011 order/models.py:1090 #: 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/email/overdue_purchase_order.html:15 #: 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 +#: templates/js/translated/part.js:943 templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:2422 msgid "Purchase Order" msgstr "Zlecenie zakupu" -#: order/models.py:1013 +#: order/models.py:1029 msgid "Supplier part" msgstr "" -#: order/models.py:1020 order/templates/order/order_base.html:169 +#: order/models.py:1036 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/part.js:1037 templates/js/translated/part.js:1064 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "Odebrane" -#: order/models.py:1021 +#: order/models.py:1037 msgid "Number of items received" msgstr "" -#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: order/models.py:1044 part/templates/part/prices.html:181 stock/models.py:722 #: stock/serializers.py:153 stock/templates/stock/item_base.html:191 -#: templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:1910 msgid "Purchase Price" msgstr "Cena zakupu" -#: order/models.py:1029 +#: order/models.py:1045 msgid "Unit purchase price" msgstr "Cena zakupu jednostkowego" -#: order/models.py:1037 +#: order/models.py:1053 msgid "Where does the Purchaser want this item to be stored?" msgstr "Gdzie kupujący chce przechowywać ten przedmiot?" -#: order/models.py:1109 part/templates/part/part_pricing.html:112 -#: part/templates/part/prices.html:119 part/templates/part/prices.html:288 +#: order/models.py:1125 part/templates/part/part_pricing.html:115 +#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 msgid "Sale Price" msgstr "Cena sprzedaży" -#: order/models.py:1110 +#: order/models.py:1126 msgid "Unit sale price" msgstr "Jednostkowa cena sprzedaży" -#: order/models.py:1115 +#: order/models.py:1131 msgid "Shipped quantity" msgstr "Wysłana ilość" -#: order/models.py:1191 +#: order/models.py:1207 msgid "Date of shipment" msgstr "Data wysyłki" -#: order/models.py:1198 +#: order/models.py:1214 msgid "Checked By" msgstr "Sprawdzone przez" -#: order/models.py:1199 +#: order/models.py:1215 msgid "User who checked this shipment" msgstr "Użytkownik, który sprawdził tę wysyłkę" -#: order/models.py:1207 +#: order/models.py:1223 msgid "Shipment number" msgstr "Numer przesyłki" -#: order/models.py:1214 +#: order/models.py:1230 msgid "Shipment notes" msgstr "Notatki do przesyłki" -#: order/models.py:1221 +#: order/models.py:1237 msgid "Tracking Number" msgstr "Numer śledzenia" -#: order/models.py:1222 +#: order/models.py:1238 msgid "Shipment tracking information" msgstr "Informacje o śledzeniu przesyłki" -#: order/models.py:1229 +#: order/models.py:1245 msgid "Invoice Number" msgstr "" -#: order/models.py:1230 +#: order/models.py:1246 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1248 +#: order/models.py:1264 msgid "Shipment has already been sent" msgstr "Przesyłka została już wysłana" -#: order/models.py:1251 +#: order/models.py:1267 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1354 order/models.py:1356 +#: order/models.py:1370 order/models.py:1372 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1360 +#: order/models.py:1376 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1362 +#: order/models.py:1378 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1365 +#: order/models.py:1381 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Zarezerwowana ilość nie może przekraczać ilości na stanie" -#: order/models.py:1369 +#: order/models.py:1385 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1375 order/serializers.py:1045 +#: order/models.py:1391 order/serializers.py:1047 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1378 +#: order/models.py:1394 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1379 +#: order/models.py:1395 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1387 +#: order/models.py:1403 msgid "Line" msgstr "Linia" -#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 +#: order/models.py:1411 order/serializers.py:1151 order/serializers.py:1275 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "Przesyłka" -#: order/models.py:1396 +#: order/models.py:1412 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1424 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "Komponent" -#: order/models.py:1409 +#: order/models.py:1425 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Enter stock allocation quantity" msgstr "" @@ -3662,7 +3692,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1117 +#: order/serializers.py:406 order/serializers.py:1119 msgid "Line Item" msgstr "" @@ -3710,42 +3740,60 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:866 +#: order/serializers.py:868 msgid "Sale price currency" msgstr "" -#: order/serializers.py:947 +#: order/serializers.py:949 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1006 order/serializers.py:1126 +#: order/serializers.py:1008 order/serializers.py:1128 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1028 +#: order/serializers.py:1030 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1139 +#: order/serializers.py:1141 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1161 order/serializers.py:1281 +#: order/serializers.py:1163 order/serializers.py:1283 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1164 order/serializers.py:1284 +#: order/serializers.py:1166 order/serializers.py:1286 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1216 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1224 +#: order/serializers.py:1226 msgid "The following serial numbers are already allocated" msgstr "" +#: order/tasks.py:26 +msgid "Overdue Purchase Order" +msgstr "" + +#: order/tasks.py:31 +#, python-brace-format +msgid "Purchase order {po} is now overdue" +msgstr "" + +#: order/tasks.py:88 +msgid "Overdue Sales Order" +msgstr "" + +#: order/tasks.py:93 +#, python-brace-format +msgid "Sales order {so} is now overdue" +msgstr "" + #: order/templates/order/order_base.html:33 msgid "Print purchase order report" msgstr "" @@ -3870,8 +3918,8 @@ msgstr "Wybierz dostawcę części" #: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: 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:2731 templates/js/translated/stock.js:570 -#: templates/js/translated/stock.js:738 +#: templates/js/translated/order.js:2731 templates/js/translated/stock.js:569 +#: templates/js/translated/stock.js:737 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Usuń wiersz" @@ -3990,7 +4038,7 @@ msgid "Pending Shipments" msgstr "Oczekujące przesyłki" #: order/templates/order/sales_order_detail.html:70 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1047 #: templates/js/translated/build.js:1880 msgid "Actions" msgstr "Akcje" @@ -4021,47 +4069,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:481 +#: part/api.py:482 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:501 +#: part/api.py:502 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:519 +#: part/api.py:520 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:551 +#: part/api.py:552 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:637 +#: part/api.py:638 msgid "Valid" msgstr "Ważny" -#: part/api.py:638 +#: part/api.py:639 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:644 +#: part/api.py:645 msgid "This option must be selected" msgstr "Ta opcja musi być zaznaczona" -#: part/api.py:1010 +#: part/api.py:1011 msgid "Must be greater than zero" msgstr "Musi być większe niż zero" -#: part/api.py:1014 +#: part/api.py:1015 msgid "Must be a valid quantity" msgstr "Musi być prawidłową ilością" -#: part/api.py:1029 +#: part/api.py:1030 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1060 part/api.py:1064 part/api.py:1079 part/api.py:1083 +#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 msgid "This field is required" msgstr "To pole jest wymagane" @@ -4080,17 +4128,13 @@ msgid "Available Stock" msgstr "Dostępna ilość" #: 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 +#: templates/js/translated/part.js:561 templates/js/translated/part.js:581 +#: templates/js/translated/part.js:1273 templates/js/translated/part.js:1445 +#: templates/js/translated/part.js:1461 msgid "On Order" msgstr "W Zamówieniu" -#: part/forms.py:59 -msgid "Select part category" -msgstr "Wybierz kategorię części" - -#: part/forms.py:69 +#: part/forms.py:60 msgid "Input quantity for price calculation" msgstr "" @@ -4106,7 +4150,7 @@ msgstr "Domyślne słowa kluczowe" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:115 part/models.py:2415 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2403 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Kategoria komponentu" @@ -4123,7 +4167,7 @@ msgstr "Kategorie części" #: 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/js/translated/part.js:1864 templates/js/translated/search.js:144 #: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "Części" @@ -4153,7 +4197,7 @@ msgstr "" msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:738 part/models.py:2469 +#: part/models.py:738 part/models.py:2457 msgid "Part name" msgstr "Nazwa komponentu" @@ -4163,7 +4207,7 @@ msgstr "Czy szablon" #: part/models.py:746 msgid "Is this part a template part?" -msgstr "" +msgstr "Czy ta część stanowi szablon części?" #: part/models.py:756 msgid "Is this part a variant of another part?" @@ -4186,12 +4230,11 @@ msgstr "Słowa kluczowe" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:776 part/models.py:2171 part/models.py:2414 +#: part/models.py:776 part/models.py:2159 part/models.py:2402 #: part/templates/part/part_base.html:257 -#: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 #: templates/InvenTree/settings/settings.html:231 -#: templates/js/translated/part.js:1369 +#: templates/js/translated/part.js:1413 templates/js/translated/part.js:1639 msgid "Category" msgstr "Kategoria" @@ -4200,8 +4243,8 @@ msgid "Part category" msgstr "" #: 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 +#: templates/js/translated/part.js:710 templates/js/translated/part.js:1366 +#: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" @@ -4214,7 +4257,7 @@ msgid "Part revision or version number" msgstr "" #: part/models.py:790 part/templates/part/part_base.html:273 -#: report/models.py:170 templates/js/translated/part.js:670 +#: report/models.py:170 templates/js/translated/part.js:714 msgid "Revision" msgstr "Wersja" @@ -4260,7 +4303,7 @@ msgstr "Czy ta część może być użyta do budowy innych części?" #: part/models.py:897 msgid "Does this part have tracking for unique items?" -msgstr "" +msgstr "Czy ta część wymaga śledzenia każdego towaru z osobna?" #: part/models.py:902 msgid "Can this part be purchased from external suppliers?" @@ -4302,317 +4345,321 @@ msgstr "" msgid "Creation User" msgstr "Tworzenie użytkownika" -#: part/models.py:1690 +#: part/models.py:1685 msgid "Sell multiple" msgstr "Sprzedaj wiele" -#: part/models.py:2218 +#: part/models.py:2206 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2235 +#: part/models.py:2223 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2255 templates/js/translated/part.js:1819 -#: templates/js/translated/stock.js:1274 +#: part/models.py:2243 templates/js/translated/part.js:1915 +#: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "Nazwa testu" -#: part/models.py:2256 +#: part/models.py:2244 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2261 +#: part/models.py:2249 msgid "Test Description" msgstr "Testowy opis" -#: part/models.py:2262 +#: part/models.py:2250 msgid "Enter description for this test" msgstr "Wprowadź opis do tego testu" -#: part/models.py:2267 templates/js/translated/part.js:1828 +#: part/models.py:2255 templates/js/translated/part.js:1924 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "Wymagane" -#: part/models.py:2268 +#: part/models.py:2256 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2273 templates/js/translated/part.js:1836 +#: part/models.py:2261 templates/js/translated/part.js:1932 msgid "Requires Value" msgstr "Wymaga wartości" -#: part/models.py:2274 +#: part/models.py:2262 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2279 templates/js/translated/part.js:1843 +#: part/models.py:2267 templates/js/translated/part.js:1939 msgid "Requires Attachment" msgstr "Wymaga załącznika" -#: part/models.py:2280 +#: part/models.py:2268 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2288 +#: part/models.py:2276 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2324 +#: part/models.py:2312 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2332 +#: part/models.py:2320 msgid "Parameter Name" msgstr "" -#: part/models.py:2339 +#: part/models.py:2327 msgid "Parameter Units" msgstr "" -#: part/models.py:2370 +#: part/models.py:2358 msgid "Parent Part" msgstr "Część nadrzędna" -#: part/models.py:2372 part/models.py:2420 part/models.py:2421 +#: part/models.py:2360 part/models.py:2408 part/models.py:2409 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Data" msgstr "Dane" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Parameter Value" msgstr "Wartość parametru" -#: part/models.py:2425 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2413 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "Wartość domyślna" -#: part/models.py:2426 +#: part/models.py:2414 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2461 +#: part/models.py:2449 msgid "Part ID or part name" msgstr "" -#: part/models.py:2464 templates/js/translated/model_renderers.js:200 +#: part/models.py:2452 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "ID komponentu" -#: part/models.py:2465 +#: part/models.py:2453 msgid "Unique part ID value" msgstr "Unikalny wartość ID komponentu" -#: part/models.py:2468 +#: part/models.py:2456 msgid "Part Name" msgstr "Nazwa komponentu" -#: part/models.py:2472 +#: part/models.py:2460 msgid "Part IPN" msgstr "IPN komponentu" -#: part/models.py:2473 +#: part/models.py:2461 msgid "Part IPN value" msgstr "Wartość IPN części" -#: part/models.py:2476 +#: part/models.py:2464 msgid "Level" msgstr "Poziom" -#: part/models.py:2477 +#: part/models.py:2465 msgid "BOM level" msgstr "" -#: part/models.py:2546 +#: part/models.py:2534 msgid "Select parent part" msgstr "Wybierz część nadrzędną" -#: part/models.py:2554 +#: part/models.py:2542 msgid "Sub part" msgstr "Podczęść" -#: part/models.py:2555 +#: part/models.py:2543 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2561 +#: part/models.py:2549 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2563 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 +#: part/models.py:2551 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:871 templates/js/translated/bom.js:965 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "Opcjonalne" -#: part/models.py:2563 +#: part/models.py:2551 msgid "This BOM item is optional" msgstr "Ten element BOM jest opcjonalny" -#: part/models.py:2566 part/templates/part/upload_bom.html:55 +#: part/models.py:2554 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2567 +#: part/models.py:2555 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2570 +#: part/models.py:2558 msgid "BOM item reference" msgstr "" -#: part/models.py:2573 +#: part/models.py:2561 msgid "BOM item notes" msgstr "Notatki pozycji BOM" -#: part/models.py:2575 +#: part/models.py:2563 msgid "Checksum" msgstr "Suma kontrolna" -#: part/models.py:2575 +#: part/models.py:2563 msgid "BOM line checksum" msgstr "" -#: part/models.py:2579 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:988 +#: part/models.py:2567 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:982 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "Dziedziczone" -#: part/models.py:2580 +#: part/models.py:2568 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2585 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:980 +#: part/models.py:2573 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:974 msgid "Allow Variants" msgstr "Zezwalaj na warianty" -#: part/models.py:2586 +#: part/models.py:2574 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2664 stock/models.py:460 +#: part/models.py:2652 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2673 part/models.py:2675 +#: part/models.py:2661 part/models.py:2663 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2780 +#: part/models.py:2768 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2801 +#: part/models.py:2789 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2814 +#: part/models.py:2802 msgid "Parent BOM item" msgstr "" -#: part/models.py:2822 +#: part/models.py:2810 msgid "Substitute part" msgstr "Część zastępcza" -#: part/models.py:2833 +#: part/models.py:2825 msgid "Part 1" msgstr "Część 1" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Part 2" msgstr "Część 2" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Select Related Part" msgstr "Wybierz powiązaną część" -#: part/models.py:2868 -msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" +#: part/models.py:2847 +msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 +#: part/models.py:2851 +msgid "Duplicate relationship already exists" +msgstr "" + +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "Waluta zakupu tego towaru" -#: part/serializers.py:794 +#: part/serializers.py:796 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:804 msgid "Remove Existing Data" msgstr "Usuń istniejące dane" -#: part/serializers.py:803 +#: part/serializers.py:805 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:810 msgid "Include Inherited" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:811 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:816 msgid "Skip Invalid Rows" msgstr "Pomiń nieprawidłowe wiersze" -#: part/serializers.py:815 +#: part/serializers.py:817 msgid "Enable this option to skip invalid rows" msgstr "Włącz tę opcję, aby pominąć nieprawidłowe wiersze" -#: part/serializers.py:820 +#: part/serializers.py:822 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:821 +#: part/serializers.py:823 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:861 +#: part/serializers.py:863 msgid "Clear Existing BOM" msgstr "Wyczyść istniejący BOM" -#: part/serializers.py:862 +#: part/serializers.py:864 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:894 msgid "No part column specified" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:937 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:938 +#: part/serializers.py:940 msgid "No matching part found" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:943 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:950 +#: part/serializers.py:952 msgid "Quantity not provided" msgstr "Nie podano ilości" -#: part/serializers.py:958 +#: part/serializers.py:960 msgid "Invalid quantity" msgstr "Nieprawidłowa ilość" -#: part/serializers.py:979 +#: part/serializers.py:981 msgid "At least one BOM item is required" msgstr "" @@ -5088,10 +5135,10 @@ msgid "Part is virtual (not a physical part)" msgstr "Część jest wirtualna (nie fizyczna)" #: part/templates/part/part_base.html:143 -#: templates/js/translated/company.js:623 -#: templates/js/translated/company.js:882 +#: templates/js/translated/company.js:608 +#: templates/js/translated/company.js:867 #: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:658 +#: templates/js/translated/part.js:625 templates/js/translated/part.js:702 msgid "Inactive" msgstr "Nieaktywny" @@ -5120,13 +5167,13 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "Przypisane do zamówień sprzedaży" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1009 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1003 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/part.js:520 -#: templates/js/translated/part.js:540 templates/js/translated/part.js:1233 -#: templates/js/translated/part.js:1405 templates/js/translated/part.js:1421 +#: part/templates/part/part_base.html:238 templates/js/translated/part.js:564 +#: templates/js/translated/part.js:584 templates/js/translated/part.js:1277 +#: templates/js/translated/part.js:1449 templates/js/translated/part.js:1465 msgid "Building" msgstr "" @@ -5143,7 +5190,7 @@ msgstr "Ostatni numer seryjny" msgid "Search for serial number" msgstr "Szukaj numeru seryjnego" -#: part/templates/part/part_base.html:443 part/templates/part/prices.html:147 +#: part/templates/part/part_base.html:443 part/templates/part/prices.html:149 msgid "Calculate" msgstr "Oblicz" @@ -5161,54 +5208,55 @@ msgstr "Cennik dostawcy" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:106 -#: part/templates/part/prices.html:123 +#: part/templates/part/part_pricing.html:103 +#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 +#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Unit Cost" msgstr "Cena jednostkowa" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:104 -#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:111 -#: part/templates/part/prices.html:128 +#: part/templates/part/part_pricing.html:107 +#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 +#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 +#: part/templates/part/prices.html:130 msgid "Total Cost" msgstr "Całkowity Koszt" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:963 +#: templates/js/translated/bom.js:957 msgid "No supplier pricing available" msgstr "Brak dostępnych cen dostawców" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:246 +#: part/templates/part/prices.html:248 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 msgid "Unit Purchase Price" msgstr "Cena zakupu jednostkowego" -#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 msgid "Total Purchase Price" msgstr "Całkowita cena zakupu" -#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:89 +#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 msgid "Note: BOM pricing is incomplete for this part" msgstr "Uwaga: cena BOM jest niekompletna dla tej części" -#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:96 +#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 msgid "No BOM pricing available" msgstr "Brak dostępnych cen BOM" -#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:105 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/prices.html:107 msgid "Internal Price" msgstr "Cena wewnętrzna" -#: part/templates/part/part_pricing.html:128 -#: part/templates/part/prices.html:137 +#: part/templates/part/part_pricing.html:131 +#: part/templates/part/prices.html:139 msgid "No pricing information is available for this part." msgstr "Brak dostępnych informacji o cenach dla tej części." @@ -5232,45 +5280,6 @@ msgstr "Szablony testowe" msgid "Select from existing images" msgstr "Wybierz z istniejących obrazów" -#: part/templates/part/partial_delete.html:9 -#, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" -"
Disable the \"Active\" part attribute and re-try.\n" -" " -msgstr "Część '%(full_name)s' nie może zostać usunięta, ponieważ jest nadal oznaczona jako aktywna.\n" -"
Wyłącz atrybut części \"Aktywne\" i spróbuj ponownie.\n" -" " - -#: part/templates/part/partial_delete.html:17 -#, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" -msgstr "Czy na pewno chcesz usunąć część '%(full_name)s'?" - -#: part/templates/part/partial_delete.html:22 -#, python-format -msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" -msgstr "Ta część jest używana w BOM-ach dla %(count)s innych części. Jeśli usuniesz tę część, BOM-y dla następujących części zostaną zaktualizowane" - -#: part/templates/part/partial_delete.html:32 -#, python-format -msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:43 -#, python-format -msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:54 -#, python-format -msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:67 -#, python-format -msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." -msgstr "" - #: part/templates/part/prices.html:19 msgid "Pricing ranges" msgstr "Przedziały cenowe" @@ -5287,66 +5296,58 @@ msgstr "Pokaż cenę zakupu" msgid "Show BOM cost" msgstr "Pokaż koszt BOM" -#: part/templates/part/prices.html:120 +#: part/templates/part/prices.html:122 msgid "Show sale cost" msgstr "Pokaż koszt sprzedaży" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:123 msgid "Show sale price" msgstr "Pokaż cenę sprzedaży" -#: part/templates/part/prices.html:143 +#: part/templates/part/prices.html:145 msgid "Calculation parameters" msgstr "Parametry obliczeniowe" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:957 +#: part/templates/part/prices.html:160 templates/js/translated/bom.js:951 msgid "Supplier Cost" msgstr "Koszty dostawcy" -#: part/templates/part/prices.html:159 part/templates/part/prices.html:180 -#: part/templates/part/prices.html:204 part/templates/part/prices.html:234 -#: part/templates/part/prices.html:260 part/templates/part/prices.html:289 +#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 +#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 +#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 msgid "Jump to overview" msgstr "Przejdź do przeglądu" -#: part/templates/part/prices.html:184 +#: part/templates/part/prices.html:186 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:193 +#: part/templates/part/prices.html:195 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:203 +#: part/templates/part/prices.html:205 msgid "Internal Cost" msgstr "Koszt wewnętrzny" -#: part/templates/part/prices.html:218 +#: part/templates/part/prices.html:220 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:233 +#: part/templates/part/prices.html:235 msgid "BOM Cost" msgstr "Koszt BOM" -#: part/templates/part/prices.html:259 +#: part/templates/part/prices.html:261 msgid "Sale Cost" msgstr "Koszt sprzedaży" -#: part/templates/part/prices.html:300 +#: part/templates/part/prices.html:302 msgid "No sale pice history available for this part." msgstr "" -#: part/templates/part/set_category.html:9 -msgid "Set category for the following parts" -msgstr "" - -#: part/templates/part/set_category.html:32 -msgid "Remove part" -msgstr "Usuń część" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543 -#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:587 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:1469 msgid "No Stock" msgstr "Brak w magazynie" @@ -5409,56 +5410,39 @@ msgstr "Nieznana baza danych" msgid "{title} v{version}" msgstr "" -#: part/views.py:74 -msgid "Set Part Category" -msgstr "Ustaw kategorię części" - -#: part/views.py:122 -#, python-brace-format -msgid "Set category for {n} parts" -msgstr "" - -#: part/views.py:193 +#: part/views.py:118 msgid "Match References" msgstr "" -#: part/views.py:494 +#: part/views.py:419 msgid "None" msgstr "Żaden" -#: part/views.py:556 +#: part/views.py:481 msgid "Part QR Code" msgstr "Kod QR części" -#: part/views.py:650 +#: part/views.py:575 msgid "Select Part Image" msgstr "Wybierz obrazek części" -#: part/views.py:676 +#: part/views.py:601 msgid "Updated part image" msgstr "Zaktualizowano zdjęcie części" -#: part/views.py:679 +#: part/views.py:604 msgid "Part image not found" msgstr "Nie znaleziono obrazka części" -#: part/views.py:768 -msgid "Confirm Part Deletion" -msgstr "Potwierdź usunięcie części" - -#: part/views.py:776 -msgid "Part was deleted" -msgstr "Część została usunięta" - -#: part/views.py:785 +#: part/views.py:693 msgid "Part Pricing" msgstr "Cennik części" -#: part/views.py:976 +#: part/views.py:884 msgid "Delete Part Category" msgstr "" -#: part/views.py:983 +#: part/views.py:891 msgid "Part category was deleted" msgstr "" @@ -5518,21 +5502,21 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:28 +#: plugin/builtin/integration/core_notifications.py:29 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 +#: plugin/builtin/integration/core_notifications.py:30 msgid "Integrated outgoing notificaton methods" msgstr "" -#: 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:34 #: plugin/builtin/integration/core_notifications.py:53 +msgid "Enable email notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:35 +#: plugin/builtin/integration/core_notifications.py:54 msgid "Allow sending of emails for event notifications" msgstr "" @@ -5648,15 +5632,19 @@ msgstr "Instalacja nie została potwierdzona" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:166 +#: report/api.py:179 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:198 report/api.py:239 +#: report/api.py:215 report/api.py:256 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" +#: report/api.py:359 +msgid "Test report" +msgstr "" + #: report/models.py:152 msgid "Template name" msgstr "Nazwa szablonu" @@ -5759,7 +5747,7 @@ msgstr "" #: 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:3229 -#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:434 msgid "Serial Number" msgstr "Numer Seryjny" @@ -5768,19 +5756,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2068 +#: stock/models.py:2072 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2074 +#: stock/models.py:2078 msgid "Result" msgstr "Wynik" #: 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:1669 templates/js/translated/stock.js:2340 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2350 msgid "Date" msgstr "Data" @@ -5798,20 +5786,20 @@ msgid "Installed Items" msgstr "Zainstalowane elementy" #: 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:2589 +#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724 +#: templates/js/translated/stock.js:2599 msgid "Serial" msgstr "Numer seryjny" -#: stock/api.py:504 +#: stock/api.py:505 msgid "Quantity is required" msgstr "" -#: stock/api.py:511 +#: stock/api.py:512 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:536 +#: stock/api.py:537 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5919,7 +5907,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1826 msgid "Expiry Date" msgstr "Data ważności" @@ -5973,79 +5961,79 @@ msgstr "" msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1325 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1324 +#: stock/models.py:1328 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1327 +#: stock/models.py:1331 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1334 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1333 +#: stock/models.py:1337 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1340 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1343 stock/serializers.py:908 +#: stock/models.py:1347 stock/serializers.py:895 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1347 +#: stock/models.py:1351 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1355 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1359 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1524 +#: stock/models.py:1528 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1986 +#: stock/models.py:1990 msgid "Entry notes" msgstr "Notatki do wpisu" -#: stock/models.py:2044 +#: stock/models.py:2048 msgid "Value must be provided for this test" msgstr "Należy podać wartość dla tego testu" -#: stock/models.py:2050 +#: stock/models.py:2054 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2069 +#: stock/models.py:2073 msgid "Test name" msgstr "Nazwa testu" -#: stock/models.py:2075 +#: stock/models.py:2079 msgid "Test result" msgstr "Wynik testu" -#: stock/models.py:2081 +#: stock/models.py:2085 msgid "Test output value" msgstr "" -#: stock/models.py:2088 +#: stock/models.py:2092 msgid "Test result attachment" msgstr "" -#: stock/models.py:2094 +#: stock/models.py:2098 msgid "Test notes" msgstr "" @@ -6066,7 +6054,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:865 stock/serializers.py:1098 +#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 msgid "Destination stock location" msgstr "" @@ -6106,63 +6094,63 @@ msgstr "" msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:707 msgid "Part must be salable" msgstr "Część musi być dostępna do sprzedaży" -#: stock/serializers.py:724 +#: stock/serializers.py:711 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:728 +#: stock/serializers.py:715 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:759 +#: stock/serializers.py:746 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:765 +#: stock/serializers.py:752 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:773 +#: stock/serializers.py:760 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:783 stock/serializers.py:1014 +#: stock/serializers.py:770 stock/serializers.py:1001 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:872 +#: stock/serializers.py:859 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:877 +#: stock/serializers.py:864 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:878 +#: stock/serializers.py:865 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:883 +#: stock/serializers.py:870 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:884 +#: stock/serializers.py:871 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:894 +#: stock/serializers.py:881 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:976 +#: stock/serializers.py:963 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1004 +#: stock/serializers.py:991 msgid "Stock transaction notes" msgstr "" @@ -6187,7 +6175,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:298 msgid "Delete Test Data" msgstr "" @@ -6199,11 +6187,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2733 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2743 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:292 templates/js/translated/stock.js:1455 +#: stock/templates/stock/item.html:290 +msgid "Delete all test results for this stock item" +msgstr "" + +#: stock/templates/stock/item.html:323 templates/js/translated/stock.js:1465 msgid "Add Test Result" msgstr "" @@ -6390,7 +6382,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/stock.js:1842 msgid "Last Updated" msgstr "Ostatnia aktualizacja" @@ -6458,7 +6450,7 @@ msgstr "Nowa lokalizacja" #: stock/templates/stock/location.html:109 #: stock/templates/stock/location.html:115 msgid "Location Path" -msgstr "" +msgstr "Ścieżka lokalizacji" #: stock/templates/stock/location.html:116 msgid "Top level stock location" @@ -6476,7 +6468,7 @@ msgstr "" #: stock/templates/stock/location.html:189 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" -msgstr "" +msgstr "Podlokalizacje" #: stock/templates/stock/location.html:156 templates/InvenTree/search.html:165 #: templates/js/translated/search.js:238 users/models.py:38 @@ -6531,7 +6523,7 @@ msgstr "" msgid "Child Items" msgstr "Elementy podrzędne" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:182 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:144 msgid "Convert Stock Item" msgstr "" @@ -6552,31 +6544,19 @@ msgstr "Ostrzeżenie" msgid "This action cannot be easily undone" msgstr "" -#: stock/views.py:113 +#: stock/views.py:111 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:131 -msgid "Delete All Test Data" -msgstr "Usuń wszystkie dane testowe" - -#: stock/views.py:149 -msgid "Confirm test data deletion" -msgstr "" - -#: stock/views.py:150 -msgid "Check the confirmation box" -msgstr "" - -#: stock/views.py:165 +#: stock/views.py:127 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:216 +#: stock/views.py:178 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:229 +#: stock/views.py:191 msgid "Delete Stock Item" msgstr "" @@ -6663,23 +6643,23 @@ msgstr "" #: templates/InvenTree/index.html:235 msgid "Overdue Build Orders" -msgstr "" +msgstr "Zaległe zlecenia budowy" #: templates/InvenTree/index.html:255 msgid "Outstanding Purchase Orders" -msgstr "" +msgstr "Trwające zlecenia zakupu" #: templates/InvenTree/index.html:266 msgid "Overdue Purchase Orders" -msgstr "" +msgstr "Zaległe zlecenia zakupu" #: templates/InvenTree/index.html:286 msgid "Outstanding Sales Orders" -msgstr "" +msgstr "Trwające zlecenia sprzedaży" #: templates/InvenTree/index.html:297 msgid "Overdue Sales Orders" -msgstr "" +msgstr "Zaległe zlecenia sprzedaży" #: templates/InvenTree/notifications/history.html:9 msgid "Notification History" @@ -7319,8 +7299,8 @@ msgstr "Informacje o wersji InvenTree" #: 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:56 templates/js/translated/modals.js:595 -#: templates/js/translated/modals.js:689 templates/js/translated/modals.js:997 +#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 +#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 #: templates/js/translated/order.js:928 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7392,6 +7372,10 @@ msgstr "Potwierdź adres e-mail" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Proszę potwierdzić że %(email)s jest adresem e-mail dla użytkownika %(user_display)s." +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:630 +msgid "Confirm" +msgstr "Potwierdź" + #: templates/account/email_confirm.html:27 #, python-format msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." @@ -7567,7 +7551,7 @@ msgstr "Dodaj załącznik" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:112 msgid "Delete Attachments" msgstr "" @@ -7601,15 +7585,15 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1425 +#: templates/js/translated/bom.js:1419 msgid "Required Quantity" msgstr "Wymagana ilość" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: 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/bom.js:884 templates/js/translated/build.js:1787 +#: templates/js/translated/build.js:2650 templates/js/translated/part.js:571 +#: templates/js/translated/part.js:574 #: templates/js/translated/table_filters.js:178 msgid "Available" msgstr "Dostępne" @@ -7627,6 +7611,13 @@ msgstr "" msgid "Minimum Quantity" msgstr "Minimalna ilość" +#: templates/email/new_order_assigned.html:9 +#: templates/email/overdue_build_order.html:9 +#: templates/email/overdue_purchase_order.html:9 +#: templates/email/overdue_sales_order.html:9 +msgid "Click on the following link to view this order" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "Określ adres URL do pobrania obrazu" @@ -7643,91 +7634,91 @@ msgstr "Zdalny serwer musi być dostępny" msgid "Remote image must not exceed maximum allowable file size" msgstr "Zewnętrzne zdjęcie nie może przekraczać maksymalnego dopuszczalnego rozmiaru pliku" -#: templates/js/translated/api.js:235 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1073 msgid "No Response" msgstr "Brak odpowiedzi" -#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1074 msgid "No response from the InvenTree server" msgstr "Brak odpowiedzi z serwera InvenTree" -#: templates/js/translated/api.js:242 +#: templates/js/translated/api.js:202 msgid "Error 400: Bad request" msgstr "Błąd 400: Błędne żądanie" -#: templates/js/translated/api.js:243 +#: templates/js/translated/api.js:203 msgid "API request returned error code 400" msgstr "Żądanie interfejsu API zwróciło kod błędu 400" -#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1083 msgid "Error 401: Not Authenticated" msgstr "Błąd 401: Nieuwierzytelniony" -#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1084 msgid "Authentication credentials not supplied" msgstr "Dane uwierzytelniające nie zostały dostarczone" -#: templates/js/translated/api.js:252 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1088 msgid "Error 403: Permission Denied" msgstr "Błąd 403: Odmowa dostępu" -#: templates/js/translated/api.js:253 templates/js/translated/modals.js:1083 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1089 msgid "You do not have the required permissions to access this function" msgstr "Nie masz uprawnień wymaganych do dostępu do tej funkcji" -#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1093 msgid "Error 404: Resource Not Found" msgstr "Błąd 404: Nie znaleziono zasobu" -#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1088 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1094 msgid "The requested resource could not be located on the server" msgstr "Żądany zasób nie mógł być zlokalizowany na serwerze" -#: templates/js/translated/api.js:262 +#: templates/js/translated/api.js:222 msgid "Error 405: Method Not Allowed" msgstr "Błąd 405: Metoda nie jest dozwolona" -#: templates/js/translated/api.js:263 +#: templates/js/translated/api.js:223 msgid "HTTP method not allowed at URL" msgstr "Metoda HTTP nie jest dozwolona pod tym adresem URL" -#: templates/js/translated/api.js:267 templates/js/translated/modals.js:1092 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1098 msgid "Error 408: Timeout" msgstr "Błąd 408: Przekroczony limit czasu" -#: templates/js/translated/api.js:268 templates/js/translated/modals.js:1093 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1099 msgid "Connection timeout while requesting data from server" msgstr "Limit czasu połączenia podczas żądania danych z serwera" -#: templates/js/translated/api.js:271 +#: templates/js/translated/api.js:231 msgid "Unhandled Error Code" msgstr "Nieobsługiwany kod błędu" -#: templates/js/translated/api.js:272 +#: templates/js/translated/api.js:232 msgid "Error code" msgstr "Kod błędu" -#: templates/js/translated/attachment.js:96 +#: templates/js/translated/attachment.js:98 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:156 +#: templates/js/translated/attachment.js:152 msgid "No attachments found" msgstr "Nie znaleziono załączników" -#: templates/js/translated/attachment.js:180 +#: templates/js/translated/attachment.js:176 msgid "Edit Attachment" msgstr "Edytuj załącznik" -#: templates/js/translated/attachment.js:246 +#: templates/js/translated/attachment.js:242 msgid "Upload Date" msgstr "Data przesłania" -#: templates/js/translated/attachment.js:262 +#: templates/js/translated/attachment.js:264 msgid "Edit attachment" msgstr "Edytuj załącznik" -#: templates/js/translated/attachment.js:269 +#: templates/js/translated/attachment.js:271 msgid "Delete attachment" msgstr "Usuń załącznik" @@ -7760,7 +7751,7 @@ msgid "Unknown response from server" msgstr "Nieznana odpowiedź serwera" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "Invalid server response" msgstr "Niepoprawna odpowiedź serwera" @@ -7788,7 +7779,7 @@ msgstr "" msgid "Unlink" msgstr "Rozłącz" -#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999 +#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:998 msgid "Remove stock item" msgstr "" @@ -7839,7 +7830,7 @@ msgstr "Dane wiersza" #: templates/js/translated/bom.js:250 msgid "Download BOM Template" -msgstr "" +msgstr "Pobierz szablon BOM-u" #: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287 #: templates/js/translated/order.js:709 templates/js/translated/tables.js:145 @@ -7923,89 +7914,89 @@ msgstr "Dodaj zamiennik" msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:682 +#: templates/js/translated/bom.js:684 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:697 +#: templates/js/translated/bom.js:699 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:824 +#: templates/js/translated/bom.js:818 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:834 +#: templates/js/translated/bom.js:828 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:838 templates/js/translated/build.js:1769 +#: templates/js/translated/bom.js:832 templates/js/translated/build.js:1769 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/bom.js:900 templates/js/translated/build.js:1814 #: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:910 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:904 templates/js/translated/build.js:1818 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:912 templates/js/translated/build.js:1820 -#: templates/js/translated/part.js:690 +#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1820 +#: templates/js/translated/part.js:734 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:914 templates/js/translated/build.js:1822 +#: templates/js/translated/bom.js:908 templates/js/translated/build.js:1822 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:928 +#: templates/js/translated/bom.js:922 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:943 +#: templates/js/translated/bom.js:937 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:950 +#: templates/js/translated/bom.js:944 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:999 templates/js/translated/bom.js:1090 +#: templates/js/translated/bom.js:993 templates/js/translated/bom.js:1084 msgid "View BOM" msgstr "Zobacz BOM" -#: templates/js/translated/bom.js:1061 +#: templates/js/translated/bom.js:1055 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1063 +#: templates/js/translated/bom.js:1057 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1065 +#: templates/js/translated/bom.js:1059 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1067 templates/js/translated/bom.js:1228 +#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1222 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1069 +#: templates/js/translated/bom.js:1063 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1164 templates/js/translated/build.js:1615 +#: templates/js/translated/bom.js:1158 templates/js/translated/build.js:1615 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1408 templates/js/translated/build.js:1753 +#: templates/js/translated/bom.js:1402 templates/js/translated/build.js:1753 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1430 +#: templates/js/translated/bom.js:1424 msgid "Inherited from parent BOM" msgstr "" @@ -8045,13 +8036,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91 -#: templates/js/translated/stock.js:181 +#: templates/js/translated/build.js:259 templates/js/translated/stock.js:90 +#: templates/js/translated/stock.js:180 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93 -#: templates/js/translated/stock.js:183 +#: templates/js/translated/build.js:261 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:182 msgid "Latest serial number" msgstr "Ostatni numer seryjny" @@ -8264,9 +8255,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: 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 +#: templates/js/translated/build.js:2448 templates/js/translated/part.js:1358 +#: templates/js/translated/part.js:1825 templates/js/translated/stock.js:1629 +#: templates/js/translated/stock.js:2287 msgid "Select" msgstr "Wybierz" @@ -8278,7 +8269,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2519 +#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2529 msgid "No user information" msgstr "Brak informacji o użytkowniku" @@ -8290,107 +8281,107 @@ msgstr "Brak informacji" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "Dodaj producenta" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:169 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:168 msgid "Add Manufacturer Part" msgstr "Dodaj część producenta" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:157 templates/js/translated/order.js:506 +#: templates/js/translated/company.js:156 templates/js/translated/order.js:506 msgid "Add Supplier" msgstr "Dodaj dostawcę" -#: templates/js/translated/company.js:185 +#: templates/js/translated/company.js:184 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:200 +#: templates/js/translated/company.js:199 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:249 msgid "All selected supplier parts will be deleted" msgstr "Wszystkie wybrane komponenty dostawcy zostaną usunięte" -#: templates/js/translated/company.js:263 +#: templates/js/translated/company.js:264 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:342 +#: templates/js/translated/company.js:336 msgid "Add new Company" msgstr "Dodaj nową firmę" -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:413 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:428 +#: templates/js/translated/company.js:422 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:443 +#: templates/js/translated/company.js:437 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:478 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:492 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:526 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:548 +#: templates/js/translated/company.js:539 msgid "Delete Parameters" msgstr "Usuń parametry" -#: templates/js/translated/company.js:595 +#: templates/js/translated/company.js:580 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:615 -#: templates/js/translated/company.js:874 templates/js/translated/part.js:565 -#: templates/js/translated/part.js:650 +#: templates/js/translated/company.js:600 +#: templates/js/translated/company.js:859 templates/js/translated/part.js:609 +#: templates/js/translated/part.js:694 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:619 -#: templates/js/translated/company.js:878 templates/js/translated/part.js:569 -#: templates/js/translated/part.js:654 +#: templates/js/translated/company.js:604 +#: templates/js/translated/company.js:863 templates/js/translated/part.js:613 +#: templates/js/translated/part.js:698 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:747 templates/js/translated/part.js:757 +#: templates/js/translated/company.js:732 templates/js/translated/part.js:801 msgid "No parameters found" msgstr "Nie znaleziono parametrów" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:799 +#: templates/js/translated/company.js:769 templates/js/translated/part.js:843 msgid "Edit parameter" msgstr "Edytuj Parametr" -#: templates/js/translated/company.js:785 templates/js/translated/part.js:800 +#: templates/js/translated/company.js:770 templates/js/translated/part.js:844 msgid "Delete parameter" msgstr "Usuń parametr" -#: templates/js/translated/company.js:804 templates/js/translated/part.js:817 +#: templates/js/translated/company.js:789 templates/js/translated/part.js:861 msgid "Edit Parameter" msgstr "Edytuj Parametr" -#: templates/js/translated/company.js:815 templates/js/translated/part.js:829 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:873 msgid "Delete Parameter" msgstr "Usuń parametr" -#: templates/js/translated/company.js:854 +#: templates/js/translated/company.js:839 msgid "No supplier parts found" msgstr "" @@ -8453,36 +8444,36 @@ msgstr "Operacja przeglądania nie jest dozwolona" msgid "Keep this form open" msgstr "Pozostaw ten formularz otwarty" -#: templates/js/translated/forms.js:756 +#: templates/js/translated/forms.js:757 msgid "Enter a valid number" msgstr "Wprowadź poprawny numer" -#: templates/js/translated/forms.js:1248 templates/modals.html:19 +#: templates/js/translated/forms.js:1249 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Istnieją błędy formularza" -#: templates/js/translated/forms.js:1681 +#: templates/js/translated/forms.js:1682 msgid "No results found" msgstr "Nie znaleziono wyników" -#: templates/js/translated/forms.js:1896 templates/search.html:29 +#: templates/js/translated/forms.js:1897 templates/search.html:29 msgid "Searching" msgstr "Wyszukiwanie" -#: templates/js/translated/forms.js:2149 +#: templates/js/translated/forms.js:2150 msgid "Clear input" msgstr "Wyczyść wejście" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "File Column" msgstr "Kolumna pliku" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "Field Name" msgstr "Nazwa pola" -#: templates/js/translated/forms.js:2627 +#: templates/js/translated/forms.js:2628 msgid "Select Columns" msgstr "Wybór Kolumn" @@ -8503,7 +8494,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1023 +#: templates/js/translated/stock.js:1022 msgid "Select Stock Items" msgstr "Wybierz przedmioty magazynowe" @@ -8557,12 +8548,12 @@ msgid "Select Label Template" msgstr "Wybierz szablon etykiety" #: templates/js/translated/modals.js:82 templates/js/translated/modals.js:142 -#: templates/js/translated/modals.js:621 +#: templates/js/translated/modals.js:627 msgid "Cancel" msgstr "Anuluj" #: 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/js/translated/modals.js:694 templates/js/translated/modals.js:1002 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "Zatwierdź" @@ -8571,47 +8562,47 @@ msgstr "Zatwierdź" msgid "Form Title" msgstr "Tytuł formularza" -#: templates/js/translated/modals.js:403 +#: templates/js/translated/modals.js:421 msgid "Waiting for server..." msgstr "Oczekiwanie na serwer..." -#: templates/js/translated/modals.js:562 +#: templates/js/translated/modals.js:568 msgid "Show Error Information" msgstr "Pokaż informacje o błędzie" -#: templates/js/translated/modals.js:620 +#: templates/js/translated/modals.js:626 msgid "Accept" msgstr "Zaakceptuj" -#: templates/js/translated/modals.js:677 +#: templates/js/translated/modals.js:683 msgid "Loading Data" msgstr "Wczytywanie danych" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Invalid response from server" msgstr "Niepoprawna odpowiedź serwera" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Form data missing from server response" msgstr "Brak danych formularza z odpowiedzi serwera" -#: templates/js/translated/modals.js:960 +#: templates/js/translated/modals.js:966 msgid "Error posting form data" msgstr "Błąd podczas wysyłania danych formularza" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "JSON response missing form data" msgstr "Brak danych w formularzu odpowiedzi JSON" -#: templates/js/translated/modals.js:1072 +#: templates/js/translated/modals.js:1078 msgid "Error 400: Bad Request" msgstr "400: Nieprawidłowe zapytanie" -#: templates/js/translated/modals.js:1073 +#: templates/js/translated/modals.js:1079 msgid "Server returned error code 400" msgstr "Serwer zwrócił kod błędu 400" -#: templates/js/translated/modals.js:1096 +#: templates/js/translated/modals.js:1102 msgid "Error requesting form data" msgstr "Błąd podczas żądania danych formularza" @@ -8661,11 +8652,11 @@ msgstr "" msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:259 +#: templates/js/translated/notification.js:260 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:300 templates/notifications.html:10 +#: templates/js/translated/notification.js:302 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" @@ -8809,7 +8800,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2080 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2090 msgid "Stock Status" msgstr "" @@ -8833,7 +8824,7 @@ msgstr "Potwierdź odbiór elementów" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1602 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1602 templates/js/translated/part.js:914 msgid "No purchase orders found" msgstr "" @@ -8868,7 +8859,7 @@ 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:3978 -#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 +#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2397 msgid "Unit Price" msgstr "Cena jednostkowa" @@ -8878,11 +8869,11 @@ msgid "Total Price" msgstr "Cena całkowita" #: templates/js/translated/order.js:1993 templates/js/translated/order.js:3525 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:1023 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1069 msgid "Receive line item" msgstr "" @@ -9003,7 +8994,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1535 +#: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" @@ -9143,165 +9134,209 @@ msgstr "Część zmodyfikowana" msgid "Create Part Variant" msgstr "Utwórz wariant części" +#: templates/js/translated/part.js:405 +msgid "Active Part" +msgstr "" + +#: templates/js/translated/part.js:406 +msgid "Part cannot be deleted as it is currently active" +msgstr "" + +#: templates/js/translated/part.js:420 +msgid "Deleting this part cannot be reversed" +msgstr "" + +#: templates/js/translated/part.js:422 +msgid "Any stock items for this part will be deleted" +msgstr "" + #: templates/js/translated/part.js:423 +msgid "This part will be removed from any Bills of Material" +msgstr "" + +#: templates/js/translated/part.js:424 +msgid "All manufacturer and supplier information for this part will be deleted" +msgstr "" + +#: templates/js/translated/part.js:431 +msgid "Delete Part" +msgstr "" + +#: templates/js/translated/part.js:467 msgid "You are subscribed to notifications for this item" msgstr "Masz włączone powiadomienia dla tej części" -#: templates/js/translated/part.js:425 +#: templates/js/translated/part.js:469 msgid "You have subscribed to notifications for this item" msgstr "Masz włączone powiadomienia dla tej części" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:474 msgid "Subscribe to notifications for this item" msgstr "Włącz powiadomienia dla tej części" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:476 msgid "You have unsubscribed to notifications for this item" msgstr "Zostałeś wypisany z powiadomień dla tej części" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:493 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:503 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:506 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:487 +#: templates/js/translated/part.js:531 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:513 templates/js/translated/part.js:1397 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1441 #: templates/js/translated/table_filters.js:452 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:523 templates/js/translated/part.js:1409 +#: templates/js/translated/part.js:567 templates/js/translated/part.js:1453 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:557 templates/js/translated/part.js:642 +#: templates/js/translated/part.js:601 templates/js/translated/part.js:686 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:561 templates/js/translated/part.js:646 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:690 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:617 msgid "Subscribed part" msgstr "Obserwowane części" -#: templates/js/translated/part.js:577 +#: templates/js/translated/part.js:621 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:705 +#: templates/js/translated/part.js:749 msgid "No variants found" msgstr "Nie znaleziono wariantów" -#: templates/js/translated/part.js:1095 +#: templates/js/translated/part.js:1139 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1119 +#: templates/js/translated/part.js:1163 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1184 templates/js/translated/part.js:1480 +#: templates/js/translated/part.js:1228 templates/js/translated/part.js:1524 msgid "No parts found" msgstr "Nie znaleziono części" -#: templates/js/translated/part.js:1223 +#: templates/js/translated/part.js:1267 msgid "Not available" msgstr "" -#: templates/js/translated/part.js:1374 +#: templates/js/translated/part.js:1418 msgid "No category" msgstr "Brak kategorii" -#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664 -#: templates/js/translated/stock.js:2238 +#: templates/js/translated/part.js:1548 templates/js/translated/part.js:1760 +#: templates/js/translated/stock.js:2248 msgid "Display as list" msgstr "Wyświetl jako listę" -#: templates/js/translated/part.js:1520 +#: templates/js/translated/part.js:1564 msgid "Display as grid" msgstr "Wyświetl jako siatkę" -#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2257 +#: templates/js/translated/part.js:1630 +msgid "Set the part category for the selected parts" +msgstr "" + +#: templates/js/translated/part.js:1635 +msgid "Set Part Category" +msgstr "Ustaw kategorię części" + +#: templates/js/translated/part.js:1640 +msgid "Select Part Category" +msgstr "" + +#: templates/js/translated/part.js:1653 +msgid "Category is required" +msgstr "" + +#: templates/js/translated/part.js:1779 templates/js/translated/stock.js:2267 msgid "Display as tree" msgstr "Wyświetl jako drzewo" -#: templates/js/translated/part.js:1747 +#: templates/js/translated/part.js:1843 msgid "Subscribed category" msgstr "Obserwowana kategoria" -#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2301 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2311 msgid "Path" msgstr "Ścieżka" -#: templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:1901 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1233 +#: templates/js/translated/part.js:1952 templates/js/translated/stock.js:1243 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1234 -#: templates/js/translated/stock.js:1493 +#: templates/js/translated/part.js:1953 templates/js/translated/stock.js:1244 +#: templates/js/translated/stock.js:1503 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1863 +#: templates/js/translated/part.js:1959 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1885 +#: templates/js/translated/part.js:1981 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:1995 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1924 +#: templates/js/translated/part.js:2020 #, python-brace-format msgid "No ${human_name} information found" msgstr "Nie znaleziono informacji o ${human_name}" -#: templates/js/translated/part.js:1981 +#: templates/js/translated/part.js:2077 #, python-brace-format msgid "Edit ${human_name}" msgstr "Edytuj ${human_name}" -#: templates/js/translated/part.js:1982 +#: templates/js/translated/part.js:2078 #, python-brace-format msgid "Delete ${human_name}" msgstr "Usuń ${human_name}" -#: templates/js/translated/part.js:2096 +#: templates/js/translated/part.js:2192 msgid "Current Stock" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2225 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2155 +#: templates/js/translated/part.js:2251 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2225 +#: templates/js/translated/part.js:2321 msgid "Single Price" msgstr "Cena jednostkowa" -#: templates/js/translated/part.js:2244 +#: templates/js/translated/part.js:2340 msgid "Single Price Difference" msgstr "" @@ -9383,360 +9418,360 @@ msgstr "" msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:72 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:101 +#: templates/js/translated/stock.js:100 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:109 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:139 +#: templates/js/translated/stock.js:138 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:153 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:194 +#: templates/js/translated/stock.js:193 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:233 +#: templates/js/translated/stock.js:232 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:239 +#: templates/js/translated/stock.js:238 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:303 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:324 +#: templates/js/translated/stock.js:323 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:344 +#: templates/js/translated/stock.js:343 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:394 +#: templates/js/translated/stock.js:393 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:407 +#: templates/js/translated/stock.js:406 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:431 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:453 +#: templates/js/translated/stock.js:452 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:472 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:481 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:605 +#: templates/js/translated/stock.js:604 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:606 +#: templates/js/translated/stock.js:605 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:683 +#: templates/js/translated/stock.js:682 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:684 +#: templates/js/translated/stock.js:683 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:686 +#: templates/js/translated/stock.js:685 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:687 +#: templates/js/translated/stock.js:686 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:772 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:774 +#: templates/js/translated/stock.js:773 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:869 +#: templates/js/translated/stock.js:868 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:869 msgid "Move" msgstr "Przenieś" -#: templates/js/translated/stock.js:876 +#: templates/js/translated/stock.js:875 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:876 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:881 +#: templates/js/translated/stock.js:880 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:882 +#: templates/js/translated/stock.js:881 msgid "Take" msgstr "Weź" -#: templates/js/translated/stock.js:886 +#: templates/js/translated/stock.js:885 msgid "Add Stock" msgstr "Dodaj stan" -#: templates/js/translated/stock.js:887 users/models.py:215 +#: templates/js/translated/stock.js:886 users/models.py:215 msgid "Add" msgstr "Dodaj" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Delete Stock" msgstr "Usuń stan magazynowy" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1024 +#: templates/js/translated/stock.js:1023 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1047 +#: templates/js/translated/stock.js:1046 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1172 +#: templates/js/translated/stock.js:1182 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1174 +#: templates/js/translated/stock.js:1184 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1179 +#: templates/js/translated/stock.js:1189 msgid "NO RESULT" msgstr "BRAK WYNIKÓW" -#: templates/js/translated/stock.js:1226 +#: templates/js/translated/stock.js:1236 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1229 +#: templates/js/translated/stock.js:1239 msgid "Add test result" msgstr "Dodaj wynik testu" -#: templates/js/translated/stock.js:1255 +#: templates/js/translated/stock.js:1265 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1321 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1476 +#: templates/js/translated/stock.js:1486 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1498 +#: templates/js/translated/stock.js:1508 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1527 +#: templates/js/translated/stock.js:1537 msgid "In production" msgstr "W produkcji" -#: templates/js/translated/stock.js:1531 +#: templates/js/translated/stock.js:1541 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1539 +#: templates/js/translated/stock.js:1549 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1545 +#: templates/js/translated/stock.js:1555 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1712 +#: templates/js/translated/stock.js:1722 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1727 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1720 +#: templates/js/translated/stock.js:1730 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1723 +#: templates/js/translated/stock.js:1733 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1725 +#: templates/js/translated/stock.js:1735 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1727 +#: templates/js/translated/stock.js:1737 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1730 +#: templates/js/translated/stock.js:1740 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1734 +#: templates/js/translated/stock.js:1744 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1746 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1743 +#: templates/js/translated/stock.js:1753 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1755 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:1757 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1751 +#: templates/js/translated/stock.js:1761 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1802 +#: templates/js/translated/stock.js:1812 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1894 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1932 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2095 +#: templates/js/translated/stock.js:2105 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2109 +#: templates/js/translated/stock.js:2119 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2120 msgid "Status code must be selected" msgstr "Kod statusu musi być wybrany" -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2375 msgid "Details" msgstr "Szczegóły" -#: templates/js/translated/stock.js:2381 +#: templates/js/translated/stock.js:2391 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2403 +#: templates/js/translated/stock.js:2413 msgid "Location no longer exists" msgstr "Lokalizacja już nie istnieje" -#: templates/js/translated/stock.js:2422 +#: templates/js/translated/stock.js:2432 msgid "Purchase order no longer exists" msgstr "Zamówienie zakupu już nie istnieje" -#: templates/js/translated/stock.js:2441 +#: templates/js/translated/stock.js:2451 msgid "Customer no longer exists" msgstr "Klient już nie istnieje" -#: templates/js/translated/stock.js:2459 +#: templates/js/translated/stock.js:2469 msgid "Stock item no longer exists" msgstr "Element magazynowy już nie istnieje" -#: templates/js/translated/stock.js:2482 +#: templates/js/translated/stock.js:2492 msgid "Added" msgstr "Dodano" -#: templates/js/translated/stock.js:2490 +#: templates/js/translated/stock.js:2500 msgid "Removed" msgstr "Usunięto" -#: templates/js/translated/stock.js:2566 +#: templates/js/translated/stock.js:2576 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2617 templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2663 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2666 +#: templates/js/translated/stock.js:2676 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2697 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2688 +#: templates/js/translated/stock.js:2698 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2690 +#: templates/js/translated/stock.js:2700 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/stock.js:2701 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2702 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2693 +#: templates/js/translated/stock.js:2703 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2716 msgid "Select part to install" msgstr "" diff --git a/InvenTree/locale/pt/LC_MESSAGES/django.po b/InvenTree/locale/pt/LC_MESSAGES/django.po index cbd00e0665..9e6a479213 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-06-05 14:26+0000\n" -"PO-Revision-Date: 2022-06-05 14:34\n" +"POT-Creation-Date: 2022-06-06 22:59+0000\n" +"PO-Revision-Date: 2022-06-07 14:34\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:46 +#: InvenTree/api.py:49 msgid "API endpoint not found" msgstr "API endpoint não encontrado" @@ -29,275 +29,273 @@ msgstr "" msgid "Enter date" msgstr "Insira uma Data" -#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:630 -msgid "Confirm" -msgstr "Confirmar" - -#: InvenTree/forms.py:134 +#: InvenTree/forms.py:117 msgid "Confirm delete" msgstr "Confirmar exclusão" -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:118 msgid "Confirm item deletion" msgstr "Confirmar exclusão do item" -#: InvenTree/forms.py:167 +#: InvenTree/forms.py:150 msgid "Enter password" msgstr "Digite a senha" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:151 msgid "Enter new password" msgstr "Insira uma nova senha" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:158 msgid "Confirm password" msgstr "Confirmar senha" -#: InvenTree/forms.py:176 +#: InvenTree/forms.py:159 msgid "Confirm new password" msgstr "Confirmar nova senha" -#: InvenTree/forms.py:213 -msgid "Select Category" -msgstr "Selecionar Categoria" - -#: InvenTree/forms.py:234 +#: InvenTree/forms.py:184 msgid "Email (again)" msgstr "E-mail (novamente)" -#: InvenTree/forms.py:238 +#: InvenTree/forms.py:188 msgid "Email address confirmation" msgstr "Confirmação do endereço de email" -#: InvenTree/forms.py:259 +#: InvenTree/forms.py:209 msgid "You must type the same email each time." msgstr "" -#: InvenTree/helpers.py:402 +#: InvenTree/helpers.py:404 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 +#: InvenTree/helpers.py:411 order/models.py:370 order/models.py:522 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:412 +#: InvenTree/helpers.py:414 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:444 +#: InvenTree/helpers.py:446 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:447 +#: InvenTree/helpers.py:449 #, python-brace-format msgid "Invalid group: {g}" msgstr "" -#: InvenTree/helpers.py:475 +#: InvenTree/helpers.py:477 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:483 +#: InvenTree/helpers.py:485 #, python-brace-format msgid "Invalid/no group {group}" msgstr "" -#: InvenTree/helpers.py:489 +#: InvenTree/helpers.py:491 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:493 +#: InvenTree/helpers.py:495 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:174 +#: InvenTree/models.py:178 msgid "Missing file" msgstr "" -#: InvenTree/models.py:175 +#: InvenTree/models.py:179 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:187 stock/models.py:2087 -#: templates/js/translated/attachment.js:101 -#: templates/js/translated/attachment.js:198 +#: InvenTree/models.py:191 stock/models.py:2091 +#: templates/js/translated/attachment.js:103 +#: templates/js/translated/attachment.js:194 msgid "Attachment" msgstr "" -#: InvenTree/models.py:188 +#: InvenTree/models.py:192 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 -#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: InvenTree/models.py:198 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:136 order/models.py:1251 #: 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 -#: templates/js/translated/part.js:1441 +#: templates/js/translated/company.js:640 +#: templates/js/translated/company.js:931 templates/js/translated/order.js:2676 +#: templates/js/translated/part.js:1485 msgid "Link" msgstr "" -#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: InvenTree/models.py:199 build/models.py:320 part/models.py:796 #: stock/models.py:642 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 -#: templates/js/translated/attachment.js:242 +#: InvenTree/models.py:202 templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:238 msgid "Comment" msgstr "" -#: InvenTree/models.py:198 +#: InvenTree/models.py:202 msgid "File comment" msgstr "" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1506 +#: common/models.py:1507 common/models.py:1735 common/models.py:1736 +#: common/models.py:1998 common/models.py:1999 part/models.py:2141 +#: part/models.py:2161 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:2523 msgid "User" msgstr "" -#: InvenTree/models.py:208 +#: InvenTree/models.py:212 msgid "upload date" msgstr "" -#: InvenTree/models.py:230 +#: InvenTree/models.py:234 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:253 +#: InvenTree/models.py:257 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:263 +#: InvenTree/models.py:267 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:266 +#: InvenTree/models.py:270 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:273 +#: InvenTree/models.py:277 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:280 +#: InvenTree/models.py:284 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:314 +#: InvenTree/models.py:318 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 #: company/models.py:354 label/models.py:101 part/models.py:739 -#: part/models.py:2331 plugin/models.py:93 report/models.py:151 +#: part/models.py:2319 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 #: templates/InvenTree/settings/plugin.html:132 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:346 -#: 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:2283 +#: templates/js/translated/company.js:530 +#: templates/js/translated/company.js:742 templates/js/translated/part.js:659 +#: templates/js/translated/part.js:811 templates/js/translated/part.js:1832 +#: templates/js/translated/stock.js:2293 msgid "Name" msgstr "" -#: InvenTree/models.py:340 build/models.py:197 +#: InvenTree/models.py:344 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: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:164 +#: order/models.py:134 part/models.py:762 part/templates/part/category.html:74 +#: part/templates/part/part_base.html:167 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 -#: 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/bom.js:553 templates/js/translated/bom.js:845 +#: templates/js/translated/build.js:2476 templates/js/translated/company.js:395 +#: templates/js/translated/company.js:651 +#: templates/js/translated/company.js:942 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:1676 -#: templates/js/translated/stock.js:2295 templates/js/translated/stock.js:2350 +#: templates/js/translated/part.js:718 templates/js/translated/part.js:1126 +#: templates/js/translated/part.js:1399 templates/js/translated/part.js:1851 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:1686 +#: templates/js/translated/stock.js:2305 templates/js/translated/stock.js:2360 msgid "Description" msgstr "" -#: InvenTree/models.py:341 +#: InvenTree/models.py:345 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:349 +#: InvenTree/models.py:353 msgid "parent" msgstr "" -#: InvenTree/serializers.py:52 part/models.py:2652 +#: InvenTree/models.py:466 +msgid "Server Error" +msgstr "" + +#: InvenTree/models.py:467 +msgid "An error has been logged by the server." +msgstr "" + +#: InvenTree/serializers.py:52 part/models.py:2640 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:271 +#: InvenTree/serializers.py:263 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:306 +#: InvenTree/serializers.py:298 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:320 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:321 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:342 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:348 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:377 +#: InvenTree/serializers.py:369 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:372 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:495 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:506 +#: InvenTree/serializers.py:498 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:583 +#: InvenTree/serializers.py:575 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:592 +#: InvenTree/serializers.py:584 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" @@ -440,7 +438,7 @@ msgstr "" msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:141 order/models.py:1114 +#: InvenTree/status_codes.py:141 order/models.py:1130 #: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "" @@ -525,7 +523,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2020 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2030 msgid "Merged stock items" msgstr "" @@ -597,27 +595,27 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:522 +#: InvenTree/views.py:521 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:571 +#: InvenTree/views.py:570 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:585 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:597 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "" -#: InvenTree/views.py:618 +#: InvenTree/views.py:617 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:842 templates/navbar.html:152 +#: InvenTree/views.py:807 templates/navbar.html:152 msgid "System Information" msgstr "" @@ -628,6 +626,7 @@ msgstr "" #: 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/email/overdue_build_order.html:15 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "" @@ -646,12 +645,12 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:189 order/models.py:288 order/models.py:638 -#: order/models.py:916 part/models.py:2570 +#: build/models.py:189 order/models.py:293 order/models.py:654 +#: order/models.py:932 part/models.py:2558 #: 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/bom.js:690 templates/js/translated/bom.js:852 #: 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:3959 @@ -673,13 +672,12 @@ msgstr "" #: 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:2460 part/models.py:2545 part/models.py:2821 -#: part/serializers.py:793 part/templates/part/part_app_base.html:8 +#: order/models.py:1028 order/models.py:1119 part/models.py:336 +#: part/models.py:2087 part/models.py:2102 part/models.py:2121 +#: part/models.py:2139 part/models.py:2238 part/models.py:2358 +#: part/models.py:2448 part/models.py:2533 part/models.py:2809 +#: part/serializers.py:795 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 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 @@ -687,22 +685,23 @@ msgstr "" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 +#: templates/email/overdue_build_order.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:805 +#: templates/js/translated/bom.js:689 templates/js/translated/bom.js:799 #: 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/company.js:253 +#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:592 +#: templates/js/translated/company.js:851 templates/js/translated/order.js:100 #: templates/js/translated/order.js:883 templates/js/translated/order.js:1315 #: 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:1633 templates/js/translated/stock.js:2376 -#: templates/js/translated/stock.js:2571 templates/js/translated/stock.js:2705 +#: templates/js/translated/part.js:1111 templates/js/translated/part.js:1181 +#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:695 templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2386 +#: templates/js/translated/stock.js:2581 templates/js/translated/stock.js:2715 msgid "Part" msgstr "" @@ -768,12 +767,12 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:282 order/models.py:137 part/models.py:932 +#: build/models.py:282 order/models.py:138 part/models.py:932 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "" -#: build/models.py:286 order/models.py:660 +#: build/models.py:286 order/models.py:676 msgid "Target completion date" msgstr "" @@ -781,7 +780,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:290 order/models.py:331 +#: build/models.py:290 order/models.py:336 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "" @@ -799,7 +798,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:313 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:151 +#: build/templates/build/detail.html:115 order/models.py:152 #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 @@ -822,20 +821,20 @@ msgstr "" #: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 #: company/models.py:519 company/templates/company/sidebar.html:25 -#: order/models.py:155 order/models.py:918 order/models.py:1213 +#: order/models.py:156 order/models.py:934 order/models.py:1229 #: order/templates/order/po_sidebar.html:11 #: 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:713 stock/models.py:1985 stock/models.py:2093 +#: stock/models.py:713 stock/models.py:1989 stock/models.py:2097 #: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:486 -#: stock/serializers.py:772 stock/serializers.py:871 stock/serializers.py:1003 +#: stock/serializers.py:759 stock/serializers.py:858 stock/serializers.py:990 #: 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/barcode.js:100 templates/js/translated/bom.js:1038 +#: templates/js/translated/company.js:947 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 -#: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 +#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1926 msgid "Notes" msgstr "" @@ -855,44 +854,44 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1108 +#: build/models.py:1111 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1117 +#: build/models.py:1120 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1127 +#: build/models.py:1130 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1133 order/models.py:1372 +#: build/models.py:1136 order/models.py:1388 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1139 +#: build/models.py:1142 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1196 +#: build/models.py:1199 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1265 stock/templates/stock/item_base.html:177 +#: build/models.py:1268 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:1266 +#: build/models.py:1269 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 -#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:703 -#: stock/serializers.py:829 stock/templates/stock/item_base.html:10 +#: build/models.py:1285 build/serializers.py:603 order/serializers.py:996 +#: order/serializers.py:1017 stock/serializers.py:382 stock/serializers.py:690 +#: stock/serializers.py:816 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 @@ -900,22 +899,22 @@ msgstr "" #: 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:2449 +#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696 +#: templates/js/translated/stock.js:2459 msgid "Stock Item" msgstr "" -#: build/models.py:1283 +#: build/models.py:1286 msgid "Source stock item" msgstr "" -#: build/models.py:1295 build/serializers.py:183 +#: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1536 +#: build/templates/build/detail.html:34 common/models.py:1543 #: 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:68 -#: part/forms.py:83 part/forms.py:98 part/models.py:2561 +#: order/models.py:925 order/models.py:1428 order/serializers.py:1136 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 +#: part/forms.py:74 part/forms.py:89 part/models.py:2549 #: 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 @@ -926,8 +925,8 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:139 #: 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 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:691 +#: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 #: templates/js/translated/build.js:574 templates/js/translated/build.js:765 #: templates/js/translated/build.js:1175 templates/js/translated/build.js:1673 #: templates/js/translated/build.js:2086 @@ -937,23 +936,23 @@ msgstr "" #: 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: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 -#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727 -#: templates/js/translated/stock.js:2498 templates/js/translated/stock.js:2583 +#: templates/js/translated/part.js:1011 templates/js/translated/part.js:2065 +#: templates/js/translated/part.js:2296 templates/js/translated/part.js:2330 +#: templates/js/translated/part.js:2408 templates/js/translated/stock.js:402 +#: templates/js/translated/stock.js:556 templates/js/translated/stock.js:726 +#: templates/js/translated/stock.js:2508 templates/js/translated/stock.js:2593 msgid "Quantity" msgstr "" -#: build/models.py:1296 +#: build/models.py:1299 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1304 +#: build/models.py:1307 msgid "Install into" msgstr "" -#: build/models.py:1305 +#: build/models.py:1308 msgid "Destination stock item" msgstr "" @@ -982,9 +981,9 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: 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:1239 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:368 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:514 +#: part/serializers.py:958 stock/models.py:470 stock/models.py:1239 #: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" @@ -997,9 +996,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 #: stock/serializers.py:297 templates/js/translated/order.js:1186 -#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:237 templates/js/translated/stock.js:403 msgid "Serial Numbers" msgstr "" @@ -1015,7 +1014,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:552 +#: build/serializers.py:268 stock/api.py:553 msgid "The following serial numbers already exist" msgstr "" @@ -1025,16 +1024,16 @@ msgstr "" #: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 #: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:481 -#: stock/serializers.py:864 stock/serializers.py:1097 +#: stock/serializers.py:851 stock/serializers.py:1084 #: 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 #: 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:1787 templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532 +#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904 +#: templates/js/translated/stock.js:1797 templates/js/translated/stock.js:2400 msgid "Location" msgstr "" @@ -1043,12 +1042,12 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:363 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:654 +#: build/templates/build/detail.html:62 order/models.py:670 #: 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 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1772 +#: templates/js/translated/stock.js:2477 templates/js/translated/stock.js:2609 msgid "Status" msgstr "" @@ -1108,8 +1107,8 @@ msgstr "" msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:535 build/serializers.py:580 part/models.py:2679 -#: part/models.py:2813 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2667 +#: part/models.py:2801 msgid "BOM Item" msgstr "" @@ -1125,11 +1124,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:716 +#: build/serializers.py:609 stock/serializers.py:703 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:667 order/serializers.py:1052 +#: build/serializers.py:667 order/serializers.py:1054 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1146,7 +1145,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:708 order/serializers.py:1298 +#: build/serializers.py:708 order/serializers.py:1300 msgid "Allocation items must be provided" msgstr "" @@ -1178,10 +1177,19 @@ msgstr "" msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:96 +#: build/tasks.py:100 msgid "Stock required for build order" msgstr "" +#: build/tasks.py:118 +msgid "Overdue Build Order" +msgstr "" + +#: build/tasks.py:123 +#, python-brace-format +msgid "Build order {bo} is now overdue" +msgstr "" + #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 #: order/templates/order/sales_order_base.html:38 @@ -1244,13 +1252,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:922 +#: build/templates/build/detail.html:131 order/models.py:938 #: 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: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 +#: templates/js/translated/order.js:3517 templates/js/translated/part.js:1015 msgid "Target Date" msgstr "" @@ -1277,13 +1285,14 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1100 -#: order/models.py:1185 order/models.py:1320 +#: build/templates/build/detail.html:94 order/models.py:1116 +#: order/models.py:1201 order/models.py:1336 #: 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/email/overdue_sales_order.html:15 #: templates/js/translated/order.js:2436 msgid "Sales Order" msgstr "" @@ -1319,7 +1328,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1034 +#: build/templates/build/detail.html:49 order/models.py:1050 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "" @@ -1336,8 +1345,8 @@ msgstr "" #: stock/templates/stock/item_base.html:170 #: templates/js/translated/build.js:1179 #: templates/js/translated/model_renderers.js:112 -#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1776 -#: templates/js/translated/stock.js:2606 +#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:2616 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1716,7 +1725,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:820 part/models.py:2372 report/models.py:157 +#: common/models.py:820 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" @@ -1726,7 +1735,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" @@ -1880,7 +1889,7 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:968 -msgid "Test Reports" +msgid "Enable Test Reports" msgstr "" #: common/models.py:969 @@ -1888,568 +1897,576 @@ msgid "Enable generation of test reports" msgstr "" #: common/models.py:975 -msgid "Batch Code Template" +msgid "Attach Test Reports" msgstr "" #: common/models.py:976 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:981 -msgid "Stock Expiry" +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" #: common/models.py:982 -msgid "Enable stock expiry functionality" +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:983 +msgid "Template for generating default batch codes for stock items" msgstr "" #: common/models.py:988 -msgid "Sell Expired Stock" +msgid "Stock Expiry" msgstr "" #: common/models.py:989 -msgid "Allow sale of expired stock" +msgid "Enable stock expiry functionality" msgstr "" #: common/models.py:995 -msgid "Stock Stale Time" +msgid "Sell Expired Stock" msgstr "" #: common/models.py:996 -msgid "Number of days stock items are considered stale before expiring" +msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:998 -msgid "days" +#: common/models.py:1002 +msgid "Stock Stale Time" msgstr "" #: common/models.py:1003 -msgid "Build Expired Stock" +msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1004 -msgid "Allow building with expired stock" +#: common/models.py:1005 +msgid "days" msgstr "" #: common/models.py:1010 -msgid "Stock Ownership Control" +msgid "Build Expired Stock" msgstr "" #: common/models.py:1011 -msgid "Enable ownership control over stock locations and items" +msgid "Allow building with expired stock" msgstr "" #: common/models.py:1017 -msgid "Build Order Reference Prefix" +msgid "Stock Ownership Control" msgstr "" #: common/models.py:1018 -msgid "Prefix value for build order reference" -msgstr "" - -#: common/models.py:1023 -msgid "Build Order Reference Regex" +msgid "Enable ownership control over stock locations and items" msgstr "" #: common/models.py:1024 +msgid "Build Order Reference Prefix" +msgstr "" + +#: common/models.py:1025 +msgid "Prefix value for build order reference" +msgstr "" + +#: common/models.py:1030 +msgid "Build Order Reference Regex" +msgstr "" + +#: common/models.py:1031 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1029 +#: common/models.py:1036 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1041 +#: common/models.py:1048 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1042 +#: common/models.py:1049 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1048 +#: common/models.py:1055 msgid "Enable password forgot" msgstr "" -#: common/models.py:1049 +#: common/models.py:1056 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1055 +#: common/models.py:1062 msgid "Enable registration" msgstr "" -#: common/models.py:1056 +#: common/models.py:1063 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1069 msgid "Enable SSO" msgstr "" -#: common/models.py:1063 +#: common/models.py:1070 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1069 +#: common/models.py:1076 msgid "Email required" msgstr "" -#: common/models.py:1070 +#: common/models.py:1077 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1076 +#: common/models.py:1083 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1077 +#: common/models.py:1084 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1083 +#: common/models.py:1090 msgid "Mail twice" msgstr "" -#: common/models.py:1084 +#: common/models.py:1091 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1090 +#: common/models.py:1097 msgid "Password twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1098 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1097 +#: common/models.py:1104 msgid "Group on signup" msgstr "" -#: common/models.py:1098 +#: common/models.py:1105 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1104 +#: common/models.py:1111 msgid "Enforce MFA" msgstr "" -#: common/models.py:1105 +#: common/models.py:1112 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1111 +#: common/models.py:1118 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1112 +#: common/models.py:1119 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1120 +#: common/models.py:1127 msgid "Enable URL integration" msgstr "" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1136 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1136 +#: common/models.py:1143 msgid "Enable app integration" msgstr "" -#: common/models.py:1137 +#: common/models.py:1144 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1144 +#: common/models.py:1151 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1145 +#: common/models.py:1152 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1152 +#: common/models.py:1159 msgid "Enable event integration" msgstr "" -#: common/models.py:1153 +#: common/models.py:1160 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1170 common/models.py:1492 +#: common/models.py:1177 common/models.py:1499 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1192 +#: common/models.py:1199 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1193 +#: common/models.py:1200 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1199 +#: common/models.py:1206 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1200 +#: common/models.py:1207 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1213 msgid "Show latest parts" msgstr "" -#: common/models.py:1207 +#: common/models.py:1214 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1213 +#: common/models.py:1220 msgid "Recent Part Count" msgstr "" -#: common/models.py:1214 +#: common/models.py:1221 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1220 +#: common/models.py:1227 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1221 +#: common/models.py:1228 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1227 +#: common/models.py:1234 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1228 +#: common/models.py:1235 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1235 +#: common/models.py:1242 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Show low stock" msgstr "" -#: common/models.py:1242 +#: common/models.py:1249 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Show depleted stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1256 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1262 msgid "Show needed stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1263 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1269 msgid "Show expired stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1270 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1276 msgid "Show stale stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Show pending builds" msgstr "" -#: common/models.py:1277 +#: common/models.py:1284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Show overdue builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1291 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1291 +#: common/models.py:1298 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Show overdue POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1305 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1312 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1318 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1319 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1317 +#: common/models.py:1324 msgid "Enable label printing" msgstr "" -#: common/models.py:1318 +#: common/models.py:1325 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1324 +#: common/models.py:1331 msgid "Inline label display" msgstr "" -#: common/models.py:1325 +#: common/models.py:1332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1331 +#: common/models.py:1338 msgid "Inline report display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1345 msgid "Search Parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1345 +#: common/models.py:1352 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1359 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1366 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1367 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1373 msgid "Search Categories" msgstr "" -#: common/models.py:1367 +#: common/models.py:1374 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1380 msgid "Search Stock" msgstr "" -#: common/models.py:1374 +#: common/models.py:1381 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1387 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1381 +#: common/models.py:1388 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1394 msgid "Search Locations" msgstr "" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1401 msgid "Search Companies" msgstr "" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1408 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1415 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1422 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1429 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Search Preview Results" msgstr "" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1457 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1457 +#: common/models.py:1464 msgid "Date Format" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1472 part/templates/part/detail.html:39 +#: common/models.py:1479 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1473 +#: common/models.py:1480 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1537 company/forms.py:37 +#: common/models.py:1544 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: 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 +#: common/models.py:1551 company/serializers.py:290 +#: company/templates/company/supplier_part.html:263 order/models.py:965 +#: templates/js/translated/part.js:1042 templates/js/translated/part.js:2070 msgid "Price" msgstr "" -#: common/models.py:1545 +#: common/models.py:1552 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1705 common/models.py:1883 +#: common/models.py:1712 common/models.py:1890 msgid "Endpoint" msgstr "" -#: common/models.py:1706 +#: common/models.py:1713 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1715 +#: common/models.py:1722 msgid "Name for this webhook" msgstr "" -#: common/models.py:1720 part/models.py:911 plugin/models.py:99 +#: common/models.py:1727 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 @@ -2457,79 +2474,89 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1721 +#: common/models.py:1728 msgid "Is this webhook active" msgstr "" -#: common/models.py:1735 +#: common/models.py:1742 msgid "Token" msgstr "" -#: common/models.py:1736 +#: common/models.py:1743 msgid "Token for access" msgstr "" -#: common/models.py:1743 +#: common/models.py:1750 msgid "Secret" msgstr "" -#: common/models.py:1744 +#: common/models.py:1751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Message ID" msgstr "" -#: common/models.py:1851 +#: common/models.py:1858 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1859 +#: common/models.py:1866 msgid "Host" msgstr "" -#: common/models.py:1860 +#: common/models.py:1867 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1867 +#: common/models.py:1874 msgid "Header" msgstr "" -#: common/models.py:1868 +#: common/models.py:1875 msgid "Header of this message" msgstr "" -#: common/models.py:1874 +#: common/models.py:1881 msgid "Body" msgstr "" -#: common/models.py:1875 +#: common/models.py:1882 msgid "Body of this message" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1889 +#: common/models.py:1896 msgid "Worked on" msgstr "" -#: common/models.py:1890 +#: common/models.py:1897 msgid "Was the work on this message finished?" msgstr "" +#: common/notifications.py:292 +#, python-brace-format +msgid "New {verbose_name}" +msgstr "" + +#: common/notifications.py:294 +#, python-brace-format +msgid "A new {verbose_name} has been created and ,assigned to you" +msgstr "" + #: common/views.py:87 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:191 +#: order/views.py:102 part/views.py:116 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:192 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:117 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -2545,19 +2572,19 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:511 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:16 part/forms.py:21 +#: company/forms.py:16 part/forms.py:18 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:17 part/forms.py:22 +#: company/forms.py:17 part/forms.py:19 msgid "Image URL" msgstr "" @@ -2571,7 +2598,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:405 +#: templates/js/translated/company.js:399 msgid "Website" msgstr "" @@ -2644,9 +2671,9 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: 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 +#: company/models.py:144 company/serializers.py:296 +#: company/templates/company/company_base.html:106 part/serializers.py:139 +#: part/serializers.py:170 stock/serializers.py:162 msgid "Currency" msgstr "" @@ -2667,10 +2694,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: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/company.js:383 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:617 +#: templates/js/translated/company.js:902 templates/js/translated/part.js:235 #: templates/js/translated/table_filters.js:411 msgid "Manufacturer" msgstr "" @@ -2681,11 +2708,11 @@ msgstr "" #: 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 -#: 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 +#: templates/js/translated/company.js:256 +#: templates/js/translated/company.js:483 +#: templates/js/translated/company.js:633 +#: templates/js/translated/company.js:920 templates/js/translated/order.js:1907 +#: templates/js/translated/part.js:246 templates/js/translated/part.js:1000 msgid "MPN" msgstr "" @@ -2714,9 +2741,9 @@ msgstr "" #: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2080 templates/js/translated/company.js:540 -#: templates/js/translated/company.js:763 templates/js/translated/part.js:776 -#: templates/js/translated/stock.js:1294 +#: stock/models.py:2084 templates/js/translated/company.js:531 +#: templates/js/translated/company.js:748 templates/js/translated/part.js:820 +#: templates/js/translated/stock.js:1304 msgid "Value" msgstr "" @@ -2724,10 +2751,10 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:368 part/models.py:878 part/models.py:2339 +#: company/models.py:368 part/models.py:878 part/models.py:2327 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:351 -#: templates/js/translated/company.js:769 templates/js/translated/part.js:782 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:826 msgid "Units" msgstr "" @@ -2740,13 +2767,14 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:487 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:303 +#: company/templates/company/supplier_part.html:87 order/models.py:308 #: 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 -#: 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/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:255 +#: templates/js/translated/company.js:387 +#: templates/js/translated/company.js:876 templates/js/translated/order.js:1643 +#: templates/js/translated/part.js:216 templates/js/translated/part.js:968 #: templates/js/translated/table_filters.js:415 msgid "Supplier" msgstr "" @@ -2756,9 +2784,9 @@ msgid "Select supplier" msgstr "" #: 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 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:254 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 -#: templates/js/translated/part.js:942 +#: templates/js/translated/part.js:986 msgid "SKU" msgstr "" @@ -2779,23 +2807,23 @@ msgid "Supplier part description" msgstr "" #: company/models.py:518 company/templates/company/supplier_part.html:125 -#: part/models.py:2573 part/templates/part/upload_bom.html:59 +#: part/models.py:2561 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:387 msgid "Note" msgstr "" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "base cost" msgstr "" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: 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 +#: templates/js/translated/company.js:952 templates/js/translated/stock.js:1922 msgid "Packaging" msgstr "" @@ -2803,7 +2831,7 @@ msgstr "" msgid "Part packaging" msgstr "" -#: company/models.py:526 part/models.py:1690 +#: company/models.py:526 part/models.py:1685 msgid "multiple" msgstr "" @@ -2825,7 +2853,7 @@ msgstr "" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:177 templates/js/translated/company.js:378 +#: templates/InvenTree/search.html:177 templates/js/translated/company.js:372 msgid "Company" msgstr "" @@ -2843,7 +2871,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:321 +#: templates/js/translated/company.js:315 msgid "Edit Company" msgstr "" @@ -2866,12 +2894,13 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:649 +#: company/templates/company/company_base.html:86 order/models.py:665 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:758 +#: stock/models.py:628 stock/serializers.py:745 #: 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 +#: templates/email/overdue_sales_order.html:16 +#: templates/js/translated/company.js:379 templates/js/translated/order.js:2458 +#: templates/js/translated/stock.js:2441 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "" @@ -2999,7 +3028,7 @@ msgid "Supplier List" msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:45 -#: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 +#: part/templates/part/prices.html:172 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -3012,12 +3041,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:680 +#: templates/js/translated/company.js:665 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:681 +#: templates/js/translated/company.js:666 msgid "Delete manufacturer part" msgstr "" @@ -3032,7 +3061,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:39 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 +#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" msgstr "" @@ -3092,18 +3121,18 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: 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 +#: templates/js/translated/company.js:892 templates/js/translated/order.js:884 +#: templates/js/translated/stock.js:1879 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:38 -#: templates/js/translated/company.js:980 +#: templates/js/translated/company.js:965 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:42 -#: templates/js/translated/company.js:981 +#: templates/js/translated/company.js:966 msgid "Delete supplier part" msgstr "" @@ -3123,7 +3152,7 @@ msgstr "" #: company/templates/company/supplier_part.html:148 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 -#: templates/js/translated/stock.js:380 +#: templates/js/translated/stock.js:379 msgid "New Stock Item" msgstr "" @@ -3144,7 +3173,7 @@ msgstr "" #: company/templates/company/supplier_part.html:191 #: company/templates/company/supplier_part.html:305 -#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046 +#: part/templates/part/prices.html:276 templates/js/translated/part.js:2142 msgid "Add Price Break" msgstr "" @@ -3153,12 +3182,12 @@ msgid "No price break information found" msgstr "" #: company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2152 msgid "Delete Price Break" msgstr "" #: company/templates/company/supplier_part.html:245 -#: templates/js/translated/part.js:2070 +#: templates/js/translated/part.js:2166 msgid "Edit Price Break" msgstr "" @@ -3180,9 +3209,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: 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:1687 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:722 +#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1431 +#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3209,7 +3238,7 @@ msgstr "" #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 -#: templates/js/translated/stock.js:2307 users/models.py:39 +#: templates/js/translated/stock.js:2317 users/models.py:39 msgid "Stock Items" msgstr "" @@ -3238,20 +3267,20 @@ msgstr "" msgid "New Company" msgstr "" -#: company/views.py:112 part/views.py:576 +#: company/views.py:112 part/views.py:501 msgid "Download Image" msgstr "" -#: company/views.py:139 part/views.py:606 +#: company/views.py:139 part/views.py:531 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:146 part/views.py:613 +#: company/views.py:146 part/views.py:538 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:155 part/views.py:622 +#: company/views.py:155 part/views.py:547 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3320,313 +3349,314 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:133 +#: order/models.py:134 msgid "Order description" msgstr "" -#: order/models.py:135 order/models.py:1236 +#: order/models.py:136 order/models.py:1252 msgid "Link to external page" msgstr "" -#: order/models.py:143 +#: order/models.py:144 msgid "Created By" msgstr "" -#: order/models.py:150 +#: order/models.py:151 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:155 +#: order/models.py:156 msgid "Order notes" msgstr "" -#: order/models.py:289 order/models.py:639 +#: order/models.py:294 order/models.py:655 msgid "Order reference" msgstr "" -#: order/models.py:294 order/models.py:654 +#: order/models.py:299 order/models.py:670 msgid "Purchase order status" msgstr "" -#: order/models.py:304 +#: order/models.py:309 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:307 order/templates/order/order_base.html:124 +#: order/models.py:312 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:307 +#: order/models.py:312 msgid "Supplier order reference code" msgstr "" -#: order/models.py:314 +#: order/models.py:319 msgid "received by" msgstr "" -#: order/models.py:319 +#: order/models.py:324 msgid "Issue Date" msgstr "" -#: order/models.py:320 +#: order/models.py:325 msgid "Date order was issued" msgstr "" -#: order/models.py:325 +#: order/models.py:330 msgid "Target Delivery Date" msgstr "" -#: order/models.py:326 +#: order/models.py:331 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:332 +#: order/models.py:337 msgid "Date order was completed" msgstr "" -#: order/models.py:368 +#: order/models.py:373 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:512 +#: order/models.py:517 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:650 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer Reference " msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer order reference code" msgstr "" -#: order/models.py:661 +#: order/models.py:677 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:664 order/models.py:1190 +#: order/models.py:680 order/models.py:1206 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:671 +#: order/models.py:687 msgid "shipped by" msgstr "" -#: order/models.py:726 +#: order/models.py:742 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:730 +#: order/models.py:746 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:733 +#: order/models.py:749 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:736 +#: order/models.py:752 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:910 +#: order/models.py:926 msgid "Item quantity" msgstr "" -#: order/models.py:916 +#: order/models.py:932 msgid "Line item reference" msgstr "" -#: order/models.py:918 +#: order/models.py:934 msgid "Line item notes" msgstr "" -#: order/models.py:923 +#: order/models.py:939 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:941 +#: order/models.py:957 msgid "Context" msgstr "" -#: order/models.py:942 +#: order/models.py:958 msgid "Additional context for this line" msgstr "" -#: order/models.py:950 +#: order/models.py:966 msgid "Unit price" msgstr "" -#: order/models.py:980 +#: order/models.py:996 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:988 +#: order/models.py:1004 msgid "deleted" msgstr "" -#: order/models.py:994 order/models.py:1074 order/models.py:1099 -#: order/models.py:1184 order/models.py:1320 +#: order/models.py:1010 order/models.py:1090 order/models.py:1115 +#: order/models.py:1200 order/models.py:1336 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:995 order/models.py:1074 +#: order/models.py:1011 order/models.py:1090 #: 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/email/overdue_purchase_order.html:15 #: 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 +#: templates/js/translated/part.js:943 templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:2422 msgid "Purchase Order" msgstr "" -#: order/models.py:1013 +#: order/models.py:1029 msgid "Supplier part" msgstr "" -#: order/models.py:1020 order/templates/order/order_base.html:169 +#: order/models.py:1036 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/part.js:1037 templates/js/translated/part.js:1064 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1021 +#: order/models.py:1037 msgid "Number of items received" msgstr "" -#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: order/models.py:1044 part/templates/part/prices.html:181 stock/models.py:722 #: stock/serializers.py:153 stock/templates/stock/item_base.html:191 -#: templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:1910 msgid "Purchase Price" msgstr "" -#: order/models.py:1029 +#: order/models.py:1045 msgid "Unit purchase price" msgstr "" -#: order/models.py:1037 +#: order/models.py:1053 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1109 part/templates/part/part_pricing.html:112 -#: part/templates/part/prices.html:119 part/templates/part/prices.html:288 +#: order/models.py:1125 part/templates/part/part_pricing.html:115 +#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 msgid "Sale Price" msgstr "" -#: order/models.py:1110 +#: order/models.py:1126 msgid "Unit sale price" msgstr "" -#: order/models.py:1115 +#: order/models.py:1131 msgid "Shipped quantity" msgstr "" -#: order/models.py:1191 +#: order/models.py:1207 msgid "Date of shipment" msgstr "" -#: order/models.py:1198 +#: order/models.py:1214 msgid "Checked By" msgstr "" -#: order/models.py:1199 +#: order/models.py:1215 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1207 +#: order/models.py:1223 msgid "Shipment number" msgstr "" -#: order/models.py:1214 +#: order/models.py:1230 msgid "Shipment notes" msgstr "" -#: order/models.py:1221 +#: order/models.py:1237 msgid "Tracking Number" msgstr "" -#: order/models.py:1222 +#: order/models.py:1238 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1229 +#: order/models.py:1245 msgid "Invoice Number" msgstr "" -#: order/models.py:1230 +#: order/models.py:1246 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1248 +#: order/models.py:1264 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1251 +#: order/models.py:1267 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1354 order/models.py:1356 +#: order/models.py:1370 order/models.py:1372 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1360 +#: order/models.py:1376 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1362 +#: order/models.py:1378 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1365 +#: order/models.py:1381 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1369 +#: order/models.py:1385 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1375 order/serializers.py:1045 +#: order/models.py:1391 order/serializers.py:1047 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1378 +#: order/models.py:1394 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1379 +#: order/models.py:1395 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1387 +#: order/models.py:1403 msgid "Line" msgstr "" -#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 +#: order/models.py:1411 order/serializers.py:1151 order/serializers.py:1275 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1396 +#: order/models.py:1412 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1424 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1409 +#: order/models.py:1425 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Enter stock allocation quantity" msgstr "" @@ -3662,7 +3692,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1117 +#: order/serializers.py:406 order/serializers.py:1119 msgid "Line Item" msgstr "" @@ -3710,42 +3740,60 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:866 +#: order/serializers.py:868 msgid "Sale price currency" msgstr "" -#: order/serializers.py:947 +#: order/serializers.py:949 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1006 order/serializers.py:1126 +#: order/serializers.py:1008 order/serializers.py:1128 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1028 +#: order/serializers.py:1030 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1139 +#: order/serializers.py:1141 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1161 order/serializers.py:1281 +#: order/serializers.py:1163 order/serializers.py:1283 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1164 order/serializers.py:1284 +#: order/serializers.py:1166 order/serializers.py:1286 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1216 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1224 +#: order/serializers.py:1226 msgid "The following serial numbers are already allocated" msgstr "" +#: order/tasks.py:26 +msgid "Overdue Purchase Order" +msgstr "" + +#: order/tasks.py:31 +#, python-brace-format +msgid "Purchase order {po} is now overdue" +msgstr "" + +#: order/tasks.py:88 +msgid "Overdue Sales Order" +msgstr "" + +#: order/tasks.py:93 +#, python-brace-format +msgid "Sales order {so} is now overdue" +msgstr "" + #: order/templates/order/order_base.html:33 msgid "Print purchase order report" msgstr "" @@ -3870,8 +3918,8 @@ msgstr "" #: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: 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:2731 templates/js/translated/stock.js:570 -#: templates/js/translated/stock.js:738 +#: templates/js/translated/order.js:2731 templates/js/translated/stock.js:569 +#: templates/js/translated/stock.js:737 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -3990,7 +4038,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1047 #: templates/js/translated/build.js:1880 msgid "Actions" msgstr "" @@ -4021,47 +4069,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:481 +#: part/api.py:482 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:501 +#: part/api.py:502 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:519 +#: part/api.py:520 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:551 +#: part/api.py:552 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:637 +#: part/api.py:638 msgid "Valid" msgstr "" -#: part/api.py:638 +#: part/api.py:639 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:644 +#: part/api.py:645 msgid "This option must be selected" msgstr "" -#: part/api.py:1010 +#: part/api.py:1011 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1014 +#: part/api.py:1015 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1029 +#: part/api.py:1030 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1060 part/api.py:1064 part/api.py:1079 part/api.py:1083 +#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 msgid "This field is required" msgstr "" @@ -4080,17 +4128,13 @@ msgid "Available Stock" msgstr "" #: 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 +#: templates/js/translated/part.js:561 templates/js/translated/part.js:581 +#: templates/js/translated/part.js:1273 templates/js/translated/part.js:1445 +#: templates/js/translated/part.js:1461 msgid "On Order" msgstr "" -#: part/forms.py:59 -msgid "Select part category" -msgstr "" - -#: part/forms.py:69 +#: part/forms.py:60 msgid "Input quantity for price calculation" msgstr "" @@ -4106,7 +4150,7 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:115 part/models.py:2415 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2403 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -4123,7 +4167,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:144 +#: templates/js/translated/part.js:1864 templates/js/translated/search.js:144 #: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "" @@ -4153,7 +4197,7 @@ msgstr "" msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:738 part/models.py:2469 +#: part/models.py:738 part/models.py:2457 msgid "Part name" msgstr "" @@ -4186,12 +4230,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:776 part/models.py:2171 part/models.py:2414 +#: part/models.py:776 part/models.py:2159 part/models.py:2402 #: part/templates/part/part_base.html:257 -#: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 #: templates/InvenTree/settings/settings.html:231 -#: templates/js/translated/part.js:1369 +#: templates/js/translated/part.js:1413 templates/js/translated/part.js:1639 msgid "Category" msgstr "" @@ -4200,8 +4243,8 @@ msgid "Part category" msgstr "" #: 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 +#: templates/js/translated/part.js:710 templates/js/translated/part.js:1366 +#: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" @@ -4214,7 +4257,7 @@ msgid "Part revision or version number" msgstr "" #: part/models.py:790 part/templates/part/part_base.html:273 -#: report/models.py:170 templates/js/translated/part.js:670 +#: report/models.py:170 templates/js/translated/part.js:714 msgid "Revision" msgstr "" @@ -4302,317 +4345,321 @@ msgstr "" msgid "Creation User" msgstr "" -#: part/models.py:1690 +#: part/models.py:1685 msgid "Sell multiple" msgstr "" -#: part/models.py:2218 +#: part/models.py:2206 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2235 +#: part/models.py:2223 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2255 templates/js/translated/part.js:1819 -#: templates/js/translated/stock.js:1274 +#: part/models.py:2243 templates/js/translated/part.js:1915 +#: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2256 +#: part/models.py:2244 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2261 +#: part/models.py:2249 msgid "Test Description" msgstr "" -#: part/models.py:2262 +#: part/models.py:2250 msgid "Enter description for this test" msgstr "" -#: part/models.py:2267 templates/js/translated/part.js:1828 +#: part/models.py:2255 templates/js/translated/part.js:1924 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2268 +#: part/models.py:2256 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2273 templates/js/translated/part.js:1836 +#: part/models.py:2261 templates/js/translated/part.js:1932 msgid "Requires Value" msgstr "" -#: part/models.py:2274 +#: part/models.py:2262 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2279 templates/js/translated/part.js:1843 +#: part/models.py:2267 templates/js/translated/part.js:1939 msgid "Requires Attachment" msgstr "" -#: part/models.py:2280 +#: part/models.py:2268 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2288 +#: part/models.py:2276 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2324 +#: part/models.py:2312 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2332 +#: part/models.py:2320 msgid "Parameter Name" msgstr "" -#: part/models.py:2339 +#: part/models.py:2327 msgid "Parameter Units" msgstr "" -#: part/models.py:2370 +#: part/models.py:2358 msgid "Parent Part" msgstr "" -#: part/models.py:2372 part/models.py:2420 part/models.py:2421 +#: part/models.py:2360 part/models.py:2408 part/models.py:2409 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Data" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Parameter Value" msgstr "" -#: part/models.py:2425 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2413 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2426 +#: part/models.py:2414 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2461 +#: part/models.py:2449 msgid "Part ID or part name" msgstr "" -#: part/models.py:2464 templates/js/translated/model_renderers.js:200 +#: part/models.py:2452 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2465 +#: part/models.py:2453 msgid "Unique part ID value" msgstr "" -#: part/models.py:2468 +#: part/models.py:2456 msgid "Part Name" msgstr "" -#: part/models.py:2472 +#: part/models.py:2460 msgid "Part IPN" msgstr "" -#: part/models.py:2473 +#: part/models.py:2461 msgid "Part IPN value" msgstr "" -#: part/models.py:2476 +#: part/models.py:2464 msgid "Level" msgstr "" -#: part/models.py:2477 +#: part/models.py:2465 msgid "BOM level" msgstr "" -#: part/models.py:2546 +#: part/models.py:2534 msgid "Select parent part" msgstr "" -#: part/models.py:2554 +#: part/models.py:2542 msgid "Sub part" msgstr "" -#: part/models.py:2555 +#: part/models.py:2543 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2561 +#: part/models.py:2549 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2563 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 +#: part/models.py:2551 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:871 templates/js/translated/bom.js:965 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2563 +#: part/models.py:2551 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2566 part/templates/part/upload_bom.html:55 +#: part/models.py:2554 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2567 +#: part/models.py:2555 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2570 +#: part/models.py:2558 msgid "BOM item reference" msgstr "" -#: part/models.py:2573 +#: part/models.py:2561 msgid "BOM item notes" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "Checksum" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "BOM line checksum" msgstr "" -#: part/models.py:2579 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:988 +#: part/models.py:2567 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:982 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2580 +#: part/models.py:2568 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2585 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:980 +#: part/models.py:2573 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:974 msgid "Allow Variants" msgstr "" -#: part/models.py:2586 +#: part/models.py:2574 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2664 stock/models.py:460 +#: part/models.py:2652 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2673 part/models.py:2675 +#: part/models.py:2661 part/models.py:2663 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2780 +#: part/models.py:2768 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2801 +#: part/models.py:2789 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2814 +#: part/models.py:2802 msgid "Parent BOM item" msgstr "" -#: part/models.py:2822 +#: part/models.py:2810 msgid "Substitute part" msgstr "" -#: part/models.py:2833 +#: part/models.py:2825 msgid "Part 1" msgstr "" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Part 2" msgstr "" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Select Related Part" msgstr "" -#: part/models.py:2868 -msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" +#: part/models.py:2847 +msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 +#: part/models.py:2851 +msgid "Duplicate relationship already exists" +msgstr "" + +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:794 +#: part/serializers.py:796 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:804 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:805 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:810 msgid "Include Inherited" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:811 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:816 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:817 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:820 +#: part/serializers.py:822 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:821 +#: part/serializers.py:823 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:861 +#: part/serializers.py:863 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:864 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:894 msgid "No part column specified" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:937 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:938 +#: part/serializers.py:940 msgid "No matching part found" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:943 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:950 +#: part/serializers.py:952 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:958 +#: part/serializers.py:960 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:979 +#: part/serializers.py:981 msgid "At least one BOM item is required" msgstr "" @@ -5088,10 +5135,10 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:143 -#: templates/js/translated/company.js:623 -#: templates/js/translated/company.js:882 +#: templates/js/translated/company.js:608 +#: templates/js/translated/company.js:867 #: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:658 +#: templates/js/translated/part.js:625 templates/js/translated/part.js:702 msgid "Inactive" msgstr "" @@ -5120,13 +5167,13 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1009 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1003 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/part.js:520 -#: templates/js/translated/part.js:540 templates/js/translated/part.js:1233 -#: templates/js/translated/part.js:1405 templates/js/translated/part.js:1421 +#: part/templates/part/part_base.html:238 templates/js/translated/part.js:564 +#: templates/js/translated/part.js:584 templates/js/translated/part.js:1277 +#: templates/js/translated/part.js:1449 templates/js/translated/part.js:1465 msgid "Building" msgstr "" @@ -5143,7 +5190,7 @@ msgstr "" msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:443 part/templates/part/prices.html:147 +#: part/templates/part/part_base.html:443 part/templates/part/prices.html:149 msgid "Calculate" msgstr "" @@ -5161,54 +5208,55 @@ msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:106 -#: part/templates/part/prices.html:123 +#: part/templates/part/part_pricing.html:103 +#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 +#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:104 -#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:111 -#: part/templates/part/prices.html:128 +#: part/templates/part/part_pricing.html:107 +#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 +#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 +#: part/templates/part/prices.html:130 msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:963 +#: templates/js/translated/bom.js:957 msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:246 +#: part/templates/part/prices.html:248 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:89 +#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:96 +#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:105 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/prices.html:107 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:128 -#: part/templates/part/prices.html:137 +#: part/templates/part/part_pricing.html:131 +#: part/templates/part/prices.html:139 msgid "No pricing information is available for this part." msgstr "" @@ -5232,43 +5280,6 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:9 -#, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" -"
Disable the \"Active\" part attribute and re-try.\n" -" " -msgstr "" - -#: part/templates/part/partial_delete.html:17 -#, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" -msgstr "" - -#: part/templates/part/partial_delete.html:22 -#, python-format -msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" -msgstr "" - -#: part/templates/part/partial_delete.html:32 -#, python-format -msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:43 -#, python-format -msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:54 -#, python-format -msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:67 -#, python-format -msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." -msgstr "" - #: part/templates/part/prices.html:19 msgid "Pricing ranges" msgstr "" @@ -5285,66 +5296,58 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:120 +#: part/templates/part/prices.html:122 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:123 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:143 +#: part/templates/part/prices.html:145 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:957 +#: part/templates/part/prices.html:160 templates/js/translated/bom.js:951 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:159 part/templates/part/prices.html:180 -#: part/templates/part/prices.html:204 part/templates/part/prices.html:234 -#: part/templates/part/prices.html:260 part/templates/part/prices.html:289 +#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 +#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 +#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:184 +#: part/templates/part/prices.html:186 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:193 +#: part/templates/part/prices.html:195 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:203 +#: part/templates/part/prices.html:205 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:218 +#: part/templates/part/prices.html:220 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:233 +#: part/templates/part/prices.html:235 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:259 +#: part/templates/part/prices.html:261 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:300 +#: part/templates/part/prices.html:302 msgid "No sale pice history available for this part." msgstr "" -#: part/templates/part/set_category.html:9 -msgid "Set category for the following parts" -msgstr "" - -#: part/templates/part/set_category.html:32 -msgid "Remove part" -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543 -#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:587 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:1469 msgid "No Stock" msgstr "" @@ -5407,56 +5410,39 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:74 -msgid "Set Part Category" -msgstr "" - -#: part/views.py:122 -#, python-brace-format -msgid "Set category for {n} parts" -msgstr "" - -#: part/views.py:193 +#: part/views.py:118 msgid "Match References" msgstr "" -#: part/views.py:494 +#: part/views.py:419 msgid "None" msgstr "" -#: part/views.py:556 +#: part/views.py:481 msgid "Part QR Code" msgstr "" -#: part/views.py:650 +#: part/views.py:575 msgid "Select Part Image" msgstr "" -#: part/views.py:676 +#: part/views.py:601 msgid "Updated part image" msgstr "" -#: part/views.py:679 +#: part/views.py:604 msgid "Part image not found" msgstr "" -#: part/views.py:768 -msgid "Confirm Part Deletion" -msgstr "" - -#: part/views.py:776 -msgid "Part was deleted" -msgstr "" - -#: part/views.py:785 +#: part/views.py:693 msgid "Part Pricing" msgstr "" -#: part/views.py:976 +#: part/views.py:884 msgid "Delete Part Category" msgstr "" -#: part/views.py:983 +#: part/views.py:891 msgid "Part category was deleted" msgstr "" @@ -5516,21 +5502,21 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:28 +#: plugin/builtin/integration/core_notifications.py:29 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 +#: plugin/builtin/integration/core_notifications.py:30 msgid "Integrated outgoing notificaton methods" msgstr "" -#: 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:34 #: plugin/builtin/integration/core_notifications.py:53 +msgid "Enable email notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:35 +#: plugin/builtin/integration/core_notifications.py:54 msgid "Allow sending of emails for event notifications" msgstr "" @@ -5646,15 +5632,19 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:166 +#: report/api.py:179 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:198 report/api.py:239 +#: report/api.py:215 report/api.py:256 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" +#: report/api.py:359 +msgid "Test report" +msgstr "" + #: report/models.py:152 msgid "Template name" msgstr "" @@ -5757,7 +5747,7 @@ msgstr "" #: 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:3229 -#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:434 msgid "Serial Number" msgstr "" @@ -5766,19 +5756,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2068 +#: stock/models.py:2072 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2074 +#: stock/models.py:2078 msgid "Result" 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:1669 templates/js/translated/stock.js:2340 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2350 msgid "Date" msgstr "" @@ -5796,20 +5786,20 @@ msgid "Installed Items" 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:2589 +#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724 +#: templates/js/translated/stock.js:2599 msgid "Serial" msgstr "" -#: stock/api.py:504 +#: stock/api.py:505 msgid "Quantity is required" msgstr "" -#: stock/api.py:511 +#: stock/api.py:512 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:536 +#: stock/api.py:537 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5917,7 +5907,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1826 msgid "Expiry Date" msgstr "" @@ -5971,79 +5961,79 @@ msgstr "" msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1325 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1324 +#: stock/models.py:1328 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1327 +#: stock/models.py:1331 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1334 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1333 +#: stock/models.py:1337 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1340 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1343 stock/serializers.py:908 +#: stock/models.py:1347 stock/serializers.py:895 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1347 +#: stock/models.py:1351 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1355 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1359 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1524 +#: stock/models.py:1528 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1986 +#: stock/models.py:1990 msgid "Entry notes" msgstr "" -#: stock/models.py:2044 +#: stock/models.py:2048 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2050 +#: stock/models.py:2054 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2069 +#: stock/models.py:2073 msgid "Test name" msgstr "" -#: stock/models.py:2075 +#: stock/models.py:2079 msgid "Test result" msgstr "" -#: stock/models.py:2081 +#: stock/models.py:2085 msgid "Test output value" msgstr "" -#: stock/models.py:2088 +#: stock/models.py:2092 msgid "Test result attachment" msgstr "" -#: stock/models.py:2094 +#: stock/models.py:2098 msgid "Test notes" msgstr "" @@ -6064,7 +6054,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:865 stock/serializers.py:1098 +#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 msgid "Destination stock location" msgstr "" @@ -6104,63 +6094,63 @@ msgstr "" msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:707 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:724 +#: stock/serializers.py:711 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:728 +#: stock/serializers.py:715 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:759 +#: stock/serializers.py:746 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:765 +#: stock/serializers.py:752 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:773 +#: stock/serializers.py:760 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:783 stock/serializers.py:1014 +#: stock/serializers.py:770 stock/serializers.py:1001 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:872 +#: stock/serializers.py:859 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:877 +#: stock/serializers.py:864 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:878 +#: stock/serializers.py:865 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:883 +#: stock/serializers.py:870 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:884 +#: stock/serializers.py:871 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:894 +#: stock/serializers.py:881 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:976 +#: stock/serializers.py:963 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1004 +#: stock/serializers.py:991 msgid "Stock transaction notes" msgstr "" @@ -6185,7 +6175,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:298 msgid "Delete Test Data" msgstr "" @@ -6197,11 +6187,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2733 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2743 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:292 templates/js/translated/stock.js:1455 +#: stock/templates/stock/item.html:290 +msgid "Delete all test results for this stock item" +msgstr "" + +#: stock/templates/stock/item.html:323 templates/js/translated/stock.js:1465 msgid "Add Test Result" msgstr "" @@ -6388,7 +6382,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/stock.js:1842 msgid "Last Updated" msgstr "" @@ -6529,7 +6523,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:182 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:144 msgid "Convert Stock Item" msgstr "" @@ -6550,31 +6544,19 @@ msgstr "" msgid "This action cannot be easily undone" msgstr "" -#: stock/views.py:113 +#: stock/views.py:111 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:131 -msgid "Delete All Test Data" -msgstr "" - -#: stock/views.py:149 -msgid "Confirm test data deletion" -msgstr "" - -#: stock/views.py:150 -msgid "Check the confirmation box" -msgstr "" - -#: stock/views.py:165 +#: stock/views.py:127 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:216 +#: stock/views.py:178 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:229 +#: stock/views.py:191 msgid "Delete Stock Item" msgstr "" @@ -7317,8 +7299,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:56 templates/js/translated/modals.js:595 -#: templates/js/translated/modals.js:689 templates/js/translated/modals.js:997 +#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 +#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 #: templates/js/translated/order.js:928 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7390,6 +7372,10 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:630 +msgid "Confirm" +msgstr "Confirmar" + #: templates/account/email_confirm.html:27 #, python-format msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." @@ -7562,7 +7548,7 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:112 msgid "Delete Attachments" msgstr "" @@ -7596,15 +7582,15 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1425 +#: templates/js/translated/bom.js:1419 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: 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/bom.js:884 templates/js/translated/build.js:1787 +#: templates/js/translated/build.js:2650 templates/js/translated/part.js:571 +#: templates/js/translated/part.js:574 #: templates/js/translated/table_filters.js:178 msgid "Available" msgstr "" @@ -7622,6 +7608,13 @@ msgstr "" msgid "Minimum Quantity" msgstr "" +#: templates/email/new_order_assigned.html:9 +#: templates/email/overdue_build_order.html:9 +#: templates/email/overdue_purchase_order.html:9 +#: templates/email/overdue_sales_order.html:9 +msgid "Click on the following link to view this order" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -7638,91 +7631,91 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:235 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1073 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1074 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:242 +#: templates/js/translated/api.js:202 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:243 +#: templates/js/translated/api.js:203 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1083 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1084 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:252 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1088 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:253 templates/js/translated/modals.js:1083 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1089 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1093 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1088 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1094 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:262 +#: templates/js/translated/api.js:222 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:263 +#: templates/js/translated/api.js:223 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:267 templates/js/translated/modals.js:1092 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1098 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:268 templates/js/translated/modals.js:1093 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1099 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:271 +#: templates/js/translated/api.js:231 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:272 +#: templates/js/translated/api.js:232 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:96 +#: templates/js/translated/attachment.js:98 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:156 +#: templates/js/translated/attachment.js:152 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:180 +#: templates/js/translated/attachment.js:176 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:246 +#: templates/js/translated/attachment.js:242 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:262 +#: templates/js/translated/attachment.js:264 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:269 +#: templates/js/translated/attachment.js:271 msgid "Delete attachment" msgstr "" @@ -7755,7 +7748,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "Invalid server response" msgstr "" @@ -7783,7 +7776,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999 +#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:998 msgid "Remove stock item" msgstr "" @@ -7918,89 +7911,89 @@ msgstr "" msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:682 +#: templates/js/translated/bom.js:684 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:697 +#: templates/js/translated/bom.js:699 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:824 +#: templates/js/translated/bom.js:818 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:834 +#: templates/js/translated/bom.js:828 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:838 templates/js/translated/build.js:1769 +#: templates/js/translated/bom.js:832 templates/js/translated/build.js:1769 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/bom.js:900 templates/js/translated/build.js:1814 #: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:910 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:904 templates/js/translated/build.js:1818 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:912 templates/js/translated/build.js:1820 -#: templates/js/translated/part.js:690 +#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1820 +#: templates/js/translated/part.js:734 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:914 templates/js/translated/build.js:1822 +#: templates/js/translated/bom.js:908 templates/js/translated/build.js:1822 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:928 +#: templates/js/translated/bom.js:922 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:943 +#: templates/js/translated/bom.js:937 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:950 +#: templates/js/translated/bom.js:944 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:999 templates/js/translated/bom.js:1090 +#: templates/js/translated/bom.js:993 templates/js/translated/bom.js:1084 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1061 +#: templates/js/translated/bom.js:1055 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1063 +#: templates/js/translated/bom.js:1057 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1065 +#: templates/js/translated/bom.js:1059 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1067 templates/js/translated/bom.js:1228 +#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1222 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1069 +#: templates/js/translated/bom.js:1063 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1164 templates/js/translated/build.js:1615 +#: templates/js/translated/bom.js:1158 templates/js/translated/build.js:1615 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1408 templates/js/translated/build.js:1753 +#: templates/js/translated/bom.js:1402 templates/js/translated/build.js:1753 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1430 +#: templates/js/translated/bom.js:1424 msgid "Inherited from parent BOM" msgstr "" @@ -8040,13 +8033,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91 -#: templates/js/translated/stock.js:181 +#: templates/js/translated/build.js:259 templates/js/translated/stock.js:90 +#: templates/js/translated/stock.js:180 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93 -#: templates/js/translated/stock.js:183 +#: templates/js/translated/build.js:261 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:182 msgid "Latest serial number" msgstr "" @@ -8259,9 +8252,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: 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 +#: templates/js/translated/build.js:2448 templates/js/translated/part.js:1358 +#: templates/js/translated/part.js:1825 templates/js/translated/stock.js:1629 +#: templates/js/translated/stock.js:2287 msgid "Select" msgstr "" @@ -8273,7 +8266,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2519 +#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2529 msgid "No user information" msgstr "" @@ -8285,107 +8278,107 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:169 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:168 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:157 templates/js/translated/order.js:506 +#: templates/js/translated/company.js:156 templates/js/translated/order.js:506 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:185 +#: templates/js/translated/company.js:184 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:200 +#: templates/js/translated/company.js:199 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:249 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:263 +#: templates/js/translated/company.js:264 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:342 +#: templates/js/translated/company.js:336 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:413 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:428 +#: templates/js/translated/company.js:422 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:443 +#: templates/js/translated/company.js:437 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:478 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:492 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:526 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:548 +#: templates/js/translated/company.js:539 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:595 +#: templates/js/translated/company.js:580 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:615 -#: templates/js/translated/company.js:874 templates/js/translated/part.js:565 -#: templates/js/translated/part.js:650 +#: templates/js/translated/company.js:600 +#: templates/js/translated/company.js:859 templates/js/translated/part.js:609 +#: templates/js/translated/part.js:694 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:619 -#: templates/js/translated/company.js:878 templates/js/translated/part.js:569 -#: templates/js/translated/part.js:654 +#: templates/js/translated/company.js:604 +#: templates/js/translated/company.js:863 templates/js/translated/part.js:613 +#: templates/js/translated/part.js:698 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:747 templates/js/translated/part.js:757 +#: templates/js/translated/company.js:732 templates/js/translated/part.js:801 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:799 +#: templates/js/translated/company.js:769 templates/js/translated/part.js:843 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:785 templates/js/translated/part.js:800 +#: templates/js/translated/company.js:770 templates/js/translated/part.js:844 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:804 templates/js/translated/part.js:817 +#: templates/js/translated/company.js:789 templates/js/translated/part.js:861 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:815 templates/js/translated/part.js:829 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:873 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:854 +#: templates/js/translated/company.js:839 msgid "No supplier parts found" msgstr "" @@ -8448,36 +8441,36 @@ msgstr "" msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:756 +#: templates/js/translated/forms.js:757 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1248 templates/modals.html:19 +#: templates/js/translated/forms.js:1249 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1681 +#: templates/js/translated/forms.js:1682 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1896 templates/search.html:29 +#: templates/js/translated/forms.js:1897 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2149 +#: templates/js/translated/forms.js:2150 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2627 +#: templates/js/translated/forms.js:2628 msgid "Select Columns" msgstr "" @@ -8498,7 +8491,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1023 +#: templates/js/translated/stock.js:1022 msgid "Select Stock Items" msgstr "" @@ -8552,12 +8545,12 @@ msgid "Select Label Template" msgstr "" #: templates/js/translated/modals.js:82 templates/js/translated/modals.js:142 -#: templates/js/translated/modals.js:621 +#: templates/js/translated/modals.js:627 msgid "Cancel" msgstr "" #: 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/js/translated/modals.js:694 templates/js/translated/modals.js:1002 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" @@ -8566,47 +8559,47 @@ msgstr "" msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:403 +#: templates/js/translated/modals.js:421 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:562 +#: templates/js/translated/modals.js:568 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:620 +#: templates/js/translated/modals.js:626 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:677 +#: templates/js/translated/modals.js:683 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:960 +#: templates/js/translated/modals.js:966 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1072 +#: templates/js/translated/modals.js:1078 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1073 +#: templates/js/translated/modals.js:1079 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1096 +#: templates/js/translated/modals.js:1102 msgid "Error requesting form data" msgstr "" @@ -8656,11 +8649,11 @@ msgstr "" msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:259 +#: templates/js/translated/notification.js:260 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:300 templates/notifications.html:10 +#: templates/js/translated/notification.js:302 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" @@ -8804,7 +8797,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2080 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2090 msgid "Stock Status" msgstr "" @@ -8828,7 +8821,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1602 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1602 templates/js/translated/part.js:914 msgid "No purchase orders found" msgstr "" @@ -8863,7 +8856,7 @@ msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 #: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 -#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 +#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2397 msgid "Unit Price" msgstr "" @@ -8873,11 +8866,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:1993 templates/js/translated/order.js:3525 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:1023 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1069 msgid "Receive line item" msgstr "" @@ -8998,7 +8991,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1535 +#: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" @@ -9138,165 +9131,209 @@ msgstr "" msgid "Create Part Variant" msgstr "" +#: templates/js/translated/part.js:405 +msgid "Active Part" +msgstr "" + +#: templates/js/translated/part.js:406 +msgid "Part cannot be deleted as it is currently active" +msgstr "" + +#: templates/js/translated/part.js:420 +msgid "Deleting this part cannot be reversed" +msgstr "" + +#: templates/js/translated/part.js:422 +msgid "Any stock items for this part will be deleted" +msgstr "" + #: templates/js/translated/part.js:423 +msgid "This part will be removed from any Bills of Material" +msgstr "" + +#: templates/js/translated/part.js:424 +msgid "All manufacturer and supplier information for this part will be deleted" +msgstr "" + +#: templates/js/translated/part.js:431 +msgid "Delete Part" +msgstr "" + +#: templates/js/translated/part.js:467 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:425 +#: templates/js/translated/part.js:469 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:474 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:476 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:493 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:503 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:506 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:487 +#: templates/js/translated/part.js:531 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:513 templates/js/translated/part.js:1397 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1441 #: templates/js/translated/table_filters.js:452 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:523 templates/js/translated/part.js:1409 +#: templates/js/translated/part.js:567 templates/js/translated/part.js:1453 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:557 templates/js/translated/part.js:642 +#: templates/js/translated/part.js:601 templates/js/translated/part.js:686 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:561 templates/js/translated/part.js:646 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:690 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:617 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:577 +#: templates/js/translated/part.js:621 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:705 +#: templates/js/translated/part.js:749 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1095 +#: templates/js/translated/part.js:1139 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1119 +#: templates/js/translated/part.js:1163 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1184 templates/js/translated/part.js:1480 +#: templates/js/translated/part.js:1228 templates/js/translated/part.js:1524 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1223 +#: templates/js/translated/part.js:1267 msgid "Not available" msgstr "" -#: templates/js/translated/part.js:1374 +#: templates/js/translated/part.js:1418 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664 -#: templates/js/translated/stock.js:2238 +#: templates/js/translated/part.js:1548 templates/js/translated/part.js:1760 +#: templates/js/translated/stock.js:2248 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1520 +#: templates/js/translated/part.js:1564 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2257 +#: templates/js/translated/part.js:1630 +msgid "Set the part category for the selected parts" +msgstr "" + +#: templates/js/translated/part.js:1635 +msgid "Set Part Category" +msgstr "" + +#: templates/js/translated/part.js:1640 +msgid "Select Part Category" +msgstr "" + +#: templates/js/translated/part.js:1653 +msgid "Category is required" +msgstr "" + +#: templates/js/translated/part.js:1779 templates/js/translated/stock.js:2267 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1747 +#: templates/js/translated/part.js:1843 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2301 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2311 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:1901 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1233 +#: templates/js/translated/part.js:1952 templates/js/translated/stock.js:1243 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1234 -#: templates/js/translated/stock.js:1493 +#: templates/js/translated/part.js:1953 templates/js/translated/stock.js:1244 +#: templates/js/translated/stock.js:1503 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1863 +#: templates/js/translated/part.js:1959 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1885 +#: templates/js/translated/part.js:1981 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:1995 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1924 +#: templates/js/translated/part.js:2020 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1981 +#: templates/js/translated/part.js:2077 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1982 +#: templates/js/translated/part.js:2078 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:2096 +#: templates/js/translated/part.js:2192 msgid "Current Stock" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2225 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2155 +#: templates/js/translated/part.js:2251 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2225 +#: templates/js/translated/part.js:2321 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:2244 +#: templates/js/translated/part.js:2340 msgid "Single Price Difference" msgstr "" @@ -9378,360 +9415,360 @@ msgstr "" msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:72 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:101 +#: templates/js/translated/stock.js:100 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:109 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:139 +#: templates/js/translated/stock.js:138 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:153 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:194 +#: templates/js/translated/stock.js:193 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:233 +#: templates/js/translated/stock.js:232 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:239 +#: templates/js/translated/stock.js:238 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:303 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:324 +#: templates/js/translated/stock.js:323 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:344 +#: templates/js/translated/stock.js:343 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:394 +#: templates/js/translated/stock.js:393 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:407 +#: templates/js/translated/stock.js:406 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:431 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:453 +#: templates/js/translated/stock.js:452 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:472 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:481 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:605 +#: templates/js/translated/stock.js:604 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:606 +#: templates/js/translated/stock.js:605 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:683 +#: templates/js/translated/stock.js:682 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:684 +#: templates/js/translated/stock.js:683 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:686 +#: templates/js/translated/stock.js:685 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:687 +#: templates/js/translated/stock.js:686 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:772 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:774 +#: templates/js/translated/stock.js:773 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:869 +#: templates/js/translated/stock.js:868 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:869 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:876 +#: templates/js/translated/stock.js:875 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:876 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:881 +#: templates/js/translated/stock.js:880 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:882 +#: templates/js/translated/stock.js:881 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:886 +#: templates/js/translated/stock.js:885 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:887 users/models.py:215 +#: templates/js/translated/stock.js:886 users/models.py:215 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1024 +#: templates/js/translated/stock.js:1023 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1047 +#: templates/js/translated/stock.js:1046 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1172 +#: templates/js/translated/stock.js:1182 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1174 +#: templates/js/translated/stock.js:1184 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1179 +#: templates/js/translated/stock.js:1189 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1226 +#: templates/js/translated/stock.js:1236 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1229 +#: templates/js/translated/stock.js:1239 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1255 +#: templates/js/translated/stock.js:1265 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1321 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1476 +#: templates/js/translated/stock.js:1486 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1498 +#: templates/js/translated/stock.js:1508 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1527 +#: templates/js/translated/stock.js:1537 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1531 +#: templates/js/translated/stock.js:1541 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1539 +#: templates/js/translated/stock.js:1549 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1545 +#: templates/js/translated/stock.js:1555 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1712 +#: templates/js/translated/stock.js:1722 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1727 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1720 +#: templates/js/translated/stock.js:1730 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1723 +#: templates/js/translated/stock.js:1733 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1725 +#: templates/js/translated/stock.js:1735 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1727 +#: templates/js/translated/stock.js:1737 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1730 +#: templates/js/translated/stock.js:1740 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1734 +#: templates/js/translated/stock.js:1744 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1746 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1743 +#: templates/js/translated/stock.js:1753 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1755 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:1757 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1751 +#: templates/js/translated/stock.js:1761 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1802 +#: templates/js/translated/stock.js:1812 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1894 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1932 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2095 +#: templates/js/translated/stock.js:2105 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2109 +#: templates/js/translated/stock.js:2119 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2120 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2375 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2381 +#: templates/js/translated/stock.js:2391 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2403 +#: templates/js/translated/stock.js:2413 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2422 +#: templates/js/translated/stock.js:2432 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2441 +#: templates/js/translated/stock.js:2451 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2459 +#: templates/js/translated/stock.js:2469 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2482 +#: templates/js/translated/stock.js:2492 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2490 +#: templates/js/translated/stock.js:2500 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2566 +#: templates/js/translated/stock.js:2576 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2617 templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2663 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2666 +#: templates/js/translated/stock.js:2676 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2697 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2688 +#: templates/js/translated/stock.js:2698 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2690 +#: templates/js/translated/stock.js:2700 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/stock.js:2701 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2702 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2693 +#: templates/js/translated/stock.js:2703 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2716 msgid "Select part to install" msgstr "" diff --git a/InvenTree/locale/pt_br/LC_MESSAGES/django.po b/InvenTree/locale/pt_br/LC_MESSAGES/django.po index a37441586b..14b20671e3 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-06-03 10:21+0000\n" +"POT-Creation-Date: 2022-06-06 11:28+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -30,48 +30,39 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:630 -msgid "Confirm" -msgstr "" - -#: InvenTree/forms.py:134 +#: InvenTree/forms.py:117 msgid "Confirm delete" msgstr "" -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:118 msgid "Confirm item deletion" msgstr "" -#: InvenTree/forms.py:167 +#: InvenTree/forms.py:150 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:151 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:158 msgid "Confirm password" msgstr "" -#: InvenTree/forms.py:176 +#: InvenTree/forms.py:159 msgid "Confirm new password" msgstr "" -#: InvenTree/forms.py:213 -msgid "Select Category" -msgstr "" - -#: InvenTree/forms.py:234 +#: InvenTree/forms.py:184 msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:238 +#: InvenTree/forms.py:188 msgid "Email address confirmation" msgstr "" -#: InvenTree/forms.py:259 +#: InvenTree/forms.py:209 msgid "You must type the same email each time." msgstr "" @@ -80,7 +71,7 @@ msgstr "" msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 +#: InvenTree/helpers.py:409 order/models.py:369 order/models.py:521 msgid "Invalid quantity provided" msgstr "" @@ -117,114 +108,113 @@ msgstr "" msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:174 +#: InvenTree/models.py:178 msgid "Missing file" msgstr "" -#: InvenTree/models.py:175 +#: InvenTree/models.py:179 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:187 stock/models.py:2087 +#: InvenTree/models.py:191 stock/models.py:2091 #: templates/js/translated/attachment.js:101 #: templates/js/translated/attachment.js:198 msgid "Attachment" msgstr "" -#: InvenTree/models.py:188 +#: InvenTree/models.py:192 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 -#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: InvenTree/models.py:198 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:135 order/models.py:1239 #: 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 -#: templates/js/translated/part.js:1441 +#: templates/js/translated/part.js:1485 msgid "Link" msgstr "" -#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: InvenTree/models.py:199 build/models.py:320 part/models.py:796 #: stock/models.py:642 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 +#: InvenTree/models.py:202 templates/js/translated/attachment.js:102 #: templates/js/translated/attachment.js:242 msgid "Comment" msgstr "" -#: InvenTree/models.py:198 +#: InvenTree/models.py:202 msgid "File comment" msgstr "" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1506 +#: common/models.py:1507 common/models.py:1735 common/models.py:1736 +#: common/models.py:1998 common/models.py:1999 part/models.py:2141 +#: part/models.py:2161 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:208 +#: InvenTree/models.py:212 msgid "upload date" msgstr "" -#: InvenTree/models.py:230 +#: InvenTree/models.py:234 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:253 +#: InvenTree/models.py:257 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:263 +#: InvenTree/models.py:267 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:266 +#: InvenTree/models.py:270 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:273 +#: InvenTree/models.py:277 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:280 +#: InvenTree/models.py:284 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:314 +#: InvenTree/models.py:318 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 #: company/models.py:354 label/models.py:101 part/models.py:739 -#: part/models.py:2331 plugin/models.py:93 report/models.py:151 +#: part/models.py:2319 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 #: templates/InvenTree/settings/plugin.html:132 #: templates/InvenTree/settings/plugin_settings.html:23 -#: templates/InvenTree/settings/settings.html:327 +#: templates/InvenTree/settings/settings.html:346 #: 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/company.js:757 templates/js/translated/part.js:659 +#: templates/js/translated/part.js:811 templates/js/translated/part.js:1832 #: templates/js/translated/stock.js:2283 msgid "Name" msgstr "" -#: InvenTree/models.py:340 build/models.py:197 +#: InvenTree/models.py:344 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: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:164 +#: part/templates/part/part_base.html:167 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 @@ -234,71 +224,79 @@ msgstr "" #: 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:1676 +#: templates/js/translated/part.js:718 templates/js/translated/part.js:1126 +#: templates/js/translated/part.js:1399 templates/js/translated/part.js:1851 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:1676 #: templates/js/translated/stock.js:2295 templates/js/translated/stock.js:2350 msgid "Description" msgstr "" -#: InvenTree/models.py:341 +#: InvenTree/models.py:345 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:349 +#: InvenTree/models.py:353 msgid "parent" msgstr "" -#: InvenTree/serializers.py:52 part/models.py:2650 +#: InvenTree/models.py:466 +msgid "Server Error" +msgstr "" + +#: InvenTree/models.py:467 +msgid "An error has been logged by the server." +msgstr "" + +#: InvenTree/serializers.py:52 part/models.py:2640 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:271 +#: InvenTree/serializers.py:263 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:306 +#: InvenTree/serializers.py:298 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:320 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:321 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:342 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:348 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:377 +#: InvenTree/serializers.py:369 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:372 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:495 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:506 +#: InvenTree/serializers.py:498 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:583 +#: InvenTree/serializers.py:575 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:592 +#: InvenTree/serializers.py:584 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" @@ -441,7 +439,7 @@ msgstr "" msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:141 order/models.py:1114 +#: InvenTree/status_codes.py:141 order/models.py:1118 #: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "" @@ -598,27 +596,27 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:522 +#: InvenTree/views.py:521 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:571 +#: InvenTree/views.py:570 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:585 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:597 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "" -#: InvenTree/views.py:618 +#: InvenTree/views.py:617 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:842 templates/navbar.html:152 +#: InvenTree/views.py:807 templates/navbar.html:152 msgid "System Information" msgstr "" @@ -629,6 +627,7 @@ msgstr "" #: 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/email/overdue_build_order.html:15 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "" @@ -647,8 +646,8 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:189 order/models.py:288 order/models.py:638 -#: order/models.py:916 part/models.py:2568 +#: build/models.py:189 order/models.py:292 order/models.py:642 +#: order/models.py:920 part/models.py:2558 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 @@ -674,13 +673,12 @@ msgstr "" #: 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 +#: order/models.py:1016 order/models.py:1107 part/models.py:336 +#: part/models.py:2087 part/models.py:2102 part/models.py:2121 +#: part/models.py:2139 part/models.py:2238 part/models.py:2358 +#: part/models.py:2448 part/models.py:2533 part/models.py:2809 +#: part/serializers.py:795 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 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 @@ -688,6 +686,7 @@ msgstr "" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 +#: templates/email/overdue_build_order.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:805 #: templates/js/translated/build.js:1153 templates/js/translated/build.js:1647 @@ -699,8 +698,8 @@ msgstr "" #: templates/js/translated/order.js:883 templates/js/translated/order.js:1315 #: 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/part.js:1111 templates/js/translated/part.js:1181 +#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:531 #: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903 #: templates/js/translated/stock.js:1633 templates/js/translated/stock.js:2376 #: templates/js/translated/stock.js:2571 templates/js/translated/stock.js:2705 @@ -774,7 +773,7 @@ msgstr "" msgid "Creation Date" msgstr "" -#: build/models.py:286 order/models.py:660 +#: build/models.py:286 order/models.py:664 msgid "Target completion date" msgstr "" @@ -782,7 +781,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:290 order/models.py:331 +#: build/models.py:290 order/models.py:335 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "" @@ -823,14 +822,14 @@ msgstr "" #: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 #: company/models.py:519 company/templates/company/sidebar.html:25 -#: order/models.py:155 order/models.py:918 order/models.py:1213 +#: order/models.py:155 order/models.py:922 order/models.py:1217 #: order/templates/order/po_sidebar.html:11 #: 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:713 stock/models.py:1985 stock/models.py:2093 +#: stock/models.py:713 stock/models.py:1989 stock/models.py:2097 #: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:486 -#: stock/serializers.py:772 stock/serializers.py:871 stock/serializers.py:1003 +#: stock/serializers.py:759 stock/serializers.py:858 stock/serializers.py:990 #: 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 @@ -869,7 +868,7 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1133 order/models.py:1372 +#: build/models.py:1133 order/models.py:1376 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -891,9 +890,9 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 -#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:703 -#: stock/serializers.py:829 stock/templates/stock/item_base.html:10 +#: build/models.py:1282 build/serializers.py:603 order/serializers.py:996 +#: order/serializers.py:1017 stock/serializers.py:382 stock/serializers.py:690 +#: stock/serializers.py:816 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 @@ -912,11 +911,11 @@ msgstr "" #: build/models.py:1295 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1536 +#: build/templates/build/detail.html:34 common/models.py:1543 #: 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:91 -#: part/forms.py:106 part/forms.py:121 part/models.py:2559 +#: order/models.py:913 order/models.py:1416 order/serializers.py:1136 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 +#: part/forms.py:74 part/forms.py:89 part/models.py:2549 #: 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 @@ -938,9 +937,9 @@ msgstr "" #: 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: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 +#: templates/js/translated/part.js:1011 templates/js/translated/part.js:2065 +#: templates/js/translated/part.js:2296 templates/js/translated/part.js:2330 +#: templates/js/translated/part.js:2408 templates/js/translated/stock.js:403 #: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727 #: templates/js/translated/stock.js:2498 templates/js/translated/stock.js:2583 msgid "Quantity" @@ -983,9 +982,9 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: 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:1239 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:367 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:514 +#: part/serializers.py:958 stock/models.py:470 stock/models.py:1239 #: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" @@ -998,7 +997,7 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 #: 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" @@ -1026,7 +1025,7 @@ msgstr "" #: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 #: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:481 -#: stock/serializers.py:864 stock/serializers.py:1097 +#: stock/serializers.py:851 stock/serializers.py:1084 #: 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 @@ -1044,7 +1043,7 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:363 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:654 +#: build/templates/build/detail.html:62 order/models.py:658 #: 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 @@ -1109,8 +1108,8 @@ msgstr "" msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:535 build/serializers.py:580 part/models.py:2677 -#: part/models.py:2811 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2667 +#: part/models.py:2801 msgid "BOM Item" msgstr "" @@ -1126,11 +1125,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:716 +#: build/serializers.py:609 stock/serializers.py:703 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:667 order/serializers.py:1052 +#: build/serializers.py:667 order/serializers.py:1054 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1147,7 +1146,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:708 order/serializers.py:1298 +#: build/serializers.py:708 order/serializers.py:1300 msgid "Allocation items must be provided" msgstr "" @@ -1179,10 +1178,19 @@ msgstr "" msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:96 +#: build/tasks.py:100 msgid "Stock required for build order" msgstr "" +#: build/tasks.py:118 +msgid "Overdue Build Order" +msgstr "" + +#: build/tasks.py:123 +#, python-brace-format +msgid "Build order {bo} is now overdue" +msgstr "" + #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 #: order/templates/order/sales_order_base.html:38 @@ -1245,13 +1253,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:922 +#: build/templates/build/detail.html:131 order/models.py:926 #: 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: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 +#: templates/js/translated/order.js:3517 templates/js/translated/part.js:1015 msgid "Target Date" msgstr "" @@ -1278,13 +1286,14 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1100 -#: order/models.py:1185 order/models.py:1320 +#: build/templates/build/detail.html:94 order/models.py:1104 +#: order/models.py:1189 order/models.py:1324 #: 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/email/overdue_sales_order.html:15 #: templates/js/translated/order.js:2436 msgid "Sales Order" msgstr "" @@ -1320,7 +1329,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1034 +#: build/templates/build/detail.html:49 order/models.py:1038 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "" @@ -1717,7 +1726,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:820 part/models.py:2372 report/models.py:157 +#: common/models.py:820 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" @@ -1881,7 +1890,7 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:968 -msgid "Test Reports" +msgid "Enable Test Reports" msgstr "" #: common/models.py:969 @@ -1889,568 +1898,576 @@ msgid "Enable generation of test reports" msgstr "" #: common/models.py:975 -msgid "Batch Code Template" +msgid "Attach Test Reports" msgstr "" #: common/models.py:976 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:981 -msgid "Stock Expiry" +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" #: common/models.py:982 -msgid "Enable stock expiry functionality" +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:983 +msgid "Template for generating default batch codes for stock items" msgstr "" #: common/models.py:988 -msgid "Sell Expired Stock" +msgid "Stock Expiry" msgstr "" #: common/models.py:989 -msgid "Allow sale of expired stock" +msgid "Enable stock expiry functionality" msgstr "" #: common/models.py:995 -msgid "Stock Stale Time" +msgid "Sell Expired Stock" msgstr "" #: common/models.py:996 -msgid "Number of days stock items are considered stale before expiring" +msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:998 -msgid "days" +#: common/models.py:1002 +msgid "Stock Stale Time" msgstr "" #: common/models.py:1003 -msgid "Build Expired Stock" +msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1004 -msgid "Allow building with expired stock" +#: common/models.py:1005 +msgid "days" msgstr "" #: common/models.py:1010 -msgid "Stock Ownership Control" +msgid "Build Expired Stock" msgstr "" #: common/models.py:1011 -msgid "Enable ownership control over stock locations and items" +msgid "Allow building with expired stock" msgstr "" #: common/models.py:1017 -msgid "Build Order Reference Prefix" +msgid "Stock Ownership Control" msgstr "" #: common/models.py:1018 -msgid "Prefix value for build order reference" -msgstr "" - -#: common/models.py:1023 -msgid "Build Order Reference Regex" +msgid "Enable ownership control over stock locations and items" msgstr "" #: common/models.py:1024 +msgid "Build Order Reference Prefix" +msgstr "" + +#: common/models.py:1025 +msgid "Prefix value for build order reference" +msgstr "" + +#: common/models.py:1030 +msgid "Build Order Reference Regex" +msgstr "" + +#: common/models.py:1031 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1029 +#: common/models.py:1036 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1041 +#: common/models.py:1048 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1042 +#: common/models.py:1049 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1048 +#: common/models.py:1055 msgid "Enable password forgot" msgstr "" -#: common/models.py:1049 +#: common/models.py:1056 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1055 +#: common/models.py:1062 msgid "Enable registration" msgstr "" -#: common/models.py:1056 +#: common/models.py:1063 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1069 msgid "Enable SSO" msgstr "" -#: common/models.py:1063 +#: common/models.py:1070 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1069 +#: common/models.py:1076 msgid "Email required" msgstr "" -#: common/models.py:1070 +#: common/models.py:1077 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1076 +#: common/models.py:1083 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1077 +#: common/models.py:1084 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1083 +#: common/models.py:1090 msgid "Mail twice" msgstr "" -#: common/models.py:1084 +#: common/models.py:1091 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1090 +#: common/models.py:1097 msgid "Password twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1098 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1097 +#: common/models.py:1104 msgid "Group on signup" msgstr "" -#: common/models.py:1098 +#: common/models.py:1105 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1104 +#: common/models.py:1111 msgid "Enforce MFA" msgstr "" -#: common/models.py:1105 +#: common/models.py:1112 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1111 +#: common/models.py:1118 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1112 +#: common/models.py:1119 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1120 +#: common/models.py:1127 msgid "Enable URL integration" msgstr "" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1136 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1136 +#: common/models.py:1143 msgid "Enable app integration" msgstr "" -#: common/models.py:1137 +#: common/models.py:1144 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1144 +#: common/models.py:1151 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1145 +#: common/models.py:1152 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1152 +#: common/models.py:1159 msgid "Enable event integration" msgstr "" -#: common/models.py:1153 +#: common/models.py:1160 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1170 common/models.py:1492 +#: common/models.py:1177 common/models.py:1499 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1192 +#: common/models.py:1199 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1193 +#: common/models.py:1200 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1199 +#: common/models.py:1206 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1200 +#: common/models.py:1207 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1213 msgid "Show latest parts" msgstr "" -#: common/models.py:1207 +#: common/models.py:1214 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1213 +#: common/models.py:1220 msgid "Recent Part Count" msgstr "" -#: common/models.py:1214 +#: common/models.py:1221 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1220 +#: common/models.py:1227 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1221 +#: common/models.py:1228 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1227 +#: common/models.py:1234 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1228 +#: common/models.py:1235 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1235 +#: common/models.py:1242 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Show low stock" msgstr "" -#: common/models.py:1242 +#: common/models.py:1249 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Show depleted stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1256 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1262 msgid "Show needed stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1263 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1269 msgid "Show expired stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1270 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1276 msgid "Show stale stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Show pending builds" msgstr "" -#: common/models.py:1277 +#: common/models.py:1284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Show overdue builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1291 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1291 +#: common/models.py:1298 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Show overdue POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1305 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1312 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1318 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1319 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1317 +#: common/models.py:1324 msgid "Enable label printing" msgstr "" -#: common/models.py:1318 +#: common/models.py:1325 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1324 +#: common/models.py:1331 msgid "Inline label display" msgstr "" -#: common/models.py:1325 +#: common/models.py:1332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1331 +#: common/models.py:1338 msgid "Inline report display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1345 msgid "Search Parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1345 +#: common/models.py:1352 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1359 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1366 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1367 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1373 msgid "Search Categories" msgstr "" -#: common/models.py:1367 +#: common/models.py:1374 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1380 msgid "Search Stock" msgstr "" -#: common/models.py:1374 +#: common/models.py:1381 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1387 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1381 +#: common/models.py:1388 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1394 msgid "Search Locations" msgstr "" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1401 msgid "Search Companies" msgstr "" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1408 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1415 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1422 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1429 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Search Preview Results" msgstr "" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1457 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1457 +#: common/models.py:1464 msgid "Date Format" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1472 part/templates/part/detail.html:39 +#: common/models.py:1479 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1473 +#: common/models.py:1480 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1537 company/forms.py:37 +#: common/models.py:1544 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: 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 +#: common/models.py:1551 company/serializers.py:290 +#: company/templates/company/supplier_part.html:263 order/models.py:953 +#: templates/js/translated/part.js:1042 templates/js/translated/part.js:2070 msgid "Price" msgstr "" -#: common/models.py:1545 +#: common/models.py:1552 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1705 common/models.py:1883 +#: common/models.py:1712 common/models.py:1890 msgid "Endpoint" msgstr "" -#: common/models.py:1706 +#: common/models.py:1713 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1715 +#: common/models.py:1722 msgid "Name for this webhook" msgstr "" -#: common/models.py:1720 part/models.py:911 plugin/models.py:99 +#: common/models.py:1727 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 @@ -2458,79 +2475,79 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1721 +#: common/models.py:1728 msgid "Is this webhook active" msgstr "" -#: common/models.py:1735 +#: common/models.py:1742 msgid "Token" msgstr "" -#: common/models.py:1736 +#: common/models.py:1743 msgid "Token for access" msgstr "" -#: common/models.py:1743 +#: common/models.py:1750 msgid "Secret" msgstr "" -#: common/models.py:1744 +#: common/models.py:1751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Message ID" msgstr "" -#: common/models.py:1851 +#: common/models.py:1858 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1859 +#: common/models.py:1866 msgid "Host" msgstr "" -#: common/models.py:1860 +#: common/models.py:1867 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1867 +#: common/models.py:1874 msgid "Header" msgstr "" -#: common/models.py:1868 +#: common/models.py:1875 msgid "Header of this message" msgstr "" -#: common/models.py:1874 +#: common/models.py:1881 msgid "Body" msgstr "" -#: common/models.py:1875 +#: common/models.py:1882 msgid "Body of this message" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1889 +#: common/models.py:1896 msgid "Worked on" msgstr "" -#: common/models.py:1890 +#: common/models.py:1897 msgid "Was the work on this message finished?" msgstr "" #: common/views.py:87 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:193 +#: order/views.py:102 part/views.py:116 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:194 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:117 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -2546,19 +2563,19 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:511 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:16 part/forms.py:21 +#: company/forms.py:16 part/forms.py:18 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:17 part/forms.py:22 +#: company/forms.py:17 part/forms.py:19 msgid "Image URL" msgstr "" @@ -2645,9 +2662,9 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: 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 +#: company/models.py:144 company/serializers.py:296 +#: company/templates/company/company_base.html:106 part/serializers.py:139 +#: part/serializers.py:170 stock/serializers.py:162 msgid "Currency" msgstr "" @@ -2686,7 +2703,7 @@ msgstr "" #: 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 +#: templates/js/translated/part.js:246 templates/js/translated/part.js:1000 msgid "MPN" msgstr "" @@ -2715,8 +2732,8 @@ msgstr "" #: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2080 templates/js/translated/company.js:540 -#: templates/js/translated/company.js:763 templates/js/translated/part.js:776 +#: stock/models.py:2084 templates/js/translated/company.js:540 +#: templates/js/translated/company.js:763 templates/js/translated/part.js:820 #: templates/js/translated/stock.js:1294 msgid "Value" msgstr "" @@ -2725,10 +2742,10 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:368 part/models.py:878 part/models.py:2339 +#: company/models.py:368 part/models.py:878 part/models.py:2327 #: 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 +#: templates/InvenTree/settings/settings.html:351 +#: templates/js/translated/company.js:769 templates/js/translated/part.js:826 msgid "Units" msgstr "" @@ -2741,13 +2758,14 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:487 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:303 +#: company/templates/company/supplier_part.html:87 order/models.py:307 #: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265 #: stock/templates/stock/item_base.html:229 +#: templates/email/overdue_purchase_order.html:16 #: 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/part.js:216 templates/js/translated/part.js:968 #: templates/js/translated/table_filters.js:415 msgid "Supplier" msgstr "" @@ -2759,7 +2777,7 @@ msgstr "" #: 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 +#: templates/js/translated/part.js:986 msgid "SKU" msgstr "" @@ -2780,17 +2798,17 @@ msgid "Supplier part description" msgstr "" #: company/models.py:518 company/templates/company/supplier_part.html:125 -#: part/models.py:2571 part/templates/part/upload_bom.html:59 +#: part/models.py:2561 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:387 msgid "Note" msgstr "" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "base cost" msgstr "" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -2804,7 +2822,7 @@ msgstr "" msgid "Part packaging" msgstr "" -#: company/models.py:526 part/models.py:1690 +#: company/models.py:526 part/models.py:1685 msgid "multiple" msgstr "" @@ -2867,10 +2885,11 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:649 +#: company/templates/company/company_base.html:86 order/models.py:653 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:758 +#: stock/models.py:628 stock/serializers.py:745 #: stock/templates/stock/item_base.html:401 +#: templates/email/overdue_sales_order.html:16 #: 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 @@ -3000,7 +3019,7 @@ msgid "Supplier List" msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:45 -#: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 +#: part/templates/part/prices.html:172 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -3033,7 +3052,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:39 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 +#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" msgstr "" @@ -3145,7 +3164,7 @@ msgstr "" #: company/templates/company/supplier_part.html:191 #: company/templates/company/supplier_part.html:305 -#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046 +#: part/templates/part/prices.html:276 templates/js/translated/part.js:2142 msgid "Add Price Break" msgstr "" @@ -3154,12 +3173,12 @@ msgid "No price break information found" msgstr "" #: company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2152 msgid "Delete Price Break" msgstr "" #: company/templates/company/supplier_part.html:245 -#: templates/js/translated/part.js:2070 +#: templates/js/translated/part.js:2166 msgid "Edit Price Break" msgstr "" @@ -3181,8 +3200,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: 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/bom.js:554 templates/js/translated/part.js:722 +#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1431 #: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1687 #: templates/navbar.html:31 msgid "Stock" @@ -3239,20 +3258,20 @@ msgstr "" msgid "New Company" msgstr "" -#: company/views.py:112 part/views.py:578 +#: company/views.py:112 part/views.py:501 msgid "Download Image" msgstr "" -#: company/views.py:139 part/views.py:608 +#: company/views.py:139 part/views.py:531 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:146 part/views.py:615 +#: company/views.py:146 part/views.py:538 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:155 part/views.py:624 +#: company/views.py:155 part/views.py:547 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3325,7 +3344,7 @@ msgstr "" msgid "Order description" msgstr "" -#: order/models.py:135 order/models.py:1236 +#: order/models.py:135 order/models.py:1240 msgid "Link to external page" msgstr "" @@ -3341,293 +3360,294 @@ msgstr "" msgid "Order notes" msgstr "" -#: order/models.py:289 order/models.py:639 +#: order/models.py:293 order/models.py:643 msgid "Order reference" msgstr "" -#: order/models.py:294 order/models.py:654 +#: order/models.py:298 order/models.py:658 msgid "Purchase order status" msgstr "" -#: order/models.py:304 +#: order/models.py:308 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:307 order/templates/order/order_base.html:124 +#: order/models.py:311 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:307 +#: order/models.py:311 msgid "Supplier order reference code" msgstr "" -#: order/models.py:314 +#: order/models.py:318 msgid "received by" msgstr "" -#: order/models.py:319 +#: order/models.py:323 msgid "Issue Date" msgstr "" -#: order/models.py:320 +#: order/models.py:324 msgid "Date order was issued" msgstr "" -#: order/models.py:325 +#: order/models.py:329 msgid "Target Delivery Date" msgstr "" -#: order/models.py:326 +#: order/models.py:330 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:332 +#: order/models.py:336 msgid "Date order was completed" msgstr "" -#: order/models.py:368 +#: order/models.py:372 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:512 +#: order/models.py:516 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:650 +#: order/models.py:654 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:656 +#: order/models.py:660 msgid "Customer Reference " msgstr "" -#: order/models.py:656 +#: order/models.py:660 msgid "Customer order reference code" msgstr "" -#: order/models.py:661 +#: order/models.py:665 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:664 order/models.py:1190 +#: order/models.py:668 order/models.py:1194 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:671 +#: order/models.py:675 msgid "shipped by" msgstr "" -#: order/models.py:726 +#: order/models.py:730 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:730 +#: order/models.py:734 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:733 +#: order/models.py:737 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:736 +#: order/models.py:740 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:910 +#: order/models.py:914 msgid "Item quantity" msgstr "" -#: order/models.py:916 +#: order/models.py:920 msgid "Line item reference" msgstr "" -#: order/models.py:918 +#: order/models.py:922 msgid "Line item notes" msgstr "" -#: order/models.py:923 +#: order/models.py:927 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:941 +#: order/models.py:945 msgid "Context" msgstr "" -#: order/models.py:942 +#: order/models.py:946 msgid "Additional context for this line" msgstr "" -#: order/models.py:950 +#: order/models.py:954 msgid "Unit price" msgstr "" -#: order/models.py:980 +#: order/models.py:984 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:988 +#: order/models.py:992 msgid "deleted" msgstr "" -#: order/models.py:994 order/models.py:1074 order/models.py:1099 -#: order/models.py:1184 order/models.py:1320 +#: order/models.py:998 order/models.py:1078 order/models.py:1103 +#: order/models.py:1188 order/models.py:1324 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:995 order/models.py:1074 +#: order/models.py:999 order/models.py:1078 #: 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/email/overdue_purchase_order.html:15 #: 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/part.js:943 templates/js/translated/stock.js:1846 #: templates/js/translated/stock.js:2412 msgid "Purchase Order" msgstr "" -#: order/models.py:1013 +#: order/models.py:1017 msgid "Supplier part" msgstr "" -#: order/models.py:1020 order/templates/order/order_base.html:169 +#: order/models.py:1024 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/part.js:1037 templates/js/translated/part.js:1064 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1021 +#: order/models.py:1025 msgid "Number of items received" msgstr "" -#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: order/models.py:1032 part/templates/part/prices.html:181 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:1029 +#: order/models.py:1033 msgid "Unit purchase price" msgstr "" -#: order/models.py:1037 +#: order/models.py:1041 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1109 part/templates/part/part_pricing.html:112 -#: part/templates/part/prices.html:119 part/templates/part/prices.html:288 +#: order/models.py:1113 part/templates/part/part_pricing.html:115 +#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 msgid "Sale Price" msgstr "" -#: order/models.py:1110 +#: order/models.py:1114 msgid "Unit sale price" msgstr "" -#: order/models.py:1115 +#: order/models.py:1119 msgid "Shipped quantity" msgstr "" -#: order/models.py:1191 +#: order/models.py:1195 msgid "Date of shipment" msgstr "" -#: order/models.py:1198 +#: order/models.py:1202 msgid "Checked By" msgstr "" -#: order/models.py:1199 +#: order/models.py:1203 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1207 +#: order/models.py:1211 msgid "Shipment number" msgstr "" -#: order/models.py:1214 +#: order/models.py:1218 msgid "Shipment notes" msgstr "" -#: order/models.py:1221 +#: order/models.py:1225 msgid "Tracking Number" msgstr "" -#: order/models.py:1222 +#: order/models.py:1226 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1229 +#: order/models.py:1233 msgid "Invoice Number" msgstr "" -#: order/models.py:1230 +#: order/models.py:1234 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1248 +#: order/models.py:1252 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1251 +#: order/models.py:1255 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1354 order/models.py:1356 +#: order/models.py:1358 order/models.py:1360 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1360 +#: order/models.py:1364 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1362 +#: order/models.py:1366 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1365 +#: order/models.py:1369 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1369 +#: order/models.py:1373 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1375 order/serializers.py:1045 +#: order/models.py:1379 order/serializers.py:1047 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1378 +#: order/models.py:1382 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1379 +#: order/models.py:1383 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1387 +#: order/models.py:1391 msgid "Line" msgstr "" -#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 +#: order/models.py:1399 order/serializers.py:1151 order/serializers.py:1275 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1396 +#: order/models.py:1400 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1412 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1409 +#: order/models.py:1413 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1412 +#: order/models.py:1416 msgid "Enter stock allocation quantity" msgstr "" @@ -3663,7 +3683,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1117 +#: order/serializers.py:406 order/serializers.py:1119 msgid "Line Item" msgstr "" @@ -3711,42 +3731,60 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:866 +#: order/serializers.py:868 msgid "Sale price currency" msgstr "" -#: order/serializers.py:947 +#: order/serializers.py:949 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1006 order/serializers.py:1126 +#: order/serializers.py:1008 order/serializers.py:1128 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1028 +#: order/serializers.py:1030 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1139 +#: order/serializers.py:1141 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1161 order/serializers.py:1281 +#: order/serializers.py:1163 order/serializers.py:1283 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1164 order/serializers.py:1284 +#: order/serializers.py:1166 order/serializers.py:1286 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1216 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1224 +#: order/serializers.py:1226 msgid "The following serial numbers are already allocated" msgstr "" +#: order/tasks.py:26 +msgid "Overdue Purchase Order" +msgstr "" + +#: order/tasks.py:31 +#, python-brace-format +msgid "Purchase order {po} is now overdue" +msgstr "" + +#: order/tasks.py:88 +msgid "Overdue Sales Order" +msgstr "" + +#: order/tasks.py:93 +#, python-brace-format +msgid "Sales order {so} is now overdue" +msgstr "" + #: order/templates/order/order_base.html:33 msgid "Print purchase order report" msgstr "" @@ -4022,47 +4060,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:474 +#: part/api.py:481 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:494 +#: part/api.py:501 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:512 +#: part/api.py:519 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:544 +#: part/api.py:551 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:630 +#: part/api.py:637 msgid "Valid" msgstr "" -#: part/api.py:631 +#: part/api.py:638 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:637 +#: part/api.py:644 msgid "This option must be selected" msgstr "" -#: part/api.py:1003 +#: part/api.py:1010 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1007 +#: part/api.py:1014 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1022 +#: part/api.py:1029 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1053 part/api.py:1057 part/api.py:1072 part/api.py:1076 +#: part/api.py:1060 part/api.py:1064 part/api.py:1079 part/api.py:1083 msgid "This field is required" msgstr "" @@ -4081,25 +4119,13 @@ msgid "Available Stock" msgstr "" #: 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 +#: templates/js/translated/part.js:561 templates/js/translated/part.js:581 +#: templates/js/translated/part.js:1273 templates/js/translated/part.js:1445 +#: templates/js/translated/part.js:1461 msgid "On Order" msgstr "" -#: part/forms.py:59 -msgid "Select part category" -msgstr "" - -#: part/forms.py:67 -msgid "Add parameter template to same level categories" -msgstr "" - -#: part/forms.py:71 -msgid "Add parameter template to all categories" -msgstr "" - -#: part/forms.py:92 +#: part/forms.py:60 msgid "Input quantity for price calculation" msgstr "" @@ -4115,7 +4141,7 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:115 part/models.py:2413 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2403 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -4132,7 +4158,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:144 +#: templates/js/translated/part.js:1864 templates/js/translated/search.js:144 #: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "" @@ -4162,7 +4188,7 @@ msgstr "" msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:738 part/models.py:2467 +#: part/models.py:738 part/models.py:2457 msgid "Part name" msgstr "" @@ -4195,12 +4221,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:776 part/models.py:2171 part/models.py:2412 +#: part/models.py:776 part/models.py:2159 part/models.py:2402 #: part/templates/part/part_base.html:257 -#: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 #: templates/InvenTree/settings/settings.html:231 -#: templates/js/translated/part.js:1369 +#: templates/js/translated/part.js:1413 templates/js/translated/part.js:1639 msgid "Category" msgstr "" @@ -4209,7 +4234,7 @@ msgid "Part category" msgstr "" #: 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/part.js:710 templates/js/translated/part.js:1366 #: templates/js/translated/stock.js:1659 msgid "IPN" msgstr "" @@ -4223,7 +4248,7 @@ msgid "Part revision or version number" msgstr "" #: part/models.py:790 part/templates/part/part_base.html:273 -#: report/models.py:170 templates/js/translated/part.js:670 +#: report/models.py:170 templates/js/translated/part.js:714 msgid "Revision" msgstr "" @@ -4311,317 +4336,321 @@ msgstr "" msgid "Creation User" msgstr "" -#: part/models.py:1690 +#: part/models.py:1685 msgid "Sell multiple" msgstr "" -#: part/models.py:2218 +#: part/models.py:2206 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2235 +#: part/models.py:2223 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2255 templates/js/translated/part.js:1819 +#: part/models.py:2243 templates/js/translated/part.js:1915 #: templates/js/translated/stock.js:1274 msgid "Test Name" msgstr "" -#: part/models.py:2256 +#: part/models.py:2244 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2261 +#: part/models.py:2249 msgid "Test Description" msgstr "" -#: part/models.py:2262 +#: part/models.py:2250 msgid "Enter description for this test" msgstr "" -#: part/models.py:2267 templates/js/translated/part.js:1828 +#: part/models.py:2255 templates/js/translated/part.js:1924 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2268 +#: part/models.py:2256 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2273 templates/js/translated/part.js:1836 +#: part/models.py:2261 templates/js/translated/part.js:1932 msgid "Requires Value" msgstr "" -#: part/models.py:2274 +#: part/models.py:2262 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2279 templates/js/translated/part.js:1843 +#: part/models.py:2267 templates/js/translated/part.js:1939 msgid "Requires Attachment" msgstr "" -#: part/models.py:2280 +#: part/models.py:2268 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2288 +#: part/models.py:2276 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2324 +#: part/models.py:2312 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2332 +#: part/models.py:2320 msgid "Parameter Name" msgstr "" -#: part/models.py:2339 +#: part/models.py:2327 msgid "Parameter Units" msgstr "" -#: part/models.py:2370 +#: part/models.py:2358 msgid "Parent Part" msgstr "" -#: part/models.py:2372 part/models.py:2418 part/models.py:2419 +#: part/models.py:2360 part/models.py:2408 part/models.py:2409 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Data" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Parameter Value" msgstr "" -#: part/models.py:2423 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2413 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2424 +#: part/models.py:2414 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2459 +#: part/models.py:2449 msgid "Part ID or part name" msgstr "" -#: part/models.py:2462 templates/js/translated/model_renderers.js:200 +#: part/models.py:2452 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2463 +#: part/models.py:2453 msgid "Unique part ID value" msgstr "" -#: part/models.py:2466 +#: part/models.py:2456 msgid "Part Name" msgstr "" -#: part/models.py:2470 +#: part/models.py:2460 msgid "Part IPN" msgstr "" -#: part/models.py:2471 +#: part/models.py:2461 msgid "Part IPN value" msgstr "" -#: part/models.py:2474 +#: part/models.py:2464 msgid "Level" msgstr "" -#: part/models.py:2475 +#: part/models.py:2465 msgid "BOM level" msgstr "" -#: part/models.py:2544 +#: part/models.py:2534 msgid "Select parent part" msgstr "" -#: part/models.py:2552 +#: part/models.py:2542 msgid "Sub part" msgstr "" -#: part/models.py:2553 +#: part/models.py:2543 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2559 +#: part/models.py:2549 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2561 part/templates/part/upload_bom.html:58 +#: part/models.py:2551 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:2561 +#: part/models.py:2551 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2564 part/templates/part/upload_bom.html:55 +#: part/models.py:2554 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2565 +#: part/models.py:2555 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2568 +#: part/models.py:2558 msgid "BOM item reference" msgstr "" -#: part/models.py:2571 +#: part/models.py:2561 msgid "BOM item notes" msgstr "" -#: part/models.py:2573 +#: part/models.py:2563 msgid "Checksum" msgstr "" -#: part/models.py:2573 +#: part/models.py:2563 msgid "BOM line checksum" msgstr "" -#: part/models.py:2577 part/templates/part/upload_bom.html:57 +#: part/models.py:2567 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:2578 +#: part/models.py:2568 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2583 part/templates/part/upload_bom.html:56 +#: part/models.py:2573 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:980 msgid "Allow Variants" msgstr "" -#: part/models.py:2584 +#: part/models.py:2574 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2662 stock/models.py:460 +#: part/models.py:2652 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2671 part/models.py:2673 +#: part/models.py:2661 part/models.py:2663 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2778 +#: part/models.py:2768 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2799 +#: part/models.py:2789 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2812 +#: part/models.py:2802 msgid "Parent BOM item" msgstr "" -#: part/models.py:2820 +#: part/models.py:2810 msgid "Substitute part" msgstr "" -#: part/models.py:2831 +#: part/models.py:2825 msgid "Part 1" msgstr "" -#: part/models.py:2835 +#: part/models.py:2829 msgid "Part 2" msgstr "" -#: part/models.py:2835 +#: part/models.py:2829 msgid "Select Related Part" msgstr "" -#: part/models.py:2866 -msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" +#: part/models.py:2847 +msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 +#: part/models.py:2851 +msgid "Duplicate relationship already exists" +msgstr "" + +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:794 +#: part/serializers.py:796 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:804 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:805 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:810 msgid "Include Inherited" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:811 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:816 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:817 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:820 +#: part/serializers.py:822 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:821 +#: part/serializers.py:823 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:861 +#: part/serializers.py:863 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:864 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:894 msgid "No part column specified" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:937 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:938 +#: part/serializers.py:940 msgid "No matching part found" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:943 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:950 +#: part/serializers.py:952 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:958 +#: part/serializers.py:960 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:979 +#: part/serializers.py:981 msgid "At least one BOM item is required" msgstr "" @@ -5100,7 +5129,7 @@ msgstr "" #: 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 +#: templates/js/translated/part.js:625 templates/js/translated/part.js:702 msgid "Inactive" msgstr "" @@ -5133,9 +5162,9 @@ msgstr "" msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/part.js:520 -#: templates/js/translated/part.js:540 templates/js/translated/part.js:1233 -#: templates/js/translated/part.js:1405 templates/js/translated/part.js:1421 +#: part/templates/part/part_base.html:238 templates/js/translated/part.js:564 +#: templates/js/translated/part.js:584 templates/js/translated/part.js:1277 +#: templates/js/translated/part.js:1449 templates/js/translated/part.js:1465 msgid "Building" msgstr "" @@ -5152,7 +5181,7 @@ msgstr "" msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:443 part/templates/part/prices.html:147 +#: part/templates/part/part_base.html:443 part/templates/part/prices.html:149 msgid "Calculate" msgstr "" @@ -5170,19 +5199,19 @@ msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:106 -#: part/templates/part/prices.html:123 +#: part/templates/part/part_pricing.html:103 +#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 +#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:104 -#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:111 -#: part/templates/part/prices.html:128 +#: part/templates/part/part_pricing.html:107 +#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 +#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 +#: part/templates/part/prices.html:130 msgid "Total Cost" msgstr "" @@ -5192,32 +5221,33 @@ msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:246 +#: part/templates/part/prices.html:248 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:89 +#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:96 +#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:105 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/prices.html:107 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:128 -#: part/templates/part/prices.html:137 +#: part/templates/part/part_pricing.html:131 +#: part/templates/part/prices.html:139 msgid "No pricing information is available for this part." msgstr "" @@ -5241,44 +5271,6 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:9 -#, python-format -msgid "" -"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" -"
Disable the \"Active\" part attribute and re-try.\n" -" " -msgstr "" - -#: part/templates/part/partial_delete.html:17 -#, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" -msgstr "" - -#: part/templates/part/partial_delete.html:22 -#, python-format -msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" -msgstr "" - -#: part/templates/part/partial_delete.html:32 -#, python-format -msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:43 -#, python-format -msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:54 -#, python-format -msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:67 -#, python-format -msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." -msgstr "" - #: part/templates/part/prices.html:19 msgid "Pricing ranges" msgstr "" @@ -5295,66 +5287,58 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:120 +#: part/templates/part/prices.html:122 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:123 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:143 +#: part/templates/part/prices.html:145 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:957 +#: part/templates/part/prices.html:160 templates/js/translated/bom.js:957 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:159 part/templates/part/prices.html:180 -#: part/templates/part/prices.html:204 part/templates/part/prices.html:234 -#: part/templates/part/prices.html:260 part/templates/part/prices.html:289 +#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 +#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 +#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:184 +#: part/templates/part/prices.html:186 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:193 +#: part/templates/part/prices.html:195 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:203 +#: part/templates/part/prices.html:205 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:218 +#: part/templates/part/prices.html:220 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:233 +#: part/templates/part/prices.html:235 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:259 +#: part/templates/part/prices.html:261 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:300 +#: part/templates/part/prices.html:302 msgid "No sale pice history available for this part." msgstr "" -#: part/templates/part/set_category.html:9 -msgid "Set category for the following parts" -msgstr "" - -#: part/templates/part/set_category.html:32 -msgid "Remove part" -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543 -#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:587 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:1469 msgid "No Stock" msgstr "" @@ -5417,71 +5401,42 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:76 -msgid "Set Part Category" -msgstr "" - -#: part/views.py:124 -#, python-brace-format -msgid "Set category for {n} parts" -msgstr "" - -#: part/views.py:195 +#: part/views.py:118 msgid "Match References" msgstr "" -#: part/views.py:496 +#: part/views.py:419 msgid "None" msgstr "" -#: part/views.py:558 +#: part/views.py:481 msgid "Part QR Code" msgstr "" -#: part/views.py:652 +#: part/views.py:575 msgid "Select Part Image" msgstr "" -#: part/views.py:678 +#: part/views.py:601 msgid "Updated part image" msgstr "" -#: part/views.py:681 +#: part/views.py:604 msgid "Part image not found" msgstr "" -#: part/views.py:770 -msgid "Confirm Part Deletion" -msgstr "" - -#: part/views.py:778 -msgid "Part was deleted" -msgstr "" - -#: part/views.py:787 +#: part/views.py:693 msgid "Part Pricing" msgstr "" -#: part/views.py:978 +#: part/views.py:884 msgid "Delete Part Category" msgstr "" -#: part/views.py:985 +#: part/views.py:891 msgid "Part category was deleted" msgstr "" -#: part/views.py:994 -msgid "Create Category Parameter Template" -msgstr "" - -#: part/views.py:1094 -msgid "Edit Category Parameter Template" -msgstr "" - -#: part/views.py:1155 -msgid "Delete Category Parameter Template" -msgstr "" - #: plugin/apps.py:56 msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" @@ -5538,21 +5493,21 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:28 +#: plugin/builtin/integration/core_notifications.py:29 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 +#: plugin/builtin/integration/core_notifications.py:30 msgid "Integrated outgoing notificaton methods" msgstr "" -#: 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:34 #: plugin/builtin/integration/core_notifications.py:53 +msgid "Enable email notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:35 +#: plugin/builtin/integration/core_notifications.py:54 msgid "Allow sending of emails for event notifications" msgstr "" @@ -5668,15 +5623,19 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:166 +#: report/api.py:179 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:198 report/api.py:239 +#: report/api.py:215 report/api.py:256 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" +#: report/api.py:359 +msgid "Test report" +msgstr "" + #: report/models.py:152 msgid "Template name" msgstr "" @@ -5788,12 +5747,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2068 +#: stock/models.py:2072 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2074 +#: stock/models.py:2078 msgid "Result" msgstr "" @@ -5993,79 +5952,79 @@ msgstr "" msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1325 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1324 +#: stock/models.py:1328 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1327 +#: stock/models.py:1331 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1334 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1333 +#: stock/models.py:1337 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1340 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1343 stock/serializers.py:908 +#: stock/models.py:1347 stock/serializers.py:895 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1347 +#: stock/models.py:1351 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1355 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1359 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1524 +#: stock/models.py:1528 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1986 +#: stock/models.py:1990 msgid "Entry notes" msgstr "" -#: stock/models.py:2044 +#: stock/models.py:2048 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2050 +#: stock/models.py:2054 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2069 +#: stock/models.py:2073 msgid "Test name" msgstr "" -#: stock/models.py:2075 +#: stock/models.py:2079 msgid "Test result" msgstr "" -#: stock/models.py:2081 +#: stock/models.py:2085 msgid "Test output value" msgstr "" -#: stock/models.py:2088 +#: stock/models.py:2092 msgid "Test result attachment" msgstr "" -#: stock/models.py:2094 +#: stock/models.py:2098 msgid "Test notes" msgstr "" @@ -6086,7 +6045,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:865 stock/serializers.py:1098 +#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 msgid "Destination stock location" msgstr "" @@ -6126,63 +6085,63 @@ msgstr "" msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:707 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:724 +#: stock/serializers.py:711 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:728 +#: stock/serializers.py:715 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:759 +#: stock/serializers.py:746 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:765 +#: stock/serializers.py:752 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:773 +#: stock/serializers.py:760 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:783 stock/serializers.py:1014 +#: stock/serializers.py:770 stock/serializers.py:1001 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:872 +#: stock/serializers.py:859 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:877 +#: stock/serializers.py:864 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:878 +#: stock/serializers.py:865 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:883 +#: stock/serializers.py:870 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:884 +#: stock/serializers.py:871 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:894 +#: stock/serializers.py:881 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:976 +#: stock/serializers.py:963 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1004 +#: stock/serializers.py:991 msgid "Stock transaction notes" msgstr "" @@ -6207,7 +6166,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:295 msgid "Delete Test Data" msgstr "" @@ -6223,7 +6182,11 @@ msgstr "" msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:292 templates/js/translated/stock.js:1455 +#: stock/templates/stock/item.html:290 +msgid "Delete all test results for this stock item" +msgstr "" + +#: stock/templates/stock/item.html:331 templates/js/translated/stock.js:1455 msgid "Add Test Result" msgstr "" @@ -6551,7 +6514,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:182 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:144 msgid "Convert Stock Item" msgstr "" @@ -6572,31 +6535,19 @@ msgstr "" msgid "This action cannot be easily undone" msgstr "" -#: stock/views.py:113 +#: stock/views.py:111 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:131 -msgid "Delete All Test Data" -msgstr "" - -#: stock/views.py:149 -msgid "Confirm test data deletion" -msgstr "" - -#: stock/views.py:150 -msgid "Check the confirmation box" -msgstr "" - -#: stock/views.py:165 +#: stock/views.py:127 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:216 +#: stock/views.py:178 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:229 +#: stock/views.py:191 msgid "Delete Stock Item" msgstr "" @@ -6731,7 +6682,7 @@ msgid "Notifications" msgstr "" #: templates/InvenTree/notifications/notifications.html:51 -#: templates/InvenTree/settings/settings.html:321 +#: templates/InvenTree/settings/settings.html:340 msgid "ID" msgstr "" @@ -7005,32 +6956,40 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings.html:238 -#: templates/InvenTree/settings/settings.html:337 +#: templates/InvenTree/settings/settings.html:356 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings.html:239 -#: templates/InvenTree/settings/settings.html:338 +#: templates/InvenTree/settings/settings.html:357 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:317 +#: templates/InvenTree/settings/settings.html:279 +msgid "Create Category Parameter Template" +msgstr "" + +#: templates/InvenTree/settings/settings.html:324 +msgid "Delete Category Parameter Template" +msgstr "" + +#: templates/InvenTree/settings/settings.html:336 msgid "No part parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:355 +#: templates/InvenTree/settings/settings.html:374 msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:373 +#: templates/InvenTree/settings/settings.html:392 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:387 +#: templates/InvenTree/settings/settings.html:406 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings.html:395 +#: templates/InvenTree/settings/settings.html:414 msgid "Delete Part Parameter Template" msgstr "" @@ -7331,8 +7290,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:56 templates/js/translated/modals.js:595 -#: templates/js/translated/modals.js:689 templates/js/translated/modals.js:997 +#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 +#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 #: templates/js/translated/order.js:928 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7404,6 +7363,10 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:630 +msgid "Confirm" +msgstr "" + #: templates/account/email_confirm.html:27 #, python-format msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." @@ -7619,8 +7582,8 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 #: 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/build.js:2650 templates/js/translated/part.js:571 +#: templates/js/translated/part.js:574 #: templates/js/translated/table_filters.js:178 msgid "Available" msgstr "" @@ -7638,6 +7601,12 @@ msgstr "" msgid "Minimum Quantity" msgstr "" +#: templates/email/overdue_build_order.html:9 +#: templates/email/overdue_purchase_order.html:9 +#: templates/email/overdue_sales_order.html:9 +msgid "Click on the following link to view this order" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -7654,11 +7623,11 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:235 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:235 templates/js/translated/modals.js:1073 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1074 msgid "No response from the InvenTree server" msgstr "" @@ -7670,27 +7639,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1083 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1084 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:252 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:252 templates/js/translated/modals.js:1088 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:253 templates/js/translated/modals.js:1083 +#: templates/js/translated/api.js:253 templates/js/translated/modals.js:1089 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1093 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1088 +#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1094 msgid "The requested resource could not be located on the server" msgstr "" @@ -7702,11 +7671,11 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:267 templates/js/translated/modals.js:1092 +#: templates/js/translated/api.js:267 templates/js/translated/modals.js:1098 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:268 templates/js/translated/modals.js:1093 +#: templates/js/translated/api.js:268 templates/js/translated/modals.js:1099 msgid "Connection timeout while requesting data from server" msgstr "" @@ -7734,11 +7703,11 @@ msgstr "" msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:262 +#: templates/js/translated/attachment.js:268 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:269 +#: templates/js/translated/attachment.js:275 msgid "Delete attachment" msgstr "" @@ -7771,7 +7740,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "Invalid server response" msgstr "" @@ -7964,7 +7933,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:912 templates/js/translated/build.js:1820 -#: templates/js/translated/part.js:690 +#: templates/js/translated/part.js:734 msgid "Includes variant stock" msgstr "" @@ -8275,8 +8244,8 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: 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/build.js:2448 templates/js/translated/part.js:1358 +#: templates/js/translated/part.js:1825 templates/js/translated/stock.js:1619 #: templates/js/translated/stock.js:2277 msgid "Select" msgstr "" @@ -8370,34 +8339,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:615 -#: templates/js/translated/company.js:874 templates/js/translated/part.js:565 -#: templates/js/translated/part.js:650 +#: templates/js/translated/company.js:874 templates/js/translated/part.js:609 +#: templates/js/translated/part.js:694 msgid "Template part" msgstr "" #: templates/js/translated/company.js:619 -#: templates/js/translated/company.js:878 templates/js/translated/part.js:569 -#: templates/js/translated/part.js:654 +#: templates/js/translated/company.js:878 templates/js/translated/part.js:613 +#: templates/js/translated/part.js:698 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:747 templates/js/translated/part.js:757 +#: templates/js/translated/company.js:747 templates/js/translated/part.js:801 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:799 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:843 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:785 templates/js/translated/part.js:800 +#: templates/js/translated/company.js:785 templates/js/translated/part.js:844 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:804 templates/js/translated/part.js:817 +#: templates/js/translated/company.js:804 templates/js/translated/part.js:861 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:815 templates/js/translated/part.js:829 +#: templates/js/translated/company.js:815 templates/js/translated/part.js:873 msgid "Delete Parameter" msgstr "" @@ -8568,12 +8537,12 @@ msgid "Select Label Template" msgstr "" #: templates/js/translated/modals.js:82 templates/js/translated/modals.js:142 -#: templates/js/translated/modals.js:621 +#: templates/js/translated/modals.js:627 msgid "Cancel" msgstr "" #: 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/js/translated/modals.js:694 templates/js/translated/modals.js:1002 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" @@ -8582,47 +8551,47 @@ msgstr "" msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:403 +#: templates/js/translated/modals.js:421 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:562 +#: templates/js/translated/modals.js:568 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:620 +#: templates/js/translated/modals.js:626 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:677 +#: templates/js/translated/modals.js:683 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:960 +#: templates/js/translated/modals.js:966 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1072 +#: templates/js/translated/modals.js:1078 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1073 +#: templates/js/translated/modals.js:1079 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1096 +#: templates/js/translated/modals.js:1102 msgid "Error requesting form data" msgstr "" @@ -8672,11 +8641,11 @@ msgstr "" msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:259 +#: templates/js/translated/notification.js:260 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:300 templates/notifications.html:10 +#: templates/js/translated/notification.js:302 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" @@ -8844,7 +8813,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1602 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1602 templates/js/translated/part.js:914 msgid "No purchase orders found" msgstr "" @@ -8879,7 +8848,7 @@ msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 #: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 -#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 +#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2397 msgid "Unit Price" msgstr "" @@ -8889,11 +8858,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:1993 templates/js/translated/order.js:3525 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:1023 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1069 msgid "Receive line item" msgstr "" @@ -9154,165 +9123,209 @@ msgstr "" msgid "Create Part Variant" msgstr "" +#: templates/js/translated/part.js:405 +msgid "Active Part" +msgstr "" + +#: templates/js/translated/part.js:406 +msgid "Part cannot be deleted as it is currently active" +msgstr "" + +#: templates/js/translated/part.js:420 +msgid "Deleting this part cannot be reversed" +msgstr "" + +#: templates/js/translated/part.js:422 +msgid "Any stock items for this part will be deleted" +msgstr "" + #: templates/js/translated/part.js:423 +msgid "This part will be removed from any Bills of Material" +msgstr "" + +#: templates/js/translated/part.js:424 +msgid "All manufacturer and supplier information for this part will be deleted" +msgstr "" + +#: templates/js/translated/part.js:431 +msgid "Delete Part" +msgstr "" + +#: templates/js/translated/part.js:467 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:425 +#: templates/js/translated/part.js:469 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:474 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:476 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:493 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:503 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:506 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:487 +#: templates/js/translated/part.js:531 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:513 templates/js/translated/part.js:1397 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1441 #: templates/js/translated/table_filters.js:452 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:523 templates/js/translated/part.js:1409 +#: templates/js/translated/part.js:567 templates/js/translated/part.js:1453 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:557 templates/js/translated/part.js:642 +#: templates/js/translated/part.js:601 templates/js/translated/part.js:686 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:561 templates/js/translated/part.js:646 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:690 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:617 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:577 +#: templates/js/translated/part.js:621 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:705 +#: templates/js/translated/part.js:749 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1095 +#: templates/js/translated/part.js:1139 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1119 +#: templates/js/translated/part.js:1163 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1184 templates/js/translated/part.js:1480 +#: templates/js/translated/part.js:1228 templates/js/translated/part.js:1524 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1223 +#: templates/js/translated/part.js:1267 msgid "Not available" msgstr "" -#: templates/js/translated/part.js:1374 +#: templates/js/translated/part.js:1418 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664 +#: templates/js/translated/part.js:1548 templates/js/translated/part.js:1760 #: templates/js/translated/stock.js:2238 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1520 +#: templates/js/translated/part.js:1564 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2257 +#: templates/js/translated/part.js:1630 +msgid "Set the part category for the selected parts" +msgstr "" + +#: templates/js/translated/part.js:1635 +msgid "Set Part Category" +msgstr "" + +#: templates/js/translated/part.js:1640 +msgid "Select Part Category" +msgstr "" + +#: templates/js/translated/part.js:1653 +msgid "Category is required" +msgstr "" + +#: templates/js/translated/part.js:1779 templates/js/translated/stock.js:2257 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1747 +#: templates/js/translated/part.js:1843 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2301 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2301 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:1901 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1233 +#: templates/js/translated/part.js:1952 templates/js/translated/stock.js:1233 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1234 +#: templates/js/translated/part.js:1953 templates/js/translated/stock.js:1234 #: templates/js/translated/stock.js:1493 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1863 +#: templates/js/translated/part.js:1959 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1885 +#: templates/js/translated/part.js:1981 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:1995 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1924 +#: templates/js/translated/part.js:2020 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1981 +#: templates/js/translated/part.js:2077 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1982 +#: templates/js/translated/part.js:2078 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:2096 +#: templates/js/translated/part.js:2192 msgid "Current Stock" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2225 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2155 +#: templates/js/translated/part.js:2251 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2225 +#: templates/js/translated/part.js:2321 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:2244 +#: templates/js/translated/part.js:2340 msgid "Single Price Difference" msgstr "" diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po index b3162ac9ce..a4592c4198 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-06-05 14:26+0000\n" -"PO-Revision-Date: 2022-06-05 14:34\n" +"POT-Creation-Date: 2022-06-06 22:59+0000\n" +"PO-Revision-Date: 2022-06-07 14:34\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:46 +#: InvenTree/api.py:49 msgid "API endpoint not found" msgstr "Конечная точка API не обнаружена" @@ -29,275 +29,273 @@ msgstr "" msgid "Enter date" msgstr "Введите дату" -#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:630 -msgid "Confirm" -msgstr "Подтвердить" - -#: InvenTree/forms.py:134 +#: InvenTree/forms.py:117 msgid "Confirm delete" msgstr "Подтвердите удаление" -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:118 msgid "Confirm item deletion" msgstr "Подтвердите удаление элемента" -#: InvenTree/forms.py:167 +#: InvenTree/forms.py:150 msgid "Enter password" msgstr "Введите пароль" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:151 msgid "Enter new password" msgstr "Введите новый пароль" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:158 msgid "Confirm password" msgstr "Подтвердить пароль" -#: InvenTree/forms.py:176 +#: InvenTree/forms.py:159 msgid "Confirm new password" msgstr "Подтвердите новый пароль" -#: InvenTree/forms.py:213 -msgid "Select Category" -msgstr "Выбрать категорию" - -#: InvenTree/forms.py:234 +#: InvenTree/forms.py:184 msgid "Email (again)" msgstr "Email (еще раз)" -#: InvenTree/forms.py:238 +#: InvenTree/forms.py:188 msgid "Email address confirmation" msgstr "Подтверждение адреса электронной почты" -#: InvenTree/forms.py:259 +#: InvenTree/forms.py:209 msgid "You must type the same email each time." msgstr "Вы должны вводить один и тот же адрес электронной почты." -#: InvenTree/helpers.py:402 +#: InvenTree/helpers.py:404 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "Повторяющийся серийный номер: {sn}" -#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 +#: InvenTree/helpers.py:411 order/models.py:370 order/models.py:522 msgid "Invalid quantity provided" msgstr "недопустимое количество" -#: InvenTree/helpers.py:412 +#: InvenTree/helpers.py:414 msgid "Empty serial number string" msgstr "Пустая строка серийного номера" -#: InvenTree/helpers.py:444 +#: InvenTree/helpers.py:446 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:447 +#: InvenTree/helpers.py:449 #, python-brace-format msgid "Invalid group: {g}" msgstr "Некорректный идентификатор группы {g}" -#: InvenTree/helpers.py:475 +#: InvenTree/helpers.py:477 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:483 +#: InvenTree/helpers.py:485 #, python-brace-format msgid "Invalid/no group {group}" msgstr "Недопустимая/несуществующая группа {group}" -#: InvenTree/helpers.py:489 +#: InvenTree/helpers.py:491 msgid "No serial numbers found" msgstr "Серийных номеров не найдено" -#: InvenTree/helpers.py:493 +#: InvenTree/helpers.py:495 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:174 +#: InvenTree/models.py:178 msgid "Missing file" msgstr "Файл не найден" -#: InvenTree/models.py:175 +#: InvenTree/models.py:179 msgid "Missing external link" msgstr "Отсутствует внешняя ссылка" -#: InvenTree/models.py:187 stock/models.py:2087 -#: templates/js/translated/attachment.js:101 -#: templates/js/translated/attachment.js:198 +#: InvenTree/models.py:191 stock/models.py:2091 +#: templates/js/translated/attachment.js:103 +#: templates/js/translated/attachment.js:194 msgid "Attachment" msgstr "Вложения" -#: InvenTree/models.py:188 +#: InvenTree/models.py:192 msgid "Select file to attach" msgstr "Выберите файл для вложения" -#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 -#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: InvenTree/models.py:198 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:136 order/models.py:1251 #: 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 -#: templates/js/translated/part.js:1441 +#: templates/js/translated/company.js:640 +#: templates/js/translated/company.js:931 templates/js/translated/order.js:2676 +#: templates/js/translated/part.js:1485 msgid "Link" msgstr "Ссылка" -#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: InvenTree/models.py:199 build/models.py:320 part/models.py:796 #: stock/models.py:642 msgid "Link to external URL" msgstr "Ссылка на внешний URL" -#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 -#: templates/js/translated/attachment.js:242 +#: InvenTree/models.py:202 templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:238 msgid "Comment" msgstr "Комментарий" -#: InvenTree/models.py:198 +#: InvenTree/models.py:202 msgid "File comment" msgstr "Комментарий к файлу" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1506 +#: common/models.py:1507 common/models.py:1735 common/models.py:1736 +#: common/models.py:1998 common/models.py:1999 part/models.py:2141 +#: part/models.py:2161 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:2523 msgid "User" msgstr "Пользователь" -#: InvenTree/models.py:208 +#: InvenTree/models.py:212 msgid "upload date" msgstr "дата загрузки" -#: InvenTree/models.py:230 +#: InvenTree/models.py:234 msgid "Filename must not be empty" msgstr "Имя файла не должно быть пустым" -#: InvenTree/models.py:253 +#: InvenTree/models.py:257 msgid "Invalid attachment directory" msgstr "Неверная директория вложений" -#: InvenTree/models.py:263 +#: InvenTree/models.py:267 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Имя файла содержит запрещенные символы '{c}'" -#: InvenTree/models.py:266 +#: InvenTree/models.py:270 msgid "Filename missing extension" msgstr "Отсутствует расширение для имени файла" -#: InvenTree/models.py:273 +#: InvenTree/models.py:277 msgid "Attachment with this filename already exists" msgstr "Вложение с таким именем файла уже существует" -#: InvenTree/models.py:280 +#: InvenTree/models.py:284 msgid "Error renaming file" msgstr "Ошибка переименования файла" -#: InvenTree/models.py:314 +#: InvenTree/models.py:318 msgid "Invalid choice" msgstr "Неверный выбор" -#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 #: company/models.py:354 label/models.py:101 part/models.py:739 -#: part/models.py:2331 plugin/models.py:93 report/models.py:151 +#: part/models.py:2319 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 #: templates/InvenTree/settings/plugin.html:132 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:346 -#: 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:2283 +#: templates/js/translated/company.js:530 +#: templates/js/translated/company.js:742 templates/js/translated/part.js:659 +#: templates/js/translated/part.js:811 templates/js/translated/part.js:1832 +#: templates/js/translated/stock.js:2293 msgid "Name" msgstr "Название" -#: InvenTree/models.py:340 build/models.py:197 +#: InvenTree/models.py:344 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: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:164 +#: order/models.py:134 part/models.py:762 part/templates/part/category.html:74 +#: part/templates/part/part_base.html:167 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 -#: 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/bom.js:553 templates/js/translated/bom.js:845 +#: templates/js/translated/build.js:2476 templates/js/translated/company.js:395 +#: templates/js/translated/company.js:651 +#: templates/js/translated/company.js:942 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:1676 -#: templates/js/translated/stock.js:2295 templates/js/translated/stock.js:2350 +#: templates/js/translated/part.js:718 templates/js/translated/part.js:1126 +#: templates/js/translated/part.js:1399 templates/js/translated/part.js:1851 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:1686 +#: templates/js/translated/stock.js:2305 templates/js/translated/stock.js:2360 msgid "Description" msgstr "Описание" -#: InvenTree/models.py:341 +#: InvenTree/models.py:345 msgid "Description (optional)" msgstr "Описание (необязательно)" -#: InvenTree/models.py:349 +#: InvenTree/models.py:353 msgid "parent" msgstr "родитель" -#: InvenTree/serializers.py:52 part/models.py:2652 +#: InvenTree/models.py:466 +msgid "Server Error" +msgstr "" + +#: InvenTree/models.py:467 +msgid "An error has been logged by the server." +msgstr "" + +#: InvenTree/serializers.py:52 part/models.py:2640 msgid "Must be a valid number" msgstr "Должно быть действительным номером" -#: InvenTree/serializers.py:271 +#: InvenTree/serializers.py:263 msgid "Filename" msgstr "Имя файла" -#: InvenTree/serializers.py:306 +#: InvenTree/serializers.py:298 msgid "Invalid value" msgstr "Неверное значение" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:320 msgid "Data File" msgstr "Файл данных" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:321 msgid "Select data file for upload" msgstr "Выберите файл данных для загрузки" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:342 msgid "Unsupported file type" msgstr "Неподдерживаемый тип файла" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:348 msgid "File is too large" msgstr "Файл слишком большой" -#: InvenTree/serializers.py:377 +#: InvenTree/serializers.py:369 msgid "No columns found in file" msgstr "Столбцы в файле не найдены" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:372 msgid "No data rows found in file" msgstr "Строки данных в файле не найдены" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:495 msgid "No data rows provided" msgstr "Строки данных в файле не найдены" -#: InvenTree/serializers.py:506 +#: InvenTree/serializers.py:498 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:583 +#: InvenTree/serializers.py:575 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:592 +#: InvenTree/serializers.py:584 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Повторяющийся столбец: '{col}'" @@ -440,7 +438,7 @@ msgstr "Потерян" msgid "Returned" msgstr "Возвращено" -#: InvenTree/status_codes.py:141 order/models.py:1114 +#: InvenTree/status_codes.py:141 order/models.py:1130 #: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "Доставлено" @@ -525,7 +523,7 @@ msgstr "Отделить от родительского элемента" msgid "Split child item" msgstr "Разбить дочерний элемент" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2020 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2030 msgid "Merged stock items" msgstr "Объединенные позиции на складе" @@ -597,27 +595,27 @@ msgstr "Перегрузка не может превысить 100%" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:522 +#: InvenTree/views.py:521 msgid "Delete Item" msgstr "Удалить элемент" -#: InvenTree/views.py:571 +#: InvenTree/views.py:570 msgid "Check box to confirm item deletion" msgstr "Установите флажок для подтверждения удаления элемента" -#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:585 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Редактировать информацию о пользователе" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:597 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Установить пароль" -#: InvenTree/views.py:618 +#: InvenTree/views.py:617 msgid "Password fields must match" msgstr "Пароли должны совпадать" -#: InvenTree/views.py:842 templates/navbar.html:152 +#: InvenTree/views.py:807 templates/navbar.html:152 msgid "System Information" msgstr "Информация о системе" @@ -628,6 +626,7 @@ msgstr "Неверный выбор для родительской сборки #: 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/email/overdue_build_order.html:15 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "Порядок сборки" @@ -646,12 +645,12 @@ msgstr "Порядок сборки" msgid "Build Order Reference" msgstr "Ссылка на заказ" -#: build/models.py:189 order/models.py:288 order/models.py:638 -#: order/models.py:916 part/models.py:2570 +#: build/models.py:189 order/models.py:293 order/models.py:654 +#: order/models.py:932 part/models.py:2558 #: 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/bom.js:690 templates/js/translated/bom.js:852 #: 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:3959 @@ -673,13 +672,12 @@ msgstr "" #: 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:2460 part/models.py:2545 part/models.py:2821 -#: part/serializers.py:793 part/templates/part/part_app_base.html:8 +#: order/models.py:1028 order/models.py:1119 part/models.py:336 +#: part/models.py:2087 part/models.py:2102 part/models.py:2121 +#: part/models.py:2139 part/models.py:2238 part/models.py:2358 +#: part/models.py:2448 part/models.py:2533 part/models.py:2809 +#: part/serializers.py:795 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 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 @@ -687,22 +685,23 @@ msgstr "" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 +#: templates/email/overdue_build_order.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:805 +#: templates/js/translated/bom.js:689 templates/js/translated/bom.js:799 #: 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/company.js:253 +#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:592 +#: templates/js/translated/company.js:851 templates/js/translated/order.js:100 #: templates/js/translated/order.js:883 templates/js/translated/order.js:1315 #: 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:1633 templates/js/translated/stock.js:2376 -#: templates/js/translated/stock.js:2571 templates/js/translated/stock.js:2705 +#: templates/js/translated/part.js:1111 templates/js/translated/part.js:1181 +#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:695 templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2386 +#: templates/js/translated/stock.js:2581 templates/js/translated/stock.js:2715 msgid "Part" msgstr "Детали" @@ -768,12 +767,12 @@ msgstr "Код партии" msgid "Batch code for this build output" msgstr "Код партии для этого вывода сборки" -#: build/models.py:282 order/models.py:137 part/models.py:932 +#: build/models.py:282 order/models.py:138 part/models.py:932 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "Дата создания" -#: build/models.py:286 order/models.py:660 +#: build/models.py:286 order/models.py:676 msgid "Target completion date" msgstr "Целевая дата завершения" @@ -781,7 +780,7 @@ msgstr "Целевая дата завершения" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Целевая дата для сборки. Сборка будет просрочена после этой даты." -#: build/models.py:290 order/models.py:331 +#: build/models.py:290 order/models.py:336 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "Дата завершения" @@ -799,7 +798,7 @@ msgid "User who issued this build order" msgstr "Пользователь, выпустивший этот заказ на сборку" #: build/models.py:313 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:151 +#: build/templates/build/detail.html:115 order/models.py:152 #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 @@ -822,20 +821,20 @@ msgstr "Внешняя ссылка" #: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 #: company/models.py:519 company/templates/company/sidebar.html:25 -#: order/models.py:155 order/models.py:918 order/models.py:1213 +#: order/models.py:156 order/models.py:934 order/models.py:1229 #: order/templates/order/po_sidebar.html:11 #: 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:713 stock/models.py:1985 stock/models.py:2093 +#: stock/models.py:713 stock/models.py:1989 stock/models.py:2097 #: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:486 -#: stock/serializers.py:772 stock/serializers.py:871 stock/serializers.py:1003 +#: stock/serializers.py:759 stock/serializers.py:858 stock/serializers.py:990 #: 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/barcode.js:100 templates/js/translated/bom.js:1038 +#: templates/js/translated/company.js:947 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 -#: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 +#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1926 msgid "Notes" msgstr "Заметки" @@ -855,44 +854,44 @@ msgstr "Вывод сборки уже завершен" msgid "Build output does not match Build Order" msgstr "Вывод сборки не совпадает с порядком сборки" -#: build/models.py:1108 +#: build/models.py:1111 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Элемент сборки должен указать вывод сборки, так как основная часть помечена как отслеживаемая" -#: build/models.py:1117 +#: build/models.py:1120 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1127 +#: build/models.py:1130 msgid "Stock item is over-allocated" msgstr "Предмет на складе перераспределен" -#: build/models.py:1133 order/models.py:1372 +#: build/models.py:1136 order/models.py:1388 msgid "Allocation quantity must be greater than zero" msgstr "Выделенное количество должно быть больше нуля" -#: build/models.py:1139 +#: build/models.py:1142 msgid "Quantity must be 1 for serialized stock" msgstr "Количество должно быть 1 для сериализованных запасов" -#: build/models.py:1196 +#: build/models.py:1199 msgid "Selected stock item not found in BOM" msgstr "Выбранная единица хранения не найдена в BOM" -#: build/models.py:1265 stock/templates/stock/item_base.html:177 +#: build/models.py:1268 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:1266 +#: build/models.py:1269 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 -#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:703 -#: stock/serializers.py:829 stock/templates/stock/item_base.html:10 +#: build/models.py:1285 build/serializers.py:603 order/serializers.py:996 +#: order/serializers.py:1017 stock/serializers.py:382 stock/serializers.py:690 +#: stock/serializers.py:816 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 @@ -900,22 +899,22 @@ msgstr "" #: 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:2449 +#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696 +#: templates/js/translated/stock.js:2459 msgid "Stock Item" msgstr "Предметы на складе" -#: build/models.py:1283 +#: build/models.py:1286 msgid "Source stock item" msgstr "Исходный складской предмет" -#: build/models.py:1295 build/serializers.py:183 +#: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1536 +#: build/templates/build/detail.html:34 common/models.py:1543 #: 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:68 -#: part/forms.py:83 part/forms.py:98 part/models.py:2561 +#: order/models.py:925 order/models.py:1428 order/serializers.py:1136 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 +#: part/forms.py:74 part/forms.py:89 part/models.py:2549 #: 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 @@ -926,8 +925,8 @@ msgstr "Исходный складской предмет" #: report/templates/report/inventree_test_report_base.html:139 #: 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 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:691 +#: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 #: templates/js/translated/build.js:574 templates/js/translated/build.js:765 #: templates/js/translated/build.js:1175 templates/js/translated/build.js:1673 #: templates/js/translated/build.js:2086 @@ -937,23 +936,23 @@ msgstr "Исходный складской предмет" #: 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: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 -#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727 -#: templates/js/translated/stock.js:2498 templates/js/translated/stock.js:2583 +#: templates/js/translated/part.js:1011 templates/js/translated/part.js:2065 +#: templates/js/translated/part.js:2296 templates/js/translated/part.js:2330 +#: templates/js/translated/part.js:2408 templates/js/translated/stock.js:402 +#: templates/js/translated/stock.js:556 templates/js/translated/stock.js:726 +#: templates/js/translated/stock.js:2508 templates/js/translated/stock.js:2593 msgid "Quantity" msgstr "Количество" -#: build/models.py:1296 +#: build/models.py:1299 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1304 +#: build/models.py:1307 msgid "Install into" msgstr "" -#: build/models.py:1305 +#: build/models.py:1308 msgid "Destination stock item" msgstr "" @@ -982,9 +981,9 @@ msgstr "" msgid "Enter quantity for build output" msgstr "Введите количество для вывода сборки" -#: 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:1239 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:368 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:514 +#: part/serializers.py:958 stock/models.py:470 stock/models.py:1239 #: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "Количество должно быть больше нуля" @@ -997,9 +996,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 #: stock/serializers.py:297 templates/js/translated/order.js:1186 -#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:237 templates/js/translated/stock.js:403 msgid "Serial Numbers" msgstr "Серийные номера" @@ -1015,7 +1014,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:552 +#: build/serializers.py:268 stock/api.py:553 msgid "The following serial numbers already exist" msgstr "" @@ -1025,16 +1024,16 @@ msgstr "" #: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 #: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:481 -#: stock/serializers.py:864 stock/serializers.py:1097 +#: stock/serializers.py:851 stock/serializers.py:1084 #: 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 #: 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:1787 templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532 +#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904 +#: templates/js/translated/stock.js:1797 templates/js/translated/stock.js:2400 msgid "Location" msgstr "Расположение" @@ -1043,12 +1042,12 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:363 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:654 +#: build/templates/build/detail.html:62 order/models.py:670 #: 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 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1772 +#: templates/js/translated/stock.js:2477 templates/js/translated/stock.js:2609 msgid "Status" msgstr "Статус" @@ -1108,8 +1107,8 @@ msgstr "" msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:535 build/serializers.py:580 part/models.py:2679 -#: part/models.py:2813 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2667 +#: part/models.py:2801 msgid "BOM Item" msgstr "BOM Компонент" @@ -1125,11 +1124,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:716 +#: build/serializers.py:609 stock/serializers.py:703 msgid "Item must be in stock" msgstr "Компонент должен быть в наличии" -#: build/serializers.py:667 order/serializers.py:1052 +#: build/serializers.py:667 order/serializers.py:1054 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Превышено доступное количество ({q})" @@ -1146,7 +1145,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:708 order/serializers.py:1298 +#: build/serializers.py:708 order/serializers.py:1300 msgid "Allocation items must be provided" msgstr "" @@ -1178,10 +1177,19 @@ msgstr "" msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:96 +#: build/tasks.py:100 msgid "Stock required for build order" msgstr "Для заказа сборки необходим остаток" +#: build/tasks.py:118 +msgid "Overdue Build Order" +msgstr "" + +#: build/tasks.py:123 +#, python-brace-format +msgid "Build order {bo} is now overdue" +msgstr "" + #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 #: order/templates/order/sales_order_base.html:38 @@ -1244,13 +1252,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:922 +#: build/templates/build/detail.html:131 order/models.py:938 #: 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: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 +#: templates/js/translated/order.js:3517 templates/js/translated/part.js:1015 msgid "Target Date" msgstr "Целевая дата" @@ -1277,13 +1285,14 @@ msgid "Completed" msgstr "Завершённые" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1100 -#: order/models.py:1185 order/models.py:1320 +#: build/templates/build/detail.html:94 order/models.py:1116 +#: order/models.py:1201 order/models.py:1336 #: 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/email/overdue_sales_order.html:15 #: templates/js/translated/order.js:2436 msgid "Sales Order" msgstr "Заказ покупателя" @@ -1319,7 +1328,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1034 +#: build/templates/build/detail.html:49 order/models.py:1050 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "Назначение" @@ -1336,8 +1345,8 @@ msgstr "" #: stock/templates/stock/item_base.html:170 #: templates/js/translated/build.js:1179 #: templates/js/translated/model_renderers.js:112 -#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1776 -#: templates/js/translated/stock.js:2606 +#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:2616 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1716,7 +1725,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:820 part/models.py:2372 report/models.py:157 +#: common/models.py:820 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" @@ -1726,7 +1735,7 @@ msgstr "Шаблон" msgid "Parts are templates by default" msgstr "По умолчанию детали являются шаблонами" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" @@ -1880,7 +1889,7 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:968 -msgid "Test Reports" +msgid "Enable Test Reports" msgstr "" #: common/models.py:969 @@ -1888,568 +1897,576 @@ msgid "Enable generation of test reports" msgstr "" #: common/models.py:975 -msgid "Batch Code Template" +msgid "Attach Test Reports" msgstr "" #: common/models.py:976 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:981 -msgid "Stock Expiry" +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" #: common/models.py:982 -msgid "Enable stock expiry functionality" +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:983 +msgid "Template for generating default batch codes for stock items" msgstr "" #: common/models.py:988 -msgid "Sell Expired Stock" +msgid "Stock Expiry" msgstr "" #: common/models.py:989 -msgid "Allow sale of expired stock" +msgid "Enable stock expiry functionality" msgstr "" #: common/models.py:995 -msgid "Stock Stale Time" +msgid "Sell Expired Stock" msgstr "" #: common/models.py:996 -msgid "Number of days stock items are considered stale before expiring" +msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:998 -msgid "days" +#: common/models.py:1002 +msgid "Stock Stale Time" msgstr "" #: common/models.py:1003 -msgid "Build Expired Stock" +msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1004 -msgid "Allow building with expired stock" +#: common/models.py:1005 +msgid "days" msgstr "" #: common/models.py:1010 -msgid "Stock Ownership Control" +msgid "Build Expired Stock" msgstr "" #: common/models.py:1011 -msgid "Enable ownership control over stock locations and items" +msgid "Allow building with expired stock" msgstr "" #: common/models.py:1017 -msgid "Build Order Reference Prefix" +msgid "Stock Ownership Control" msgstr "" #: common/models.py:1018 -msgid "Prefix value for build order reference" -msgstr "" - -#: common/models.py:1023 -msgid "Build Order Reference Regex" +msgid "Enable ownership control over stock locations and items" msgstr "" #: common/models.py:1024 +msgid "Build Order Reference Prefix" +msgstr "" + +#: common/models.py:1025 +msgid "Prefix value for build order reference" +msgstr "" + +#: common/models.py:1030 +msgid "Build Order Reference Regex" +msgstr "" + +#: common/models.py:1031 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1029 +#: common/models.py:1036 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1041 +#: common/models.py:1048 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1042 +#: common/models.py:1049 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1048 +#: common/models.py:1055 msgid "Enable password forgot" msgstr "" -#: common/models.py:1049 +#: common/models.py:1056 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1055 +#: common/models.py:1062 msgid "Enable registration" msgstr "" -#: common/models.py:1056 +#: common/models.py:1063 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1069 msgid "Enable SSO" msgstr "" -#: common/models.py:1063 +#: common/models.py:1070 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1069 +#: common/models.py:1076 msgid "Email required" msgstr "Необходимо указать EMail" -#: common/models.py:1070 +#: common/models.py:1077 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1076 +#: common/models.py:1083 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1077 +#: common/models.py:1084 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1083 +#: common/models.py:1090 msgid "Mail twice" msgstr "" -#: common/models.py:1084 +#: common/models.py:1091 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1090 +#: common/models.py:1097 msgid "Password twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1098 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1097 +#: common/models.py:1104 msgid "Group on signup" msgstr "" -#: common/models.py:1098 +#: common/models.py:1105 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1104 +#: common/models.py:1111 msgid "Enforce MFA" msgstr "" -#: common/models.py:1105 +#: common/models.py:1112 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1111 +#: common/models.py:1118 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1112 +#: common/models.py:1119 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1120 +#: common/models.py:1127 msgid "Enable URL integration" msgstr "" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1136 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1136 +#: common/models.py:1143 msgid "Enable app integration" msgstr "" -#: common/models.py:1137 +#: common/models.py:1144 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1144 +#: common/models.py:1151 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1145 +#: common/models.py:1152 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1152 +#: common/models.py:1159 msgid "Enable event integration" msgstr "" -#: common/models.py:1153 +#: common/models.py:1160 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1170 common/models.py:1492 +#: common/models.py:1177 common/models.py:1499 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1192 +#: common/models.py:1199 msgid "Show subscribed parts" msgstr "Показывать детали, на которые включены уведомления" -#: common/models.py:1193 +#: common/models.py:1200 msgid "Show subscribed parts on the homepage" msgstr "Показывать детали, на которые включены уведомления, на главной странице" -#: common/models.py:1199 +#: common/models.py:1206 msgid "Show subscribed categories" msgstr "Показывать категории, на которые включены уведомления" -#: common/models.py:1200 +#: common/models.py:1207 msgid "Show subscribed part categories on the homepage" msgstr "Показывать категории, на которые включены уведомления, на главной странице" -#: common/models.py:1206 +#: common/models.py:1213 msgid "Show latest parts" msgstr "Показывать последние детали" -#: common/models.py:1207 +#: common/models.py:1214 msgid "Show latest parts on the homepage" msgstr "Показывать последние детали на главной странице" -#: common/models.py:1213 +#: common/models.py:1220 msgid "Recent Part Count" msgstr "" -#: common/models.py:1214 +#: common/models.py:1221 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1220 +#: common/models.py:1227 msgid "Show unvalidated BOMs" msgstr "Показывать непроверенные BOMы" -#: common/models.py:1221 +#: common/models.py:1228 msgid "Show BOMs that await validation on the homepage" msgstr "Показывать BOMы, ожидающие проверки, на главной странице" -#: common/models.py:1227 +#: common/models.py:1234 msgid "Show recent stock changes" msgstr "Показывать изменившиеся складские запасы" -#: common/models.py:1228 +#: common/models.py:1235 msgid "Show recently changed stock items on the homepage" msgstr "Показывать единицы хранения с недавно изменившимися складскими запасами на главной странице" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1235 +#: common/models.py:1242 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Show low stock" msgstr "Показывать низкие складские запасы" -#: common/models.py:1242 +#: common/models.py:1249 msgid "Show low stock items on the homepage" msgstr "Показывать единицы хранения с низкими складскими запасами на главной странице" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Show depleted stock" msgstr "Показывать закончившиеся детали" -#: common/models.py:1249 +#: common/models.py:1256 msgid "Show depleted stock items on the homepage" msgstr "Показывать закончившиеся на складе единицы хранения на главной странице" -#: common/models.py:1255 +#: common/models.py:1262 msgid "Show needed stock" msgstr "Показывать требуемые детали" -#: common/models.py:1256 +#: common/models.py:1263 msgid "Show stock items needed for builds on the homepage" msgstr "Показывать требуемые для сборки единицы хранения на главной странице" -#: common/models.py:1262 +#: common/models.py:1269 msgid "Show expired stock" msgstr "Показывать просрочку" -#: common/models.py:1263 +#: common/models.py:1270 msgid "Show expired stock items on the homepage" msgstr "Показывать единицы хранения с истёкшим сроком годности на главной странице" -#: common/models.py:1269 +#: common/models.py:1276 msgid "Show stale stock" msgstr "Показывать залежалые" -#: common/models.py:1270 +#: common/models.py:1277 msgid "Show stale stock items on the homepage" msgstr "Показывать залежалые единицы хранения на главной странице" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Show pending builds" msgstr "Показывать незавершённые сборки" -#: common/models.py:1277 +#: common/models.py:1284 msgid "Show pending builds on the homepage" msgstr "Показывать незавершённые сборки на главной странице" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Show overdue builds" msgstr "Показывать просроченные сборки" -#: common/models.py:1284 +#: common/models.py:1291 msgid "Show overdue builds on the homepage" msgstr "Показывать просроченные сборки на главной странице" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1291 +#: common/models.py:1298 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Show overdue POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1305 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1312 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1318 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1319 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1317 +#: common/models.py:1324 msgid "Enable label printing" msgstr "" -#: common/models.py:1318 +#: common/models.py:1325 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1324 +#: common/models.py:1331 msgid "Inline label display" msgstr "" -#: common/models.py:1325 +#: common/models.py:1332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1331 +#: common/models.py:1338 msgid "Inline report display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1345 msgid "Search Parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1345 +#: common/models.py:1352 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1359 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1366 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1367 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1373 msgid "Search Categories" msgstr "" -#: common/models.py:1367 +#: common/models.py:1374 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1380 msgid "Search Stock" msgstr "" -#: common/models.py:1374 +#: common/models.py:1381 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1387 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1381 +#: common/models.py:1388 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1394 msgid "Search Locations" msgstr "" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1401 msgid "Search Companies" msgstr "" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1408 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1415 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1422 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1429 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Search Preview Results" msgstr "" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1457 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1457 +#: common/models.py:1464 msgid "Date Format" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1472 part/templates/part/detail.html:39 +#: common/models.py:1479 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1473 +#: common/models.py:1480 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1537 company/forms.py:37 +#: common/models.py:1544 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: 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 +#: common/models.py:1551 company/serializers.py:290 +#: company/templates/company/supplier_part.html:263 order/models.py:965 +#: templates/js/translated/part.js:1042 templates/js/translated/part.js:2070 msgid "Price" msgstr "Цена" -#: common/models.py:1545 +#: common/models.py:1552 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1705 common/models.py:1883 +#: common/models.py:1712 common/models.py:1890 msgid "Endpoint" msgstr "" -#: common/models.py:1706 +#: common/models.py:1713 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1715 +#: common/models.py:1722 msgid "Name for this webhook" msgstr "" -#: common/models.py:1720 part/models.py:911 plugin/models.py:99 +#: common/models.py:1727 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 @@ -2457,79 +2474,89 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1721 +#: common/models.py:1728 msgid "Is this webhook active" msgstr "" -#: common/models.py:1735 +#: common/models.py:1742 msgid "Token" msgstr "" -#: common/models.py:1736 +#: common/models.py:1743 msgid "Token for access" msgstr "" -#: common/models.py:1743 +#: common/models.py:1750 msgid "Secret" msgstr "" -#: common/models.py:1744 +#: common/models.py:1751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Message ID" msgstr "" -#: common/models.py:1851 +#: common/models.py:1858 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1859 +#: common/models.py:1866 msgid "Host" msgstr "" -#: common/models.py:1860 +#: common/models.py:1867 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1867 +#: common/models.py:1874 msgid "Header" msgstr "" -#: common/models.py:1868 +#: common/models.py:1875 msgid "Header of this message" msgstr "" -#: common/models.py:1874 +#: common/models.py:1881 msgid "Body" msgstr "" -#: common/models.py:1875 +#: common/models.py:1882 msgid "Body of this message" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1889 +#: common/models.py:1896 msgid "Worked on" msgstr "" -#: common/models.py:1890 +#: common/models.py:1897 msgid "Was the work on this message finished?" msgstr "" +#: common/notifications.py:292 +#, python-brace-format +msgid "New {verbose_name}" +msgstr "" + +#: common/notifications.py:294 +#, python-brace-format +msgid "A new {verbose_name} has been created and ,assigned to you" +msgstr "" + #: common/views.py:87 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:191 +#: order/views.py:102 part/views.py:116 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Загрузить файл" #: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:192 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:117 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -2545,19 +2572,19 @@ msgstr "" msgid "Parts imported" msgstr "Детали импортированы" -#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:511 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:16 part/forms.py:21 +#: company/forms.py:16 part/forms.py:18 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "Ссылка" -#: company/forms.py:17 part/forms.py:22 +#: company/forms.py:17 part/forms.py:19 msgid "Image URL" msgstr "Ссылка на изображение" @@ -2571,7 +2598,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:405 +#: templates/js/translated/company.js:399 msgid "Website" msgstr "Сайт" @@ -2644,9 +2671,9 @@ msgstr "производитель" msgid "Does this company manufacture parts?" msgstr "Является ли компания производителем деталей?" -#: 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 +#: company/models.py:144 company/serializers.py:296 +#: company/templates/company/company_base.html:106 part/serializers.py:139 +#: part/serializers.py:170 stock/serializers.py:162 msgid "Currency" msgstr "Валюта" @@ -2667,10 +2694,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: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/company.js:383 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:617 +#: templates/js/translated/company.js:902 templates/js/translated/part.js:235 #: templates/js/translated/table_filters.js:411 msgid "Manufacturer" msgstr "Производитель" @@ -2681,11 +2708,11 @@ msgstr "Выберите производителя" #: 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 -#: 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 +#: templates/js/translated/company.js:256 +#: templates/js/translated/company.js:483 +#: templates/js/translated/company.js:633 +#: templates/js/translated/company.js:920 templates/js/translated/order.js:1907 +#: templates/js/translated/part.js:246 templates/js/translated/part.js:1000 msgid "MPN" msgstr "" @@ -2714,9 +2741,9 @@ msgstr "Наименование параметра" #: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2080 templates/js/translated/company.js:540 -#: templates/js/translated/company.js:763 templates/js/translated/part.js:776 -#: templates/js/translated/stock.js:1294 +#: stock/models.py:2084 templates/js/translated/company.js:531 +#: templates/js/translated/company.js:748 templates/js/translated/part.js:820 +#: templates/js/translated/stock.js:1304 msgid "Value" msgstr "Значение" @@ -2724,10 +2751,10 @@ msgstr "Значение" msgid "Parameter value" msgstr "Значение параметра" -#: company/models.py:368 part/models.py:878 part/models.py:2339 +#: company/models.py:368 part/models.py:878 part/models.py:2327 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:351 -#: templates/js/translated/company.js:769 templates/js/translated/part.js:782 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:826 msgid "Units" msgstr "Ед.изм" @@ -2740,13 +2767,14 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:487 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:303 +#: company/templates/company/supplier_part.html:87 order/models.py:308 #: 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 -#: 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/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:255 +#: templates/js/translated/company.js:387 +#: templates/js/translated/company.js:876 templates/js/translated/order.js:1643 +#: templates/js/translated/part.js:216 templates/js/translated/part.js:968 #: templates/js/translated/table_filters.js:415 msgid "Supplier" msgstr "Поставщик" @@ -2756,9 +2784,9 @@ msgid "Select supplier" msgstr "Выберите поставщика" #: 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 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:254 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 -#: templates/js/translated/part.js:942 +#: templates/js/translated/part.js:986 msgid "SKU" msgstr "" @@ -2779,23 +2807,23 @@ msgid "Supplier part description" msgstr "" #: company/models.py:518 company/templates/company/supplier_part.html:125 -#: part/models.py:2573 part/templates/part/upload_bom.html:59 +#: part/models.py:2561 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:387 msgid "Note" msgstr "Заметка" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "base cost" msgstr "" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: 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 +#: templates/js/translated/company.js:952 templates/js/translated/stock.js:1922 msgid "Packaging" msgstr "Упаковка" @@ -2803,7 +2831,7 @@ msgstr "Упаковка" msgid "Part packaging" msgstr "" -#: company/models.py:526 part/models.py:1690 +#: company/models.py:526 part/models.py:1685 msgid "multiple" msgstr "" @@ -2825,7 +2853,7 @@ msgstr "Код валюты" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:177 templates/js/translated/company.js:378 +#: templates/InvenTree/search.html:177 templates/js/translated/company.js:372 msgid "Company" msgstr "Компания" @@ -2843,7 +2871,7 @@ msgid "Edit company information" msgstr "Редактировать информацию о компании" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:321 +#: templates/js/translated/company.js:315 msgid "Edit Company" msgstr "Редактировать компанию" @@ -2866,12 +2894,13 @@ msgstr "Загрузить новое изображение" msgid "Download image from URL" msgstr "Скачать изображение по ссылке" -#: company/templates/company/company_base.html:86 order/models.py:649 +#: company/templates/company/company_base.html:86 order/models.py:665 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:758 +#: stock/models.py:628 stock/serializers.py:745 #: 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 +#: templates/email/overdue_sales_order.html:16 +#: templates/js/translated/company.js:379 templates/js/translated/order.js:2458 +#: templates/js/translated/stock.js:2441 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "Покупатель" @@ -2999,7 +3028,7 @@ msgid "Supplier List" msgstr "Список поставщиков" #: company/templates/company/manufacturer_part.html:15 company/views.py:45 -#: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 +#: part/templates/part/prices.html:172 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" msgstr "Производители" @@ -3012,12 +3041,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:680 +#: templates/js/translated/company.js:665 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:681 +#: templates/js/translated/company.js:666 msgid "Delete manufacturer part" msgstr "" @@ -3032,7 +3061,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:39 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 +#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" msgstr "Поставщики" @@ -3092,18 +3121,18 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: 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 +#: templates/js/translated/company.js:892 templates/js/translated/order.js:884 +#: templates/js/translated/stock.js:1879 msgid "Supplier Part" msgstr "Деталь поставщика" #: company/templates/company/supplier_part.html:38 -#: templates/js/translated/company.js:980 +#: templates/js/translated/company.js:965 msgid "Edit supplier part" msgstr "Редактировать деталь поставщика" #: company/templates/company/supplier_part.html:42 -#: templates/js/translated/company.js:981 +#: templates/js/translated/company.js:966 msgid "Delete supplier part" msgstr "Удалить деталь поставщика" @@ -3123,7 +3152,7 @@ msgstr "Создать единицу хранения" #: company/templates/company/supplier_part.html:148 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 -#: templates/js/translated/stock.js:380 +#: templates/js/translated/stock.js:379 msgid "New Stock Item" msgstr "Новая единица хранения" @@ -3144,7 +3173,7 @@ msgstr "Информация о цене" #: company/templates/company/supplier_part.html:191 #: company/templates/company/supplier_part.html:305 -#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046 +#: part/templates/part/prices.html:276 templates/js/translated/part.js:2142 msgid "Add Price Break" msgstr "" @@ -3153,12 +3182,12 @@ msgid "No price break information found" msgstr "" #: company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2152 msgid "Delete Price Break" msgstr "" #: company/templates/company/supplier_part.html:245 -#: templates/js/translated/part.js:2070 +#: templates/js/translated/part.js:2166 msgid "Edit Price Break" msgstr "" @@ -3180,9 +3209,9 @@ msgstr "Последнее обновление" #: stock/templates/stock/stock_app_base.html:10 #: 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:1687 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:722 +#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1431 +#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 msgid "Stock" msgstr "Склад" @@ -3209,7 +3238,7 @@ msgstr "" #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 -#: templates/js/translated/stock.js:2307 users/models.py:39 +#: templates/js/translated/stock.js:2317 users/models.py:39 msgid "Stock Items" msgstr "Детали на складе" @@ -3238,20 +3267,20 @@ msgstr "Компании" msgid "New Company" msgstr "Новая компания" -#: company/views.py:112 part/views.py:576 +#: company/views.py:112 part/views.py:501 msgid "Download Image" msgstr "Скачать изображение" -#: company/views.py:139 part/views.py:606 +#: company/views.py:139 part/views.py:531 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:146 part/views.py:613 +#: company/views.py:146 part/views.py:538 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:155 part/views.py:622 +#: company/views.py:155 part/views.py:547 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3320,313 +3349,314 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:133 +#: order/models.py:134 msgid "Order description" msgstr "" -#: order/models.py:135 order/models.py:1236 +#: order/models.py:136 order/models.py:1252 msgid "Link to external page" msgstr "" -#: order/models.py:143 +#: order/models.py:144 msgid "Created By" msgstr "" -#: order/models.py:150 +#: order/models.py:151 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:155 +#: order/models.py:156 msgid "Order notes" msgstr "" -#: order/models.py:289 order/models.py:639 +#: order/models.py:294 order/models.py:655 msgid "Order reference" msgstr "" -#: order/models.py:294 order/models.py:654 +#: order/models.py:299 order/models.py:670 msgid "Purchase order status" msgstr "" -#: order/models.py:304 +#: order/models.py:309 msgid "Company from which the items are being ordered" msgstr "Компания, в которой детали заказываются" -#: order/models.py:307 order/templates/order/order_base.html:124 +#: order/models.py:312 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:307 +#: order/models.py:312 msgid "Supplier order reference code" msgstr "" -#: order/models.py:314 +#: order/models.py:319 msgid "received by" msgstr "" -#: order/models.py:319 +#: order/models.py:324 msgid "Issue Date" msgstr "" -#: order/models.py:320 +#: order/models.py:325 msgid "Date order was issued" msgstr "" -#: order/models.py:325 +#: order/models.py:330 msgid "Target Delivery Date" msgstr "" -#: order/models.py:326 +#: order/models.py:331 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:332 +#: order/models.py:337 msgid "Date order was completed" msgstr "" -#: order/models.py:368 +#: order/models.py:373 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:512 +#: order/models.py:517 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:650 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "Компания, которой детали продаются" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer Reference " msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer order reference code" msgstr "" -#: order/models.py:661 +#: order/models.py:677 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:664 order/models.py:1190 +#: order/models.py:680 order/models.py:1206 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:671 +#: order/models.py:687 msgid "shipped by" msgstr "" -#: order/models.py:726 +#: order/models.py:742 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:730 +#: order/models.py:746 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:733 +#: order/models.py:749 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:736 +#: order/models.py:752 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:910 +#: order/models.py:926 msgid "Item quantity" msgstr "" -#: order/models.py:916 +#: order/models.py:932 msgid "Line item reference" msgstr "" -#: order/models.py:918 +#: order/models.py:934 msgid "Line item notes" msgstr "" -#: order/models.py:923 +#: order/models.py:939 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:941 +#: order/models.py:957 msgid "Context" msgstr "" -#: order/models.py:942 +#: order/models.py:958 msgid "Additional context for this line" msgstr "" -#: order/models.py:950 +#: order/models.py:966 msgid "Unit price" msgstr "" -#: order/models.py:980 +#: order/models.py:996 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:988 +#: order/models.py:1004 msgid "deleted" msgstr "" -#: order/models.py:994 order/models.py:1074 order/models.py:1099 -#: order/models.py:1184 order/models.py:1320 +#: order/models.py:1010 order/models.py:1090 order/models.py:1115 +#: order/models.py:1200 order/models.py:1336 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:995 order/models.py:1074 +#: order/models.py:1011 order/models.py:1090 #: 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/email/overdue_purchase_order.html:15 #: 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 +#: templates/js/translated/part.js:943 templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:2422 msgid "Purchase Order" msgstr "Заказ на закупку" -#: order/models.py:1013 +#: order/models.py:1029 msgid "Supplier part" msgstr "" -#: order/models.py:1020 order/templates/order/order_base.html:169 +#: order/models.py:1036 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/part.js:1037 templates/js/translated/part.js:1064 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1021 +#: order/models.py:1037 msgid "Number of items received" msgstr "" -#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: order/models.py:1044 part/templates/part/prices.html:181 stock/models.py:722 #: stock/serializers.py:153 stock/templates/stock/item_base.html:191 -#: templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:1910 msgid "Purchase Price" msgstr "Закупочная цена" -#: order/models.py:1029 +#: order/models.py:1045 msgid "Unit purchase price" msgstr "" -#: order/models.py:1037 +#: order/models.py:1053 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1109 part/templates/part/part_pricing.html:112 -#: part/templates/part/prices.html:119 part/templates/part/prices.html:288 +#: order/models.py:1125 part/templates/part/part_pricing.html:115 +#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 msgid "Sale Price" msgstr "Цена продажи" -#: order/models.py:1110 +#: order/models.py:1126 msgid "Unit sale price" msgstr "" -#: order/models.py:1115 +#: order/models.py:1131 msgid "Shipped quantity" msgstr "" -#: order/models.py:1191 +#: order/models.py:1207 msgid "Date of shipment" msgstr "" -#: order/models.py:1198 +#: order/models.py:1214 msgid "Checked By" msgstr "" -#: order/models.py:1199 +#: order/models.py:1215 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1207 +#: order/models.py:1223 msgid "Shipment number" msgstr "" -#: order/models.py:1214 +#: order/models.py:1230 msgid "Shipment notes" msgstr "" -#: order/models.py:1221 +#: order/models.py:1237 msgid "Tracking Number" msgstr "" -#: order/models.py:1222 +#: order/models.py:1238 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1229 +#: order/models.py:1245 msgid "Invoice Number" msgstr "" -#: order/models.py:1230 +#: order/models.py:1246 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1248 +#: order/models.py:1264 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1251 +#: order/models.py:1267 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1354 order/models.py:1356 +#: order/models.py:1370 order/models.py:1372 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1360 +#: order/models.py:1376 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1362 +#: order/models.py:1378 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1365 +#: order/models.py:1381 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1369 +#: order/models.py:1385 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1375 order/serializers.py:1045 +#: order/models.py:1391 order/serializers.py:1047 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1378 +#: order/models.py:1394 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1379 +#: order/models.py:1395 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1387 +#: order/models.py:1403 msgid "Line" msgstr "" -#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 +#: order/models.py:1411 order/serializers.py:1151 order/serializers.py:1275 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1396 +#: order/models.py:1412 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1424 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1409 +#: order/models.py:1425 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Enter stock allocation quantity" msgstr "" @@ -3662,7 +3692,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1117 +#: order/serializers.py:406 order/serializers.py:1119 msgid "Line Item" msgstr "" @@ -3710,42 +3740,60 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:866 +#: order/serializers.py:868 msgid "Sale price currency" msgstr "Курс продажи валюты" -#: order/serializers.py:947 +#: order/serializers.py:949 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1006 order/serializers.py:1126 +#: order/serializers.py:1008 order/serializers.py:1128 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1028 +#: order/serializers.py:1030 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1139 +#: order/serializers.py:1141 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1161 order/serializers.py:1281 +#: order/serializers.py:1163 order/serializers.py:1283 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1164 order/serializers.py:1284 +#: order/serializers.py:1166 order/serializers.py:1286 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1216 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1224 +#: order/serializers.py:1226 msgid "The following serial numbers are already allocated" msgstr "" +#: order/tasks.py:26 +msgid "Overdue Purchase Order" +msgstr "" + +#: order/tasks.py:31 +#, python-brace-format +msgid "Purchase order {po} is now overdue" +msgstr "" + +#: order/tasks.py:88 +msgid "Overdue Sales Order" +msgstr "" + +#: order/tasks.py:93 +#, python-brace-format +msgid "Sales order {so} is now overdue" +msgstr "" + #: order/templates/order/order_base.html:33 msgid "Print purchase order report" msgstr "" @@ -3870,8 +3918,8 @@ msgstr "Выберите деталь поставщика" #: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: 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:2731 templates/js/translated/stock.js:570 -#: templates/js/translated/stock.js:738 +#: templates/js/translated/order.js:2731 templates/js/translated/stock.js:569 +#: templates/js/translated/stock.js:737 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Удалить строку" @@ -3990,7 +4038,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1047 #: templates/js/translated/build.js:1880 msgid "Actions" msgstr "Действия" @@ -4021,47 +4069,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:481 +#: part/api.py:482 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:501 +#: part/api.py:502 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:519 +#: part/api.py:520 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:551 +#: part/api.py:552 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:637 +#: part/api.py:638 msgid "Valid" msgstr "" -#: part/api.py:638 +#: part/api.py:639 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:644 +#: part/api.py:645 msgid "This option must be selected" msgstr "" -#: part/api.py:1010 +#: part/api.py:1011 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1014 +#: part/api.py:1015 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1029 +#: part/api.py:1030 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1060 part/api.py:1064 part/api.py:1079 part/api.py:1083 +#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 msgid "This field is required" msgstr "" @@ -4080,17 +4128,13 @@ msgid "Available Stock" msgstr "Доступный запас" #: 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 +#: templates/js/translated/part.js:561 templates/js/translated/part.js:581 +#: templates/js/translated/part.js:1273 templates/js/translated/part.js:1445 +#: templates/js/translated/part.js:1461 msgid "On Order" msgstr "" -#: part/forms.py:59 -msgid "Select part category" -msgstr "Выберите категорию" - -#: part/forms.py:69 +#: part/forms.py:60 msgid "Input quantity for price calculation" msgstr "" @@ -4106,7 +4150,7 @@ msgstr "Ключевые слова по умолчанию" msgid "Default keywords for parts in this category" msgstr "Ключевые слова по умолчанию для деталей этой категории" -#: part/models.py:115 part/models.py:2415 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2403 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Категория детали" @@ -4123,7 +4167,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:144 +#: templates/js/translated/part.js:1864 templates/js/translated/search.js:144 #: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "Детали" @@ -4153,7 +4197,7 @@ msgstr "" msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:738 part/models.py:2469 +#: part/models.py:738 part/models.py:2457 msgid "Part name" msgstr "Наименование детали" @@ -4186,12 +4230,11 @@ msgstr "Ключевые слова" msgid "Part keywords to improve visibility in search results" msgstr "Ключевые слова для улучшения видимости в результатах поиска" -#: part/models.py:776 part/models.py:2171 part/models.py:2414 +#: part/models.py:776 part/models.py:2159 part/models.py:2402 #: part/templates/part/part_base.html:257 -#: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 #: templates/InvenTree/settings/settings.html:231 -#: templates/js/translated/part.js:1369 +#: templates/js/translated/part.js:1413 templates/js/translated/part.js:1639 msgid "Category" msgstr "Категория" @@ -4200,8 +4243,8 @@ msgid "Part category" msgstr "Категория" #: 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 +#: templates/js/translated/part.js:710 templates/js/translated/part.js:1366 +#: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" @@ -4214,7 +4257,7 @@ msgid "Part revision or version number" msgstr "Версия детали" #: part/models.py:790 part/templates/part/part_base.html:273 -#: report/models.py:170 templates/js/translated/part.js:670 +#: report/models.py:170 templates/js/translated/part.js:714 msgid "Revision" msgstr "Версия" @@ -4302,317 +4345,321 @@ msgstr "" msgid "Creation User" msgstr "" -#: part/models.py:1690 +#: part/models.py:1685 msgid "Sell multiple" msgstr "" -#: part/models.py:2218 +#: part/models.py:2206 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2235 +#: part/models.py:2223 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2255 templates/js/translated/part.js:1819 -#: templates/js/translated/stock.js:1274 +#: part/models.py:2243 templates/js/translated/part.js:1915 +#: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2256 +#: part/models.py:2244 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2261 +#: part/models.py:2249 msgid "Test Description" msgstr "" -#: part/models.py:2262 +#: part/models.py:2250 msgid "Enter description for this test" msgstr "" -#: part/models.py:2267 templates/js/translated/part.js:1828 +#: part/models.py:2255 templates/js/translated/part.js:1924 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2268 +#: part/models.py:2256 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2273 templates/js/translated/part.js:1836 +#: part/models.py:2261 templates/js/translated/part.js:1932 msgid "Requires Value" msgstr "" -#: part/models.py:2274 +#: part/models.py:2262 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2279 templates/js/translated/part.js:1843 +#: part/models.py:2267 templates/js/translated/part.js:1939 msgid "Requires Attachment" msgstr "" -#: part/models.py:2280 +#: part/models.py:2268 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2288 +#: part/models.py:2276 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2324 +#: part/models.py:2312 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2332 +#: part/models.py:2320 msgid "Parameter Name" msgstr "" -#: part/models.py:2339 +#: part/models.py:2327 msgid "Parameter Units" msgstr "" -#: part/models.py:2370 +#: part/models.py:2358 msgid "Parent Part" msgstr "Родительская деталь" -#: part/models.py:2372 part/models.py:2420 part/models.py:2421 +#: part/models.py:2360 part/models.py:2408 part/models.py:2409 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "Шаблон параметра" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Data" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Parameter Value" msgstr "" -#: part/models.py:2425 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2413 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2426 +#: part/models.py:2414 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2461 +#: part/models.py:2449 msgid "Part ID or part name" msgstr "Артикул или наименование детали" -#: part/models.py:2464 templates/js/translated/model_renderers.js:200 +#: part/models.py:2452 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "Артикул" -#: part/models.py:2465 +#: part/models.py:2453 msgid "Unique part ID value" msgstr "" -#: part/models.py:2468 +#: part/models.py:2456 msgid "Part Name" msgstr "Наименование детали" -#: part/models.py:2472 +#: part/models.py:2460 msgid "Part IPN" msgstr "IPN" -#: part/models.py:2473 +#: part/models.py:2461 msgid "Part IPN value" msgstr "Значение IPN" -#: part/models.py:2476 +#: part/models.py:2464 msgid "Level" msgstr "" -#: part/models.py:2477 +#: part/models.py:2465 msgid "BOM level" msgstr "" -#: part/models.py:2546 +#: part/models.py:2534 msgid "Select parent part" msgstr "Выберите родительскую деталь" -#: part/models.py:2554 +#: part/models.py:2542 msgid "Sub part" msgstr "" -#: part/models.py:2555 +#: part/models.py:2543 msgid "Select part to be used in BOM" msgstr "Выбрать деталь для использования в BOM" -#: part/models.py:2561 +#: part/models.py:2549 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2563 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 +#: part/models.py:2551 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:871 templates/js/translated/bom.js:965 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2563 +#: part/models.py:2551 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2566 part/templates/part/upload_bom.html:55 +#: part/models.py:2554 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2567 +#: part/models.py:2555 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2570 +#: part/models.py:2558 msgid "BOM item reference" msgstr "" -#: part/models.py:2573 +#: part/models.py:2561 msgid "BOM item notes" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "Checksum" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "BOM line checksum" msgstr "" -#: part/models.py:2579 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:988 +#: part/models.py:2567 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:982 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2580 +#: part/models.py:2568 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2585 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:980 +#: part/models.py:2573 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:974 msgid "Allow Variants" msgstr "Разрешить разновидности" -#: part/models.py:2586 +#: part/models.py:2574 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2664 stock/models.py:460 +#: part/models.py:2652 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "Для отслеживаемых деталей количество должно быть целым числом" -#: part/models.py:2673 part/models.py:2675 +#: part/models.py:2661 part/models.py:2663 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2780 +#: part/models.py:2768 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2801 +#: part/models.py:2789 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2814 +#: part/models.py:2802 msgid "Parent BOM item" msgstr "" -#: part/models.py:2822 +#: part/models.py:2810 msgid "Substitute part" msgstr "" -#: part/models.py:2833 +#: part/models.py:2825 msgid "Part 1" msgstr "Часть 1" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Part 2" msgstr "Часть 2" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Select Related Part" msgstr "" -#: part/models.py:2868 -msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" +#: part/models.py:2847 +msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 +#: part/models.py:2851 +msgid "Duplicate relationship already exists" +msgstr "" + +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "Валюта покупки этой единицы хранения" -#: part/serializers.py:794 +#: part/serializers.py:796 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:804 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:805 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:810 msgid "Include Inherited" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:811 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:816 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:817 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:820 +#: part/serializers.py:822 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:821 +#: part/serializers.py:823 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:861 +#: part/serializers.py:863 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:864 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:894 msgid "No part column specified" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:937 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:938 +#: part/serializers.py:940 msgid "No matching part found" msgstr "Подходящая деталь не найдена" -#: part/serializers.py:941 +#: part/serializers.py:943 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:950 +#: part/serializers.py:952 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:958 +#: part/serializers.py:960 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:979 +#: part/serializers.py:981 msgid "At least one BOM item is required" msgstr "" @@ -5088,10 +5135,10 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:143 -#: templates/js/translated/company.js:623 -#: templates/js/translated/company.js:882 +#: templates/js/translated/company.js:608 +#: templates/js/translated/company.js:867 #: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:658 +#: templates/js/translated/part.js:625 templates/js/translated/part.js:702 msgid "Inactive" msgstr "" @@ -5120,13 +5167,13 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1009 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1003 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/part.js:520 -#: templates/js/translated/part.js:540 templates/js/translated/part.js:1233 -#: templates/js/translated/part.js:1405 templates/js/translated/part.js:1421 +#: part/templates/part/part_base.html:238 templates/js/translated/part.js:564 +#: templates/js/translated/part.js:584 templates/js/translated/part.js:1277 +#: templates/js/translated/part.js:1449 templates/js/translated/part.js:1465 msgid "Building" msgstr "" @@ -5143,7 +5190,7 @@ msgstr "" msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:443 part/templates/part/prices.html:147 +#: part/templates/part/part_base.html:443 part/templates/part/prices.html:149 msgid "Calculate" msgstr "" @@ -5161,54 +5208,55 @@ msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:106 -#: part/templates/part/prices.html:123 +#: part/templates/part/part_pricing.html:103 +#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 +#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:104 -#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:111 -#: part/templates/part/prices.html:128 +#: part/templates/part/part_pricing.html:107 +#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 +#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 +#: part/templates/part/prices.html:130 msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:963 +#: templates/js/translated/bom.js:957 msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:246 +#: part/templates/part/prices.html:248 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:89 +#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:96 +#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:105 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/prices.html:107 msgid "Internal Price" msgstr "Внутренняя цена" -#: part/templates/part/part_pricing.html:128 -#: part/templates/part/prices.html:137 +#: part/templates/part/part_pricing.html:131 +#: part/templates/part/prices.html:139 msgid "No pricing information is available for this part." msgstr "" @@ -5232,43 +5280,6 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:9 -#, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" -"
Disable the \"Active\" part attribute and re-try.\n" -" " -msgstr "" - -#: part/templates/part/partial_delete.html:17 -#, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" -msgstr "" - -#: part/templates/part/partial_delete.html:22 -#, python-format -msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" -msgstr "" - -#: part/templates/part/partial_delete.html:32 -#, python-format -msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:43 -#, python-format -msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:54 -#, python-format -msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:67 -#, python-format -msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." -msgstr "" - #: part/templates/part/prices.html:19 msgid "Pricing ranges" msgstr "" @@ -5285,66 +5296,58 @@ msgstr "Показать закупочную цену" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:120 +#: part/templates/part/prices.html:122 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:123 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:143 +#: part/templates/part/prices.html:145 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:957 +#: part/templates/part/prices.html:160 templates/js/translated/bom.js:951 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:159 part/templates/part/prices.html:180 -#: part/templates/part/prices.html:204 part/templates/part/prices.html:234 -#: part/templates/part/prices.html:260 part/templates/part/prices.html:289 +#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 +#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 +#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:184 +#: part/templates/part/prices.html:186 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:193 +#: part/templates/part/prices.html:195 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:203 +#: part/templates/part/prices.html:205 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:218 +#: part/templates/part/prices.html:220 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:233 +#: part/templates/part/prices.html:235 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:259 +#: part/templates/part/prices.html:261 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:300 +#: part/templates/part/prices.html:302 msgid "No sale pice history available for this part." msgstr "" -#: part/templates/part/set_category.html:9 -msgid "Set category for the following parts" -msgstr "" - -#: part/templates/part/set_category.html:32 -msgid "Remove part" -msgstr "Удалить деталь" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543 -#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:587 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:1469 msgid "No Stock" msgstr "" @@ -5407,56 +5410,39 @@ msgstr "Неизвестная база данных" msgid "{title} v{version}" msgstr "" -#: part/views.py:74 -msgid "Set Part Category" -msgstr "Укажите категорию" - -#: part/views.py:122 -#, python-brace-format -msgid "Set category for {n} parts" -msgstr "" - -#: part/views.py:193 +#: part/views.py:118 msgid "Match References" msgstr "" -#: part/views.py:494 +#: part/views.py:419 msgid "None" msgstr "" -#: part/views.py:556 +#: part/views.py:481 msgid "Part QR Code" msgstr "" -#: part/views.py:650 +#: part/views.py:575 msgid "Select Part Image" msgstr "" -#: part/views.py:676 +#: part/views.py:601 msgid "Updated part image" msgstr "" -#: part/views.py:679 +#: part/views.py:604 msgid "Part image not found" msgstr "Изображение детали не найдено" -#: part/views.py:768 -msgid "Confirm Part Deletion" -msgstr "" - -#: part/views.py:776 -msgid "Part was deleted" -msgstr "Деталь была удалена" - -#: part/views.py:785 +#: part/views.py:693 msgid "Part Pricing" msgstr "" -#: part/views.py:976 +#: part/views.py:884 msgid "Delete Part Category" msgstr "Удалить категорию" -#: part/views.py:983 +#: part/views.py:891 msgid "Part category was deleted" msgstr "Категория удалена" @@ -5516,21 +5502,21 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:28 +#: plugin/builtin/integration/core_notifications.py:29 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 +#: plugin/builtin/integration/core_notifications.py:30 msgid "Integrated outgoing notificaton methods" msgstr "" -#: plugin/builtin/integration/core_notifications.py:33 -#: plugin/builtin/integration/core_notifications.py:52 +#: plugin/builtin/integration/core_notifications.py:34 +#: plugin/builtin/integration/core_notifications.py:53 msgid "Enable email notifications" msgstr "Включить уведомления по электронной почте" -#: plugin/builtin/integration/core_notifications.py:34 -#: plugin/builtin/integration/core_notifications.py:53 +#: plugin/builtin/integration/core_notifications.py:35 +#: plugin/builtin/integration/core_notifications.py:54 msgid "Allow sending of emails for event notifications" msgstr "Разрешить отправку уведомлений о событиях по электронной почте" @@ -5646,15 +5632,19 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:166 +#: report/api.py:179 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:198 report/api.py:239 +#: report/api.py:215 report/api.py:256 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" +#: report/api.py:359 +msgid "Test report" +msgstr "" + #: report/models.py:152 msgid "Template name" msgstr "Название шаблона" @@ -5757,7 +5747,7 @@ msgstr "" #: 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:3229 -#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:434 msgid "Serial Number" msgstr "Серийный номер" @@ -5766,19 +5756,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2068 +#: stock/models.py:2072 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2074 +#: stock/models.py:2078 msgid "Result" 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:1669 templates/js/translated/stock.js:2340 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2350 msgid "Date" msgstr "" @@ -5796,20 +5786,20 @@ msgid "Installed Items" 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:2589 +#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724 +#: templates/js/translated/stock.js:2599 msgid "Serial" msgstr "" -#: stock/api.py:504 +#: stock/api.py:505 msgid "Quantity is required" msgstr "" -#: stock/api.py:511 +#: stock/api.py:512 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:536 +#: stock/api.py:537 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5917,7 +5907,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1826 msgid "Expiry Date" msgstr "" @@ -5971,79 +5961,79 @@ msgstr "" msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1325 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1324 +#: stock/models.py:1328 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1327 +#: stock/models.py:1331 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1334 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1333 +#: stock/models.py:1337 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1340 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1343 stock/serializers.py:908 +#: stock/models.py:1347 stock/serializers.py:895 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1347 +#: stock/models.py:1351 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1355 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1359 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1524 +#: stock/models.py:1528 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1986 +#: stock/models.py:1990 msgid "Entry notes" msgstr "" -#: stock/models.py:2044 +#: stock/models.py:2048 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2050 +#: stock/models.py:2054 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2069 +#: stock/models.py:2073 msgid "Test name" msgstr "" -#: stock/models.py:2075 +#: stock/models.py:2079 msgid "Test result" msgstr "" -#: stock/models.py:2081 +#: stock/models.py:2085 msgid "Test output value" msgstr "" -#: stock/models.py:2088 +#: stock/models.py:2092 msgid "Test result attachment" msgstr "" -#: stock/models.py:2094 +#: stock/models.py:2098 msgid "Test notes" msgstr "" @@ -6064,7 +6054,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:865 stock/serializers.py:1098 +#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 msgid "Destination stock location" msgstr "" @@ -6104,63 +6094,63 @@ msgstr "" msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:707 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:724 +#: stock/serializers.py:711 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:728 +#: stock/serializers.py:715 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:759 +#: stock/serializers.py:746 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:765 +#: stock/serializers.py:752 msgid "Selected company is not a customer" msgstr "Выбранная компания не является покупателем" -#: stock/serializers.py:773 +#: stock/serializers.py:760 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:783 stock/serializers.py:1014 +#: stock/serializers.py:770 stock/serializers.py:1001 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:872 +#: stock/serializers.py:859 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:877 +#: stock/serializers.py:864 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:878 +#: stock/serializers.py:865 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:883 +#: stock/serializers.py:870 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:884 +#: stock/serializers.py:871 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:894 +#: stock/serializers.py:881 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:976 +#: stock/serializers.py:963 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1004 +#: stock/serializers.py:991 msgid "Stock transaction notes" msgstr "" @@ -6185,7 +6175,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:298 msgid "Delete Test Data" msgstr "" @@ -6197,11 +6187,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "Установленные единицы хранения" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2733 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2743 msgid "Install Stock Item" msgstr "Установить единицу хранения" -#: stock/templates/stock/item.html:292 templates/js/translated/stock.js:1455 +#: stock/templates/stock/item.html:290 +msgid "Delete all test results for this stock item" +msgstr "" + +#: stock/templates/stock/item.html:323 templates/js/translated/stock.js:1465 msgid "Add Test Result" msgstr "" @@ -6388,7 +6382,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/stock.js:1842 msgid "Last Updated" msgstr "" @@ -6529,7 +6523,7 @@ msgstr "Места хранения" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:182 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:144 msgid "Convert Stock Item" msgstr "" @@ -6550,31 +6544,19 @@ msgstr "Предупреждение" msgid "This action cannot be easily undone" msgstr "" -#: stock/views.py:113 +#: stock/views.py:111 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:131 -msgid "Delete All Test Data" -msgstr "" - -#: stock/views.py:149 -msgid "Confirm test data deletion" -msgstr "" - -#: stock/views.py:150 -msgid "Check the confirmation box" -msgstr "" - -#: stock/views.py:165 +#: stock/views.py:127 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:216 +#: stock/views.py:178 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:229 +#: stock/views.py:191 msgid "Delete Stock Item" msgstr "" @@ -7317,8 +7299,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:56 templates/js/translated/modals.js:595 -#: templates/js/translated/modals.js:689 templates/js/translated/modals.js:997 +#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 +#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 #: templates/js/translated/order.js:928 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7390,6 +7372,10 @@ msgstr "Подтверждение адреса электронной почт msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Пожалуйста, подтвердите, что %(email)s является адресом электронной почты пользователя %(user_display)s." +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:630 +msgid "Confirm" +msgstr "Подтвердить" + #: templates/account/email_confirm.html:27 #, python-format msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." @@ -7562,7 +7548,7 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:112 msgid "Delete Attachments" msgstr "" @@ -7596,15 +7582,15 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1425 +#: templates/js/translated/bom.js:1419 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: 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/bom.js:884 templates/js/translated/build.js:1787 +#: templates/js/translated/build.js:2650 templates/js/translated/part.js:571 +#: templates/js/translated/part.js:574 #: templates/js/translated/table_filters.js:178 msgid "Available" msgstr "" @@ -7622,6 +7608,13 @@ msgstr "" msgid "Minimum Quantity" msgstr "Минимальное количество" +#: templates/email/new_order_assigned.html:9 +#: templates/email/overdue_build_order.html:9 +#: templates/email/overdue_purchase_order.html:9 +#: templates/email/overdue_sales_order.html:9 +msgid "Click on the following link to view this order" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -7638,91 +7631,91 @@ msgstr "Удалённый сервер должен быть доступен" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:235 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1073 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1074 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:242 +#: templates/js/translated/api.js:202 msgid "Error 400: Bad request" msgstr "Ошибка 400: Некорректный запрос" -#: templates/js/translated/api.js:243 +#: templates/js/translated/api.js:203 msgid "API request returned error code 400" msgstr "API-запрос вернул код ошибки 400" -#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1083 msgid "Error 401: Not Authenticated" msgstr "Ошибка 401: Авторизация не выполнена" -#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1084 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:252 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1088 msgid "Error 403: Permission Denied" msgstr "Ошибка 403: Доступ запрещён" -#: templates/js/translated/api.js:253 templates/js/translated/modals.js:1083 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1089 msgid "You do not have the required permissions to access this function" msgstr "У вас нет прав доступа к этой функции" -#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1093 msgid "Error 404: Resource Not Found" msgstr "Ошибка 404: Ресурс не найден" -#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1088 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1094 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:262 +#: templates/js/translated/api.js:222 msgid "Error 405: Method Not Allowed" msgstr "Ошибка 405: Метод не разрешён" -#: templates/js/translated/api.js:263 +#: templates/js/translated/api.js:223 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:267 templates/js/translated/modals.js:1092 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1098 msgid "Error 408: Timeout" msgstr "Ошибка 408: Таймаут" -#: templates/js/translated/api.js:268 templates/js/translated/modals.js:1093 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1099 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:271 +#: templates/js/translated/api.js:231 msgid "Unhandled Error Code" msgstr "Необработанная ошибка" -#: templates/js/translated/api.js:272 +#: templates/js/translated/api.js:232 msgid "Error code" msgstr "Код ошибки" -#: templates/js/translated/attachment.js:96 +#: templates/js/translated/attachment.js:98 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:156 +#: templates/js/translated/attachment.js:152 msgid "No attachments found" msgstr "Вложение не найдено" -#: templates/js/translated/attachment.js:180 +#: templates/js/translated/attachment.js:176 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:246 +#: templates/js/translated/attachment.js:242 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:262 +#: templates/js/translated/attachment.js:264 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:269 +#: templates/js/translated/attachment.js:271 msgid "Delete attachment" msgstr "" @@ -7755,7 +7748,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "Invalid server response" msgstr "" @@ -7783,7 +7776,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999 +#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:998 msgid "Remove stock item" msgstr "" @@ -7918,89 +7911,89 @@ msgstr "" msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:682 +#: templates/js/translated/bom.js:684 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:697 +#: templates/js/translated/bom.js:699 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:824 +#: templates/js/translated/bom.js:818 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:834 +#: templates/js/translated/bom.js:828 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:838 templates/js/translated/build.js:1769 +#: templates/js/translated/bom.js:832 templates/js/translated/build.js:1769 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/bom.js:900 templates/js/translated/build.js:1814 #: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:910 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:904 templates/js/translated/build.js:1818 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:912 templates/js/translated/build.js:1820 -#: templates/js/translated/part.js:690 +#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1820 +#: templates/js/translated/part.js:734 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:914 templates/js/translated/build.js:1822 +#: templates/js/translated/bom.js:908 templates/js/translated/build.js:1822 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:928 +#: templates/js/translated/bom.js:922 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:943 +#: templates/js/translated/bom.js:937 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:950 +#: templates/js/translated/bom.js:944 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:999 templates/js/translated/bom.js:1090 +#: templates/js/translated/bom.js:993 templates/js/translated/bom.js:1084 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1061 +#: templates/js/translated/bom.js:1055 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1063 +#: templates/js/translated/bom.js:1057 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1065 +#: templates/js/translated/bom.js:1059 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1067 templates/js/translated/bom.js:1228 +#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1222 msgid "Edit BOM Item" msgstr "Редактировать элемент BOM" -#: templates/js/translated/bom.js:1069 +#: templates/js/translated/bom.js:1063 msgid "Delete BOM Item" msgstr "Удалить элемент BOM" -#: templates/js/translated/bom.js:1164 templates/js/translated/build.js:1615 +#: templates/js/translated/bom.js:1158 templates/js/translated/build.js:1615 msgid "No BOM items found" msgstr "Элементы BOM не найдены" -#: templates/js/translated/bom.js:1408 templates/js/translated/build.js:1753 +#: templates/js/translated/bom.js:1402 templates/js/translated/build.js:1753 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1430 +#: templates/js/translated/bom.js:1424 msgid "Inherited from parent BOM" msgstr "Унаследовано от родительского BOM" @@ -8040,13 +8033,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91 -#: templates/js/translated/stock.js:181 +#: templates/js/translated/build.js:259 templates/js/translated/stock.js:90 +#: templates/js/translated/stock.js:180 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93 -#: templates/js/translated/stock.js:183 +#: templates/js/translated/build.js:261 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:182 msgid "Latest serial number" msgstr "" @@ -8259,9 +8252,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: 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 +#: templates/js/translated/build.js:2448 templates/js/translated/part.js:1358 +#: templates/js/translated/part.js:1825 templates/js/translated/stock.js:1629 +#: templates/js/translated/stock.js:2287 msgid "Select" msgstr "" @@ -8273,7 +8266,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2519 +#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2529 msgid "No user information" msgstr "" @@ -8285,107 +8278,107 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "Добавить производителя" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:169 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:168 msgid "Add Manufacturer Part" msgstr "Добавить деталь производителя" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "Редактировать деталь производителя" -#: templates/js/translated/company.js:157 templates/js/translated/order.js:506 +#: templates/js/translated/company.js:156 templates/js/translated/order.js:506 msgid "Add Supplier" msgstr "Добавить поставщика" -#: templates/js/translated/company.js:185 +#: templates/js/translated/company.js:184 msgid "Add Supplier Part" msgstr "Добавить деталь поставщика" -#: templates/js/translated/company.js:200 +#: templates/js/translated/company.js:199 msgid "Edit Supplier Part" msgstr "Редактировать деталь поставщика" -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:249 msgid "All selected supplier parts will be deleted" msgstr "Все выбранные детали поставщика будут удалены" -#: templates/js/translated/company.js:263 +#: templates/js/translated/company.js:264 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:342 +#: templates/js/translated/company.js:336 msgid "Add new Company" msgstr "Добавить новую компанию" -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:413 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:428 +#: templates/js/translated/company.js:422 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:443 +#: templates/js/translated/company.js:437 msgid "No company information found" msgstr "Информация о компании не найдена" -#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:478 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:492 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:526 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:548 +#: templates/js/translated/company.js:539 msgid "Delete Parameters" msgstr "Удалить параметры" -#: templates/js/translated/company.js:595 +#: templates/js/translated/company.js:580 msgid "No manufacturer parts found" msgstr "Информация о детали производителя не найдена" -#: templates/js/translated/company.js:615 -#: templates/js/translated/company.js:874 templates/js/translated/part.js:565 -#: templates/js/translated/part.js:650 +#: templates/js/translated/company.js:600 +#: templates/js/translated/company.js:859 templates/js/translated/part.js:609 +#: templates/js/translated/part.js:694 msgid "Template part" msgstr "Деталь-шаблон" -#: templates/js/translated/company.js:619 -#: templates/js/translated/company.js:878 templates/js/translated/part.js:569 -#: templates/js/translated/part.js:654 +#: templates/js/translated/company.js:604 +#: templates/js/translated/company.js:863 templates/js/translated/part.js:613 +#: templates/js/translated/part.js:698 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:747 templates/js/translated/part.js:757 +#: templates/js/translated/company.js:732 templates/js/translated/part.js:801 msgid "No parameters found" msgstr "Параметры не найдены" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:799 +#: templates/js/translated/company.js:769 templates/js/translated/part.js:843 msgid "Edit parameter" msgstr "Редактировать параметр" -#: templates/js/translated/company.js:785 templates/js/translated/part.js:800 +#: templates/js/translated/company.js:770 templates/js/translated/part.js:844 msgid "Delete parameter" msgstr "Удалить параметр" -#: templates/js/translated/company.js:804 templates/js/translated/part.js:817 +#: templates/js/translated/company.js:789 templates/js/translated/part.js:861 msgid "Edit Parameter" msgstr "Редактировать параметр" -#: templates/js/translated/company.js:815 templates/js/translated/part.js:829 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:873 msgid "Delete Parameter" msgstr "Удалить параметр" -#: templates/js/translated/company.js:854 +#: templates/js/translated/company.js:839 msgid "No supplier parts found" msgstr "Информация о детали поставщика не найдена" @@ -8448,36 +8441,36 @@ msgstr "Операция просмотра не разрешена" msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:756 +#: templates/js/translated/forms.js:757 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1248 templates/modals.html:19 +#: templates/js/translated/forms.js:1249 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Форма содержит ошибки" -#: templates/js/translated/forms.js:1681 +#: templates/js/translated/forms.js:1682 msgid "No results found" msgstr "Не найдено" -#: templates/js/translated/forms.js:1896 templates/search.html:29 +#: templates/js/translated/forms.js:1897 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2149 +#: templates/js/translated/forms.js:2150 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2627 +#: templates/js/translated/forms.js:2628 msgid "Select Columns" msgstr "" @@ -8498,7 +8491,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1023 +#: templates/js/translated/stock.js:1022 msgid "Select Stock Items" msgstr "" @@ -8552,12 +8545,12 @@ msgid "Select Label Template" msgstr "" #: templates/js/translated/modals.js:82 templates/js/translated/modals.js:142 -#: templates/js/translated/modals.js:621 +#: templates/js/translated/modals.js:627 msgid "Cancel" msgstr "Отменить" #: 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/js/translated/modals.js:694 templates/js/translated/modals.js:1002 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "Подтвердить" @@ -8566,47 +8559,47 @@ msgstr "Подтвердить" msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:403 +#: templates/js/translated/modals.js:421 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:562 +#: templates/js/translated/modals.js:568 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:620 +#: templates/js/translated/modals.js:626 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:677 +#: templates/js/translated/modals.js:683 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:960 +#: templates/js/translated/modals.js:966 msgid "Error posting form data" msgstr "Ошибка отправки данных формы" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1072 +#: templates/js/translated/modals.js:1078 msgid "Error 400: Bad Request" msgstr "Ошибка 400: Некорректный запрос" -#: templates/js/translated/modals.js:1073 +#: templates/js/translated/modals.js:1079 msgid "Server returned error code 400" msgstr "Сервер вернул код ошибки 400" -#: templates/js/translated/modals.js:1096 +#: templates/js/translated/modals.js:1102 msgid "Error requesting form data" msgstr "Ошибка запроса данных формы" @@ -8656,11 +8649,11 @@ msgstr "" msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:259 +#: templates/js/translated/notification.js:260 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:300 templates/notifications.html:10 +#: templates/js/translated/notification.js:302 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" @@ -8804,7 +8797,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2080 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2090 msgid "Stock Status" msgstr "" @@ -8828,7 +8821,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1602 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1602 templates/js/translated/part.js:914 msgid "No purchase orders found" msgstr "Заказов на закупку не найдено" @@ -8863,7 +8856,7 @@ msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 #: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 -#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 +#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2397 msgid "Unit Price" msgstr "" @@ -8873,11 +8866,11 @@ msgid "Total Price" msgstr "Общая стоимость" #: templates/js/translated/order.js:1993 templates/js/translated/order.js:3525 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:1023 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1069 msgid "Receive line item" msgstr "" @@ -8998,7 +8991,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1535 +#: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" @@ -9138,165 +9131,209 @@ msgstr "" msgid "Create Part Variant" msgstr "Создать разновидность детали" +#: templates/js/translated/part.js:405 +msgid "Active Part" +msgstr "" + +#: templates/js/translated/part.js:406 +msgid "Part cannot be deleted as it is currently active" +msgstr "" + +#: templates/js/translated/part.js:420 +msgid "Deleting this part cannot be reversed" +msgstr "" + +#: templates/js/translated/part.js:422 +msgid "Any stock items for this part will be deleted" +msgstr "" + #: templates/js/translated/part.js:423 +msgid "This part will be removed from any Bills of Material" +msgstr "" + +#: templates/js/translated/part.js:424 +msgid "All manufacturer and supplier information for this part will be deleted" +msgstr "" + +#: templates/js/translated/part.js:431 +msgid "Delete Part" +msgstr "" + +#: templates/js/translated/part.js:467 msgid "You are subscribed to notifications for this item" msgstr "Вы подписаны на уведомления для данного элемента" -#: templates/js/translated/part.js:425 +#: templates/js/translated/part.js:469 msgid "You have subscribed to notifications for this item" msgstr "Вы подписались на уведомления для данного элемента" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:474 msgid "Subscribe to notifications for this item" msgstr "Включить уведомления для данного элемента" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:476 msgid "You have unsubscribed to notifications for this item" msgstr "Вы отписались от уведомлений для данного элемента" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:493 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:503 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:506 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:487 +#: templates/js/translated/part.js:531 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:513 templates/js/translated/part.js:1397 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1441 #: templates/js/translated/table_filters.js:452 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:523 templates/js/translated/part.js:1409 +#: templates/js/translated/part.js:567 templates/js/translated/part.js:1453 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:557 templates/js/translated/part.js:642 +#: templates/js/translated/part.js:601 templates/js/translated/part.js:686 msgid "Trackable part" msgstr "Отслеживаемая деталь" -#: templates/js/translated/part.js:561 templates/js/translated/part.js:646 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:690 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:617 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:577 +#: templates/js/translated/part.js:621 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:705 +#: templates/js/translated/part.js:749 msgid "No variants found" msgstr "Разновидности не найдены" -#: templates/js/translated/part.js:1095 +#: templates/js/translated/part.js:1139 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1119 +#: templates/js/translated/part.js:1163 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1184 templates/js/translated/part.js:1480 +#: templates/js/translated/part.js:1228 templates/js/translated/part.js:1524 msgid "No parts found" msgstr "Детали не найдены" -#: templates/js/translated/part.js:1223 +#: templates/js/translated/part.js:1267 msgid "Not available" msgstr "" -#: templates/js/translated/part.js:1374 +#: templates/js/translated/part.js:1418 msgid "No category" msgstr "Нет категории" -#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664 -#: templates/js/translated/stock.js:2238 +#: templates/js/translated/part.js:1548 templates/js/translated/part.js:1760 +#: templates/js/translated/stock.js:2248 msgid "Display as list" msgstr "Список" -#: templates/js/translated/part.js:1520 +#: templates/js/translated/part.js:1564 msgid "Display as grid" msgstr "Таблица" -#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2257 +#: templates/js/translated/part.js:1630 +msgid "Set the part category for the selected parts" +msgstr "" + +#: templates/js/translated/part.js:1635 +msgid "Set Part Category" +msgstr "Укажите категорию" + +#: templates/js/translated/part.js:1640 +msgid "Select Part Category" +msgstr "" + +#: templates/js/translated/part.js:1653 +msgid "Category is required" +msgstr "" + +#: templates/js/translated/part.js:1779 templates/js/translated/stock.js:2267 msgid "Display as tree" msgstr "Дерево" -#: templates/js/translated/part.js:1747 +#: templates/js/translated/part.js:1843 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2301 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2311 msgid "Path" msgstr "Путь" -#: templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:1901 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1233 +#: templates/js/translated/part.js:1952 templates/js/translated/stock.js:1243 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1234 -#: templates/js/translated/stock.js:1493 +#: templates/js/translated/part.js:1953 templates/js/translated/stock.js:1244 +#: templates/js/translated/stock.js:1503 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1863 +#: templates/js/translated/part.js:1959 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1885 +#: templates/js/translated/part.js:1981 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:1995 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1924 +#: templates/js/translated/part.js:2020 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1981 +#: templates/js/translated/part.js:2077 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1982 +#: templates/js/translated/part.js:2078 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:2096 +#: templates/js/translated/part.js:2192 msgid "Current Stock" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2225 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2155 +#: templates/js/translated/part.js:2251 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2225 +#: templates/js/translated/part.js:2321 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:2244 +#: templates/js/translated/part.js:2340 msgid "Single Price Difference" msgstr "" @@ -9378,360 +9415,360 @@ msgstr "" msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:72 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:101 +#: templates/js/translated/stock.js:100 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:109 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:139 +#: templates/js/translated/stock.js:138 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:153 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:194 +#: templates/js/translated/stock.js:193 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:233 +#: templates/js/translated/stock.js:232 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:239 +#: templates/js/translated/stock.js:238 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:303 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:324 +#: templates/js/translated/stock.js:323 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:344 +#: templates/js/translated/stock.js:343 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:394 +#: templates/js/translated/stock.js:393 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:407 +#: templates/js/translated/stock.js:406 msgid "Created multiple stock items" msgstr "Создано несколько единиц хранения" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:431 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:453 +#: templates/js/translated/stock.js:452 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:472 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:481 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:605 +#: templates/js/translated/stock.js:604 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:606 +#: templates/js/translated/stock.js:605 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:683 +#: templates/js/translated/stock.js:682 msgid "Warning: Merge operation cannot be reversed" msgstr "Предупреждение: Операция объединения не может быть отменена" -#: templates/js/translated/stock.js:684 +#: templates/js/translated/stock.js:683 msgid "Some information will be lost when merging stock items" msgstr "Следующие данные будут потеряны в процессе объединения" -#: templates/js/translated/stock.js:686 +#: templates/js/translated/stock.js:685 msgid "Stock transaction history will be deleted for merged items" msgstr "История складских перемещений будет удалена для объединённых элементов" -#: templates/js/translated/stock.js:687 +#: templates/js/translated/stock.js:686 msgid "Supplier part information will be deleted for merged items" msgstr "Информация о деталях поставщика будет удалена для объединённых элементов" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:772 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:774 +#: templates/js/translated/stock.js:773 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:869 +#: templates/js/translated/stock.js:868 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:869 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:876 +#: templates/js/translated/stock.js:875 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:876 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:881 +#: templates/js/translated/stock.js:880 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:882 +#: templates/js/translated/stock.js:881 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:886 +#: templates/js/translated/stock.js:885 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:887 users/models.py:215 +#: templates/js/translated/stock.js:886 users/models.py:215 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1024 +#: templates/js/translated/stock.js:1023 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1047 +#: templates/js/translated/stock.js:1046 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1172 +#: templates/js/translated/stock.js:1182 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1174 +#: templates/js/translated/stock.js:1184 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1179 +#: templates/js/translated/stock.js:1189 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1226 +#: templates/js/translated/stock.js:1236 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1229 +#: templates/js/translated/stock.js:1239 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1255 +#: templates/js/translated/stock.js:1265 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1321 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1476 +#: templates/js/translated/stock.js:1486 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1498 +#: templates/js/translated/stock.js:1508 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1527 +#: templates/js/translated/stock.js:1537 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1531 +#: templates/js/translated/stock.js:1541 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1539 +#: templates/js/translated/stock.js:1549 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1545 +#: templates/js/translated/stock.js:1555 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1712 +#: templates/js/translated/stock.js:1722 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1727 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1720 +#: templates/js/translated/stock.js:1730 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1723 +#: templates/js/translated/stock.js:1733 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1725 +#: templates/js/translated/stock.js:1735 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1727 +#: templates/js/translated/stock.js:1737 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1730 +#: templates/js/translated/stock.js:1740 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1734 +#: templates/js/translated/stock.js:1744 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1746 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1743 +#: templates/js/translated/stock.js:1753 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1755 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:1757 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1751 +#: templates/js/translated/stock.js:1761 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1802 +#: templates/js/translated/stock.js:1812 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1894 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1932 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2095 +#: templates/js/translated/stock.js:2105 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2109 +#: templates/js/translated/stock.js:2119 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2120 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2375 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2381 +#: templates/js/translated/stock.js:2391 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2403 +#: templates/js/translated/stock.js:2413 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2422 +#: templates/js/translated/stock.js:2432 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2441 +#: templates/js/translated/stock.js:2451 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2459 +#: templates/js/translated/stock.js:2469 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2482 +#: templates/js/translated/stock.js:2492 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2490 +#: templates/js/translated/stock.js:2500 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2566 +#: templates/js/translated/stock.js:2576 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2617 templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2663 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2666 +#: templates/js/translated/stock.js:2676 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2697 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2688 +#: templates/js/translated/stock.js:2698 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2690 +#: templates/js/translated/stock.js:2700 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/stock.js:2701 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2702 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2693 +#: templates/js/translated/stock.js:2703 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2716 msgid "Select part to install" msgstr "" diff --git a/InvenTree/locale/sv/LC_MESSAGES/django.po b/InvenTree/locale/sv/LC_MESSAGES/django.po index 38d1df2ae3..31497f4913 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-06-05 14:26+0000\n" -"PO-Revision-Date: 2022-06-05 14:34\n" +"POT-Creation-Date: 2022-06-06 22:59+0000\n" +"PO-Revision-Date: 2022-06-07 14:34\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:46 +#: InvenTree/api.py:49 msgid "API endpoint not found" msgstr "API-slutpunkt hittades inte" @@ -29,275 +29,273 @@ msgstr "" msgid "Enter date" msgstr "Ange datum" -#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:630 -msgid "Confirm" -msgstr "Bekräfta" - -#: InvenTree/forms.py:134 +#: InvenTree/forms.py:117 msgid "Confirm delete" msgstr "Bekräfta borttagning" -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:118 msgid "Confirm item deletion" msgstr "Bekräfta borttagning av artikel" -#: InvenTree/forms.py:167 +#: InvenTree/forms.py:150 msgid "Enter password" msgstr "Ange lösenord" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:151 msgid "Enter new password" msgstr "Ange nytt lösenord" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:158 msgid "Confirm password" msgstr "Bekräfta lösenord" -#: InvenTree/forms.py:176 +#: InvenTree/forms.py:159 msgid "Confirm new password" msgstr "Bekräfta nytt lösenord" -#: InvenTree/forms.py:213 -msgid "Select Category" -msgstr "Välj Kategori" - -#: InvenTree/forms.py:234 +#: InvenTree/forms.py:184 msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:238 +#: InvenTree/forms.py:188 msgid "Email address confirmation" msgstr "" -#: InvenTree/forms.py:259 +#: InvenTree/forms.py:209 msgid "You must type the same email each time." msgstr "" -#: InvenTree/helpers.py:402 +#: InvenTree/helpers.py:404 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 +#: InvenTree/helpers.py:411 order/models.py:370 order/models.py:522 msgid "Invalid quantity provided" msgstr "Ogiltigt antal angivet" -#: InvenTree/helpers.py:412 +#: InvenTree/helpers.py:414 msgid "Empty serial number string" msgstr "Tom serienummersträng" -#: InvenTree/helpers.py:444 +#: InvenTree/helpers.py:446 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:447 +#: InvenTree/helpers.py:449 #, python-brace-format msgid "Invalid group: {g}" msgstr "Ogiltig grupp: {g}" -#: InvenTree/helpers.py:475 +#: InvenTree/helpers.py:477 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:483 +#: InvenTree/helpers.py:485 #, python-brace-format msgid "Invalid/no group {group}" msgstr "" -#: InvenTree/helpers.py:489 +#: InvenTree/helpers.py:491 msgid "No serial numbers found" msgstr "Inga serienummer hittades" -#: InvenTree/helpers.py:493 +#: InvenTree/helpers.py:495 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:174 +#: InvenTree/models.py:178 msgid "Missing file" msgstr "" -#: InvenTree/models.py:175 +#: InvenTree/models.py:179 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:187 stock/models.py:2087 -#: templates/js/translated/attachment.js:101 -#: templates/js/translated/attachment.js:198 +#: InvenTree/models.py:191 stock/models.py:2091 +#: templates/js/translated/attachment.js:103 +#: templates/js/translated/attachment.js:194 msgid "Attachment" msgstr "Bilaga" -#: InvenTree/models.py:188 +#: InvenTree/models.py:192 msgid "Select file to attach" msgstr "Välj fil att bifoga" -#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 -#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: InvenTree/models.py:198 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:136 order/models.py:1251 #: 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 -#: templates/js/translated/part.js:1441 +#: templates/js/translated/company.js:640 +#: templates/js/translated/company.js:931 templates/js/translated/order.js:2676 +#: templates/js/translated/part.js:1485 msgid "Link" msgstr "" -#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: InvenTree/models.py:199 build/models.py:320 part/models.py:796 #: stock/models.py:642 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 -#: templates/js/translated/attachment.js:242 +#: InvenTree/models.py:202 templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:238 msgid "Comment" msgstr "Kommentar" -#: InvenTree/models.py:198 +#: InvenTree/models.py:202 msgid "File comment" msgstr "Fil kommentar" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1506 +#: common/models.py:1507 common/models.py:1735 common/models.py:1736 +#: common/models.py:1998 common/models.py:1999 part/models.py:2141 +#: part/models.py:2161 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:2523 msgid "User" msgstr "Användare" -#: InvenTree/models.py:208 +#: InvenTree/models.py:212 msgid "upload date" msgstr "uppladdningsdatum" -#: InvenTree/models.py:230 +#: InvenTree/models.py:234 msgid "Filename must not be empty" msgstr "Filnamnet får inte vara tomt" -#: InvenTree/models.py:253 +#: InvenTree/models.py:257 msgid "Invalid attachment directory" msgstr "Ogiltig katalog för bilaga" -#: InvenTree/models.py:263 +#: InvenTree/models.py:267 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Filnamnet innehåller ogiltiga tecken '{c}'" -#: InvenTree/models.py:266 +#: InvenTree/models.py:270 msgid "Filename missing extension" msgstr "Filnamn saknar ändelse" -#: InvenTree/models.py:273 +#: InvenTree/models.py:277 msgid "Attachment with this filename already exists" msgstr "Det finns redan en bilaga med detta filnamn" -#: InvenTree/models.py:280 +#: InvenTree/models.py:284 msgid "Error renaming file" msgstr "Fel vid namnbyte av fil" -#: InvenTree/models.py:314 +#: InvenTree/models.py:318 msgid "Invalid choice" msgstr "Ogiltigt val" -#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 #: company/models.py:354 label/models.py:101 part/models.py:739 -#: part/models.py:2331 plugin/models.py:93 report/models.py:151 +#: part/models.py:2319 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 #: templates/InvenTree/settings/plugin.html:132 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:346 -#: 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:2283 +#: templates/js/translated/company.js:530 +#: templates/js/translated/company.js:742 templates/js/translated/part.js:659 +#: templates/js/translated/part.js:811 templates/js/translated/part.js:1832 +#: templates/js/translated/stock.js:2293 msgid "Name" msgstr "Namn" -#: InvenTree/models.py:340 build/models.py:197 +#: InvenTree/models.py:344 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: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:164 +#: order/models.py:134 part/models.py:762 part/templates/part/category.html:74 +#: part/templates/part/part_base.html:167 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 -#: 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/bom.js:553 templates/js/translated/bom.js:845 +#: templates/js/translated/build.js:2476 templates/js/translated/company.js:395 +#: templates/js/translated/company.js:651 +#: templates/js/translated/company.js:942 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:1676 -#: templates/js/translated/stock.js:2295 templates/js/translated/stock.js:2350 +#: templates/js/translated/part.js:718 templates/js/translated/part.js:1126 +#: templates/js/translated/part.js:1399 templates/js/translated/part.js:1851 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:1686 +#: templates/js/translated/stock.js:2305 templates/js/translated/stock.js:2360 msgid "Description" msgstr "Beskrivning" -#: InvenTree/models.py:341 +#: InvenTree/models.py:345 msgid "Description (optional)" msgstr "Beskrivning (valfritt)" -#: InvenTree/models.py:349 +#: InvenTree/models.py:353 msgid "parent" msgstr "överordnad" -#: InvenTree/serializers.py:52 part/models.py:2652 +#: InvenTree/models.py:466 +msgid "Server Error" +msgstr "" + +#: InvenTree/models.py:467 +msgid "An error has been logged by the server." +msgstr "" + +#: InvenTree/serializers.py:52 part/models.py:2640 msgid "Must be a valid number" msgstr "Måste vara ett giltigt nummer" -#: InvenTree/serializers.py:271 +#: InvenTree/serializers.py:263 msgid "Filename" msgstr "Filnamn" -#: InvenTree/serializers.py:306 +#: InvenTree/serializers.py:298 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:320 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:321 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:342 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:348 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:377 +#: InvenTree/serializers.py:369 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:372 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:495 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:506 +#: InvenTree/serializers.py:498 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:583 +#: InvenTree/serializers.py:575 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:592 +#: InvenTree/serializers.py:584 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" @@ -440,7 +438,7 @@ msgstr "Förlorad" msgid "Returned" msgstr "Återlämnad" -#: InvenTree/status_codes.py:141 order/models.py:1114 +#: InvenTree/status_codes.py:141 order/models.py:1130 #: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "Skickad" @@ -525,7 +523,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2020 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2030 msgid "Merged stock items" msgstr "" @@ -597,27 +595,27 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:522 +#: InvenTree/views.py:521 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:571 +#: InvenTree/views.py:570 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:585 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:597 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "" -#: InvenTree/views.py:618 +#: InvenTree/views.py:617 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:842 templates/navbar.html:152 +#: InvenTree/views.py:807 templates/navbar.html:152 msgid "System Information" msgstr "" @@ -628,6 +626,7 @@ msgstr "" #: 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/email/overdue_build_order.html:15 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "" @@ -646,12 +645,12 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:189 order/models.py:288 order/models.py:638 -#: order/models.py:916 part/models.py:2570 +#: build/models.py:189 order/models.py:293 order/models.py:654 +#: order/models.py:932 part/models.py:2558 #: 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/bom.js:690 templates/js/translated/bom.js:852 #: 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:3959 @@ -673,13 +672,12 @@ msgstr "" #: 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:2460 part/models.py:2545 part/models.py:2821 -#: part/serializers.py:793 part/templates/part/part_app_base.html:8 +#: order/models.py:1028 order/models.py:1119 part/models.py:336 +#: part/models.py:2087 part/models.py:2102 part/models.py:2121 +#: part/models.py:2139 part/models.py:2238 part/models.py:2358 +#: part/models.py:2448 part/models.py:2533 part/models.py:2809 +#: part/serializers.py:795 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 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 @@ -687,22 +685,23 @@ msgstr "" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 +#: templates/email/overdue_build_order.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:805 +#: templates/js/translated/bom.js:689 templates/js/translated/bom.js:799 #: 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/company.js:253 +#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:592 +#: templates/js/translated/company.js:851 templates/js/translated/order.js:100 #: templates/js/translated/order.js:883 templates/js/translated/order.js:1315 #: 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:1633 templates/js/translated/stock.js:2376 -#: templates/js/translated/stock.js:2571 templates/js/translated/stock.js:2705 +#: templates/js/translated/part.js:1111 templates/js/translated/part.js:1181 +#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:695 templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2386 +#: templates/js/translated/stock.js:2581 templates/js/translated/stock.js:2715 msgid "Part" msgstr "" @@ -768,12 +767,12 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:282 order/models.py:137 part/models.py:932 +#: build/models.py:282 order/models.py:138 part/models.py:932 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "" -#: build/models.py:286 order/models.py:660 +#: build/models.py:286 order/models.py:676 msgid "Target completion date" msgstr "" @@ -781,7 +780,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:290 order/models.py:331 +#: build/models.py:290 order/models.py:336 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "" @@ -799,7 +798,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:313 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:151 +#: build/templates/build/detail.html:115 order/models.py:152 #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 @@ -822,20 +821,20 @@ msgstr "" #: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 #: company/models.py:519 company/templates/company/sidebar.html:25 -#: order/models.py:155 order/models.py:918 order/models.py:1213 +#: order/models.py:156 order/models.py:934 order/models.py:1229 #: order/templates/order/po_sidebar.html:11 #: 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:713 stock/models.py:1985 stock/models.py:2093 +#: stock/models.py:713 stock/models.py:1989 stock/models.py:2097 #: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:486 -#: stock/serializers.py:772 stock/serializers.py:871 stock/serializers.py:1003 +#: stock/serializers.py:759 stock/serializers.py:858 stock/serializers.py:990 #: 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/barcode.js:100 templates/js/translated/bom.js:1038 +#: templates/js/translated/company.js:947 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 -#: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 +#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1926 msgid "Notes" msgstr "" @@ -855,44 +854,44 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1108 +#: build/models.py:1111 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1117 +#: build/models.py:1120 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1127 +#: build/models.py:1130 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1133 order/models.py:1372 +#: build/models.py:1136 order/models.py:1388 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1139 +#: build/models.py:1142 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1196 +#: build/models.py:1199 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1265 stock/templates/stock/item_base.html:177 +#: build/models.py:1268 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:1266 +#: build/models.py:1269 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 -#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:703 -#: stock/serializers.py:829 stock/templates/stock/item_base.html:10 +#: build/models.py:1285 build/serializers.py:603 order/serializers.py:996 +#: order/serializers.py:1017 stock/serializers.py:382 stock/serializers.py:690 +#: stock/serializers.py:816 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 @@ -900,22 +899,22 @@ msgstr "" #: 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:2449 +#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696 +#: templates/js/translated/stock.js:2459 msgid "Stock Item" msgstr "" -#: build/models.py:1283 +#: build/models.py:1286 msgid "Source stock item" msgstr "" -#: build/models.py:1295 build/serializers.py:183 +#: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1536 +#: build/templates/build/detail.html:34 common/models.py:1543 #: 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:68 -#: part/forms.py:83 part/forms.py:98 part/models.py:2561 +#: order/models.py:925 order/models.py:1428 order/serializers.py:1136 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 +#: part/forms.py:74 part/forms.py:89 part/models.py:2549 #: 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 @@ -926,8 +925,8 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:139 #: 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 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:691 +#: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 #: templates/js/translated/build.js:574 templates/js/translated/build.js:765 #: templates/js/translated/build.js:1175 templates/js/translated/build.js:1673 #: templates/js/translated/build.js:2086 @@ -937,23 +936,23 @@ msgstr "" #: 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: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 -#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727 -#: templates/js/translated/stock.js:2498 templates/js/translated/stock.js:2583 +#: templates/js/translated/part.js:1011 templates/js/translated/part.js:2065 +#: templates/js/translated/part.js:2296 templates/js/translated/part.js:2330 +#: templates/js/translated/part.js:2408 templates/js/translated/stock.js:402 +#: templates/js/translated/stock.js:556 templates/js/translated/stock.js:726 +#: templates/js/translated/stock.js:2508 templates/js/translated/stock.js:2593 msgid "Quantity" msgstr "" -#: build/models.py:1296 +#: build/models.py:1299 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1304 +#: build/models.py:1307 msgid "Install into" msgstr "" -#: build/models.py:1305 +#: build/models.py:1308 msgid "Destination stock item" msgstr "" @@ -982,9 +981,9 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: 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:1239 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:368 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:514 +#: part/serializers.py:958 stock/models.py:470 stock/models.py:1239 #: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" @@ -997,9 +996,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 #: stock/serializers.py:297 templates/js/translated/order.js:1186 -#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:237 templates/js/translated/stock.js:403 msgid "Serial Numbers" msgstr "" @@ -1015,7 +1014,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:552 +#: build/serializers.py:268 stock/api.py:553 msgid "The following serial numbers already exist" msgstr "" @@ -1025,16 +1024,16 @@ msgstr "" #: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 #: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:481 -#: stock/serializers.py:864 stock/serializers.py:1097 +#: stock/serializers.py:851 stock/serializers.py:1084 #: 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 #: 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:1787 templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532 +#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904 +#: templates/js/translated/stock.js:1797 templates/js/translated/stock.js:2400 msgid "Location" msgstr "" @@ -1043,12 +1042,12 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:363 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:654 +#: build/templates/build/detail.html:62 order/models.py:670 #: 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 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1772 +#: templates/js/translated/stock.js:2477 templates/js/translated/stock.js:2609 msgid "Status" msgstr "" @@ -1108,8 +1107,8 @@ msgstr "" msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:535 build/serializers.py:580 part/models.py:2679 -#: part/models.py:2813 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2667 +#: part/models.py:2801 msgid "BOM Item" msgstr "" @@ -1125,11 +1124,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:716 +#: build/serializers.py:609 stock/serializers.py:703 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:667 order/serializers.py:1052 +#: build/serializers.py:667 order/serializers.py:1054 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1146,7 +1145,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:708 order/serializers.py:1298 +#: build/serializers.py:708 order/serializers.py:1300 msgid "Allocation items must be provided" msgstr "" @@ -1178,10 +1177,19 @@ msgstr "" msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:96 +#: build/tasks.py:100 msgid "Stock required for build order" msgstr "" +#: build/tasks.py:118 +msgid "Overdue Build Order" +msgstr "" + +#: build/tasks.py:123 +#, python-brace-format +msgid "Build order {bo} is now overdue" +msgstr "" + #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 #: order/templates/order/sales_order_base.html:38 @@ -1244,13 +1252,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:922 +#: build/templates/build/detail.html:131 order/models.py:938 #: 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: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 +#: templates/js/translated/order.js:3517 templates/js/translated/part.js:1015 msgid "Target Date" msgstr "" @@ -1277,13 +1285,14 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1100 -#: order/models.py:1185 order/models.py:1320 +#: build/templates/build/detail.html:94 order/models.py:1116 +#: order/models.py:1201 order/models.py:1336 #: 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/email/overdue_sales_order.html:15 #: templates/js/translated/order.js:2436 msgid "Sales Order" msgstr "" @@ -1319,7 +1328,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1034 +#: build/templates/build/detail.html:49 order/models.py:1050 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "" @@ -1336,8 +1345,8 @@ msgstr "" #: stock/templates/stock/item_base.html:170 #: templates/js/translated/build.js:1179 #: templates/js/translated/model_renderers.js:112 -#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1776 -#: templates/js/translated/stock.js:2606 +#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:2616 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1716,7 +1725,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:820 part/models.py:2372 report/models.py:157 +#: common/models.py:820 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" @@ -1726,7 +1735,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" @@ -1880,7 +1889,7 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:968 -msgid "Test Reports" +msgid "Enable Test Reports" msgstr "" #: common/models.py:969 @@ -1888,568 +1897,576 @@ msgid "Enable generation of test reports" msgstr "" #: common/models.py:975 -msgid "Batch Code Template" +msgid "Attach Test Reports" msgstr "" #: common/models.py:976 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:981 -msgid "Stock Expiry" +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" #: common/models.py:982 -msgid "Enable stock expiry functionality" +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:983 +msgid "Template for generating default batch codes for stock items" msgstr "" #: common/models.py:988 -msgid "Sell Expired Stock" +msgid "Stock Expiry" msgstr "" #: common/models.py:989 -msgid "Allow sale of expired stock" +msgid "Enable stock expiry functionality" msgstr "" #: common/models.py:995 -msgid "Stock Stale Time" +msgid "Sell Expired Stock" msgstr "" #: common/models.py:996 -msgid "Number of days stock items are considered stale before expiring" +msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:998 -msgid "days" +#: common/models.py:1002 +msgid "Stock Stale Time" msgstr "" #: common/models.py:1003 -msgid "Build Expired Stock" +msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1004 -msgid "Allow building with expired stock" +#: common/models.py:1005 +msgid "days" msgstr "" #: common/models.py:1010 -msgid "Stock Ownership Control" +msgid "Build Expired Stock" msgstr "" #: common/models.py:1011 -msgid "Enable ownership control over stock locations and items" +msgid "Allow building with expired stock" msgstr "" #: common/models.py:1017 -msgid "Build Order Reference Prefix" +msgid "Stock Ownership Control" msgstr "" #: common/models.py:1018 -msgid "Prefix value for build order reference" -msgstr "" - -#: common/models.py:1023 -msgid "Build Order Reference Regex" +msgid "Enable ownership control over stock locations and items" msgstr "" #: common/models.py:1024 +msgid "Build Order Reference Prefix" +msgstr "" + +#: common/models.py:1025 +msgid "Prefix value for build order reference" +msgstr "" + +#: common/models.py:1030 +msgid "Build Order Reference Regex" +msgstr "" + +#: common/models.py:1031 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1029 +#: common/models.py:1036 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1041 +#: common/models.py:1048 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1042 +#: common/models.py:1049 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1048 +#: common/models.py:1055 msgid "Enable password forgot" msgstr "" -#: common/models.py:1049 +#: common/models.py:1056 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1055 +#: common/models.py:1062 msgid "Enable registration" msgstr "" -#: common/models.py:1056 +#: common/models.py:1063 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1069 msgid "Enable SSO" msgstr "" -#: common/models.py:1063 +#: common/models.py:1070 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1069 +#: common/models.py:1076 msgid "Email required" msgstr "" -#: common/models.py:1070 +#: common/models.py:1077 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1076 +#: common/models.py:1083 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1077 +#: common/models.py:1084 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1083 +#: common/models.py:1090 msgid "Mail twice" msgstr "" -#: common/models.py:1084 +#: common/models.py:1091 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1090 +#: common/models.py:1097 msgid "Password twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1098 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1097 +#: common/models.py:1104 msgid "Group on signup" msgstr "" -#: common/models.py:1098 +#: common/models.py:1105 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1104 +#: common/models.py:1111 msgid "Enforce MFA" msgstr "" -#: common/models.py:1105 +#: common/models.py:1112 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1111 +#: common/models.py:1118 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1112 +#: common/models.py:1119 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1120 +#: common/models.py:1127 msgid "Enable URL integration" msgstr "" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1136 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1136 +#: common/models.py:1143 msgid "Enable app integration" msgstr "" -#: common/models.py:1137 +#: common/models.py:1144 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1144 +#: common/models.py:1151 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1145 +#: common/models.py:1152 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1152 +#: common/models.py:1159 msgid "Enable event integration" msgstr "" -#: common/models.py:1153 +#: common/models.py:1160 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1170 common/models.py:1492 +#: common/models.py:1177 common/models.py:1499 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1192 +#: common/models.py:1199 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1193 +#: common/models.py:1200 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1199 +#: common/models.py:1206 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1200 +#: common/models.py:1207 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1213 msgid "Show latest parts" msgstr "" -#: common/models.py:1207 +#: common/models.py:1214 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1213 +#: common/models.py:1220 msgid "Recent Part Count" msgstr "" -#: common/models.py:1214 +#: common/models.py:1221 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1220 +#: common/models.py:1227 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1221 +#: common/models.py:1228 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1227 +#: common/models.py:1234 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1228 +#: common/models.py:1235 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1235 +#: common/models.py:1242 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Show low stock" msgstr "" -#: common/models.py:1242 +#: common/models.py:1249 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Show depleted stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1256 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1262 msgid "Show needed stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1263 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1269 msgid "Show expired stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1270 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1276 msgid "Show stale stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Show pending builds" msgstr "" -#: common/models.py:1277 +#: common/models.py:1284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Show overdue builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1291 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1291 +#: common/models.py:1298 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Show overdue POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1305 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1312 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1318 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1319 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1317 +#: common/models.py:1324 msgid "Enable label printing" msgstr "" -#: common/models.py:1318 +#: common/models.py:1325 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1324 +#: common/models.py:1331 msgid "Inline label display" msgstr "" -#: common/models.py:1325 +#: common/models.py:1332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1331 +#: common/models.py:1338 msgid "Inline report display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1345 msgid "Search Parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1345 +#: common/models.py:1352 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1359 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1366 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1367 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1373 msgid "Search Categories" msgstr "" -#: common/models.py:1367 +#: common/models.py:1374 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1380 msgid "Search Stock" msgstr "" -#: common/models.py:1374 +#: common/models.py:1381 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1387 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1381 +#: common/models.py:1388 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1394 msgid "Search Locations" msgstr "" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1401 msgid "Search Companies" msgstr "" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1408 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1415 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1422 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1429 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Search Preview Results" msgstr "" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1457 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1457 +#: common/models.py:1464 msgid "Date Format" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1472 part/templates/part/detail.html:39 +#: common/models.py:1479 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1473 +#: common/models.py:1480 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1537 company/forms.py:37 +#: common/models.py:1544 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: 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 +#: common/models.py:1551 company/serializers.py:290 +#: company/templates/company/supplier_part.html:263 order/models.py:965 +#: templates/js/translated/part.js:1042 templates/js/translated/part.js:2070 msgid "Price" msgstr "" -#: common/models.py:1545 +#: common/models.py:1552 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1705 common/models.py:1883 +#: common/models.py:1712 common/models.py:1890 msgid "Endpoint" msgstr "" -#: common/models.py:1706 +#: common/models.py:1713 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1715 +#: common/models.py:1722 msgid "Name for this webhook" msgstr "" -#: common/models.py:1720 part/models.py:911 plugin/models.py:99 +#: common/models.py:1727 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 @@ -2457,79 +2474,89 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1721 +#: common/models.py:1728 msgid "Is this webhook active" msgstr "" -#: common/models.py:1735 +#: common/models.py:1742 msgid "Token" msgstr "" -#: common/models.py:1736 +#: common/models.py:1743 msgid "Token for access" msgstr "" -#: common/models.py:1743 +#: common/models.py:1750 msgid "Secret" msgstr "" -#: common/models.py:1744 +#: common/models.py:1751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Message ID" msgstr "" -#: common/models.py:1851 +#: common/models.py:1858 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1859 +#: common/models.py:1866 msgid "Host" msgstr "" -#: common/models.py:1860 +#: common/models.py:1867 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1867 +#: common/models.py:1874 msgid "Header" msgstr "" -#: common/models.py:1868 +#: common/models.py:1875 msgid "Header of this message" msgstr "" -#: common/models.py:1874 +#: common/models.py:1881 msgid "Body" msgstr "" -#: common/models.py:1875 +#: common/models.py:1882 msgid "Body of this message" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1889 +#: common/models.py:1896 msgid "Worked on" msgstr "" -#: common/models.py:1890 +#: common/models.py:1897 msgid "Was the work on this message finished?" msgstr "" +#: common/notifications.py:292 +#, python-brace-format +msgid "New {verbose_name}" +msgstr "" + +#: common/notifications.py:294 +#, python-brace-format +msgid "A new {verbose_name} has been created and ,assigned to you" +msgstr "" + #: common/views.py:87 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:191 +#: order/views.py:102 part/views.py:116 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:192 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:117 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -2545,19 +2572,19 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:511 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:16 part/forms.py:21 +#: company/forms.py:16 part/forms.py:18 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:17 part/forms.py:22 +#: company/forms.py:17 part/forms.py:19 msgid "Image URL" msgstr "" @@ -2571,7 +2598,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:405 +#: templates/js/translated/company.js:399 msgid "Website" msgstr "" @@ -2644,9 +2671,9 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: 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 +#: company/models.py:144 company/serializers.py:296 +#: company/templates/company/company_base.html:106 part/serializers.py:139 +#: part/serializers.py:170 stock/serializers.py:162 msgid "Currency" msgstr "" @@ -2667,10 +2694,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: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/company.js:383 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:617 +#: templates/js/translated/company.js:902 templates/js/translated/part.js:235 #: templates/js/translated/table_filters.js:411 msgid "Manufacturer" msgstr "" @@ -2681,11 +2708,11 @@ msgstr "" #: 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 -#: 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 +#: templates/js/translated/company.js:256 +#: templates/js/translated/company.js:483 +#: templates/js/translated/company.js:633 +#: templates/js/translated/company.js:920 templates/js/translated/order.js:1907 +#: templates/js/translated/part.js:246 templates/js/translated/part.js:1000 msgid "MPN" msgstr "" @@ -2714,9 +2741,9 @@ msgstr "" #: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2080 templates/js/translated/company.js:540 -#: templates/js/translated/company.js:763 templates/js/translated/part.js:776 -#: templates/js/translated/stock.js:1294 +#: stock/models.py:2084 templates/js/translated/company.js:531 +#: templates/js/translated/company.js:748 templates/js/translated/part.js:820 +#: templates/js/translated/stock.js:1304 msgid "Value" msgstr "" @@ -2724,10 +2751,10 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:368 part/models.py:878 part/models.py:2339 +#: company/models.py:368 part/models.py:878 part/models.py:2327 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:351 -#: templates/js/translated/company.js:769 templates/js/translated/part.js:782 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:826 msgid "Units" msgstr "" @@ -2740,13 +2767,14 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:487 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:303 +#: company/templates/company/supplier_part.html:87 order/models.py:308 #: 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 -#: 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/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:255 +#: templates/js/translated/company.js:387 +#: templates/js/translated/company.js:876 templates/js/translated/order.js:1643 +#: templates/js/translated/part.js:216 templates/js/translated/part.js:968 #: templates/js/translated/table_filters.js:415 msgid "Supplier" msgstr "" @@ -2756,9 +2784,9 @@ msgid "Select supplier" msgstr "" #: 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 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:254 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 -#: templates/js/translated/part.js:942 +#: templates/js/translated/part.js:986 msgid "SKU" msgstr "" @@ -2779,23 +2807,23 @@ msgid "Supplier part description" msgstr "" #: company/models.py:518 company/templates/company/supplier_part.html:125 -#: part/models.py:2573 part/templates/part/upload_bom.html:59 +#: part/models.py:2561 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:387 msgid "Note" msgstr "" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "base cost" msgstr "" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: 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 +#: templates/js/translated/company.js:952 templates/js/translated/stock.js:1922 msgid "Packaging" msgstr "" @@ -2803,7 +2831,7 @@ msgstr "" msgid "Part packaging" msgstr "" -#: company/models.py:526 part/models.py:1690 +#: company/models.py:526 part/models.py:1685 msgid "multiple" msgstr "" @@ -2825,7 +2853,7 @@ msgstr "" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:177 templates/js/translated/company.js:378 +#: templates/InvenTree/search.html:177 templates/js/translated/company.js:372 msgid "Company" msgstr "" @@ -2843,7 +2871,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:321 +#: templates/js/translated/company.js:315 msgid "Edit Company" msgstr "" @@ -2866,12 +2894,13 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:649 +#: company/templates/company/company_base.html:86 order/models.py:665 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:758 +#: stock/models.py:628 stock/serializers.py:745 #: 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 +#: templates/email/overdue_sales_order.html:16 +#: templates/js/translated/company.js:379 templates/js/translated/order.js:2458 +#: templates/js/translated/stock.js:2441 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "" @@ -2999,7 +3028,7 @@ msgid "Supplier List" msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:45 -#: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 +#: part/templates/part/prices.html:172 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -3012,12 +3041,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:680 +#: templates/js/translated/company.js:665 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:681 +#: templates/js/translated/company.js:666 msgid "Delete manufacturer part" msgstr "" @@ -3032,7 +3061,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:39 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 +#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" msgstr "" @@ -3092,18 +3121,18 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: 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 +#: templates/js/translated/company.js:892 templates/js/translated/order.js:884 +#: templates/js/translated/stock.js:1879 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:38 -#: templates/js/translated/company.js:980 +#: templates/js/translated/company.js:965 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:42 -#: templates/js/translated/company.js:981 +#: templates/js/translated/company.js:966 msgid "Delete supplier part" msgstr "" @@ -3123,7 +3152,7 @@ msgstr "" #: company/templates/company/supplier_part.html:148 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 -#: templates/js/translated/stock.js:380 +#: templates/js/translated/stock.js:379 msgid "New Stock Item" msgstr "" @@ -3144,7 +3173,7 @@ msgstr "" #: company/templates/company/supplier_part.html:191 #: company/templates/company/supplier_part.html:305 -#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046 +#: part/templates/part/prices.html:276 templates/js/translated/part.js:2142 msgid "Add Price Break" msgstr "" @@ -3153,12 +3182,12 @@ msgid "No price break information found" msgstr "" #: company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2152 msgid "Delete Price Break" msgstr "" #: company/templates/company/supplier_part.html:245 -#: templates/js/translated/part.js:2070 +#: templates/js/translated/part.js:2166 msgid "Edit Price Break" msgstr "" @@ -3180,9 +3209,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: 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:1687 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:722 +#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1431 +#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3209,7 +3238,7 @@ msgstr "" #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 -#: templates/js/translated/stock.js:2307 users/models.py:39 +#: templates/js/translated/stock.js:2317 users/models.py:39 msgid "Stock Items" msgstr "" @@ -3238,20 +3267,20 @@ msgstr "" msgid "New Company" msgstr "" -#: company/views.py:112 part/views.py:576 +#: company/views.py:112 part/views.py:501 msgid "Download Image" msgstr "" -#: company/views.py:139 part/views.py:606 +#: company/views.py:139 part/views.py:531 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:146 part/views.py:613 +#: company/views.py:146 part/views.py:538 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:155 part/views.py:622 +#: company/views.py:155 part/views.py:547 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3320,313 +3349,314 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:133 +#: order/models.py:134 msgid "Order description" msgstr "" -#: order/models.py:135 order/models.py:1236 +#: order/models.py:136 order/models.py:1252 msgid "Link to external page" msgstr "" -#: order/models.py:143 +#: order/models.py:144 msgid "Created By" msgstr "" -#: order/models.py:150 +#: order/models.py:151 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:155 +#: order/models.py:156 msgid "Order notes" msgstr "" -#: order/models.py:289 order/models.py:639 +#: order/models.py:294 order/models.py:655 msgid "Order reference" msgstr "" -#: order/models.py:294 order/models.py:654 +#: order/models.py:299 order/models.py:670 msgid "Purchase order status" msgstr "" -#: order/models.py:304 +#: order/models.py:309 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:307 order/templates/order/order_base.html:124 +#: order/models.py:312 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:307 +#: order/models.py:312 msgid "Supplier order reference code" msgstr "" -#: order/models.py:314 +#: order/models.py:319 msgid "received by" msgstr "" -#: order/models.py:319 +#: order/models.py:324 msgid "Issue Date" msgstr "" -#: order/models.py:320 +#: order/models.py:325 msgid "Date order was issued" msgstr "" -#: order/models.py:325 +#: order/models.py:330 msgid "Target Delivery Date" msgstr "" -#: order/models.py:326 +#: order/models.py:331 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:332 +#: order/models.py:337 msgid "Date order was completed" msgstr "" -#: order/models.py:368 +#: order/models.py:373 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:512 +#: order/models.py:517 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:650 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer Reference " msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer order reference code" msgstr "" -#: order/models.py:661 +#: order/models.py:677 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:664 order/models.py:1190 +#: order/models.py:680 order/models.py:1206 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:671 +#: order/models.py:687 msgid "shipped by" msgstr "" -#: order/models.py:726 +#: order/models.py:742 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:730 +#: order/models.py:746 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:733 +#: order/models.py:749 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:736 +#: order/models.py:752 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:910 +#: order/models.py:926 msgid "Item quantity" msgstr "" -#: order/models.py:916 +#: order/models.py:932 msgid "Line item reference" msgstr "" -#: order/models.py:918 +#: order/models.py:934 msgid "Line item notes" msgstr "" -#: order/models.py:923 +#: order/models.py:939 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:941 +#: order/models.py:957 msgid "Context" msgstr "" -#: order/models.py:942 +#: order/models.py:958 msgid "Additional context for this line" msgstr "" -#: order/models.py:950 +#: order/models.py:966 msgid "Unit price" msgstr "" -#: order/models.py:980 +#: order/models.py:996 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:988 +#: order/models.py:1004 msgid "deleted" msgstr "" -#: order/models.py:994 order/models.py:1074 order/models.py:1099 -#: order/models.py:1184 order/models.py:1320 +#: order/models.py:1010 order/models.py:1090 order/models.py:1115 +#: order/models.py:1200 order/models.py:1336 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:995 order/models.py:1074 +#: order/models.py:1011 order/models.py:1090 #: 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/email/overdue_purchase_order.html:15 #: 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 +#: templates/js/translated/part.js:943 templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:2422 msgid "Purchase Order" msgstr "" -#: order/models.py:1013 +#: order/models.py:1029 msgid "Supplier part" msgstr "" -#: order/models.py:1020 order/templates/order/order_base.html:169 +#: order/models.py:1036 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/part.js:1037 templates/js/translated/part.js:1064 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1021 +#: order/models.py:1037 msgid "Number of items received" msgstr "" -#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: order/models.py:1044 part/templates/part/prices.html:181 stock/models.py:722 #: stock/serializers.py:153 stock/templates/stock/item_base.html:191 -#: templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:1910 msgid "Purchase Price" msgstr "" -#: order/models.py:1029 +#: order/models.py:1045 msgid "Unit purchase price" msgstr "" -#: order/models.py:1037 +#: order/models.py:1053 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1109 part/templates/part/part_pricing.html:112 -#: part/templates/part/prices.html:119 part/templates/part/prices.html:288 +#: order/models.py:1125 part/templates/part/part_pricing.html:115 +#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 msgid "Sale Price" msgstr "" -#: order/models.py:1110 +#: order/models.py:1126 msgid "Unit sale price" msgstr "" -#: order/models.py:1115 +#: order/models.py:1131 msgid "Shipped quantity" msgstr "" -#: order/models.py:1191 +#: order/models.py:1207 msgid "Date of shipment" msgstr "" -#: order/models.py:1198 +#: order/models.py:1214 msgid "Checked By" msgstr "" -#: order/models.py:1199 +#: order/models.py:1215 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1207 +#: order/models.py:1223 msgid "Shipment number" msgstr "" -#: order/models.py:1214 +#: order/models.py:1230 msgid "Shipment notes" msgstr "" -#: order/models.py:1221 +#: order/models.py:1237 msgid "Tracking Number" msgstr "" -#: order/models.py:1222 +#: order/models.py:1238 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1229 +#: order/models.py:1245 msgid "Invoice Number" msgstr "" -#: order/models.py:1230 +#: order/models.py:1246 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1248 +#: order/models.py:1264 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1251 +#: order/models.py:1267 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1354 order/models.py:1356 +#: order/models.py:1370 order/models.py:1372 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1360 +#: order/models.py:1376 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1362 +#: order/models.py:1378 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1365 +#: order/models.py:1381 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1369 +#: order/models.py:1385 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1375 order/serializers.py:1045 +#: order/models.py:1391 order/serializers.py:1047 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1378 +#: order/models.py:1394 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1379 +#: order/models.py:1395 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1387 +#: order/models.py:1403 msgid "Line" msgstr "" -#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 +#: order/models.py:1411 order/serializers.py:1151 order/serializers.py:1275 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1396 +#: order/models.py:1412 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1424 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1409 +#: order/models.py:1425 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Enter stock allocation quantity" msgstr "" @@ -3662,7 +3692,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1117 +#: order/serializers.py:406 order/serializers.py:1119 msgid "Line Item" msgstr "" @@ -3710,42 +3740,60 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:866 +#: order/serializers.py:868 msgid "Sale price currency" msgstr "" -#: order/serializers.py:947 +#: order/serializers.py:949 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1006 order/serializers.py:1126 +#: order/serializers.py:1008 order/serializers.py:1128 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1028 +#: order/serializers.py:1030 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1139 +#: order/serializers.py:1141 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1161 order/serializers.py:1281 +#: order/serializers.py:1163 order/serializers.py:1283 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1164 order/serializers.py:1284 +#: order/serializers.py:1166 order/serializers.py:1286 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1216 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1224 +#: order/serializers.py:1226 msgid "The following serial numbers are already allocated" msgstr "" +#: order/tasks.py:26 +msgid "Overdue Purchase Order" +msgstr "" + +#: order/tasks.py:31 +#, python-brace-format +msgid "Purchase order {po} is now overdue" +msgstr "" + +#: order/tasks.py:88 +msgid "Overdue Sales Order" +msgstr "" + +#: order/tasks.py:93 +#, python-brace-format +msgid "Sales order {so} is now overdue" +msgstr "" + #: order/templates/order/order_base.html:33 msgid "Print purchase order report" msgstr "" @@ -3870,8 +3918,8 @@ msgstr "" #: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: 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:2731 templates/js/translated/stock.js:570 -#: templates/js/translated/stock.js:738 +#: templates/js/translated/order.js:2731 templates/js/translated/stock.js:569 +#: templates/js/translated/stock.js:737 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -3990,7 +4038,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1047 #: templates/js/translated/build.js:1880 msgid "Actions" msgstr "" @@ -4021,47 +4069,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:481 +#: part/api.py:482 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:501 +#: part/api.py:502 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:519 +#: part/api.py:520 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:551 +#: part/api.py:552 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:637 +#: part/api.py:638 msgid "Valid" msgstr "" -#: part/api.py:638 +#: part/api.py:639 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:644 +#: part/api.py:645 msgid "This option must be selected" msgstr "" -#: part/api.py:1010 +#: part/api.py:1011 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1014 +#: part/api.py:1015 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1029 +#: part/api.py:1030 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1060 part/api.py:1064 part/api.py:1079 part/api.py:1083 +#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 msgid "This field is required" msgstr "" @@ -4080,17 +4128,13 @@ msgid "Available Stock" msgstr "" #: 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 +#: templates/js/translated/part.js:561 templates/js/translated/part.js:581 +#: templates/js/translated/part.js:1273 templates/js/translated/part.js:1445 +#: templates/js/translated/part.js:1461 msgid "On Order" msgstr "" -#: part/forms.py:59 -msgid "Select part category" -msgstr "" - -#: part/forms.py:69 +#: part/forms.py:60 msgid "Input quantity for price calculation" msgstr "" @@ -4106,7 +4150,7 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:115 part/models.py:2415 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2403 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -4123,7 +4167,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:144 +#: templates/js/translated/part.js:1864 templates/js/translated/search.js:144 #: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "" @@ -4153,7 +4197,7 @@ msgstr "" msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:738 part/models.py:2469 +#: part/models.py:738 part/models.py:2457 msgid "Part name" msgstr "" @@ -4186,12 +4230,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:776 part/models.py:2171 part/models.py:2414 +#: part/models.py:776 part/models.py:2159 part/models.py:2402 #: part/templates/part/part_base.html:257 -#: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 #: templates/InvenTree/settings/settings.html:231 -#: templates/js/translated/part.js:1369 +#: templates/js/translated/part.js:1413 templates/js/translated/part.js:1639 msgid "Category" msgstr "" @@ -4200,8 +4243,8 @@ msgid "Part category" msgstr "" #: 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 +#: templates/js/translated/part.js:710 templates/js/translated/part.js:1366 +#: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" @@ -4214,7 +4257,7 @@ msgid "Part revision or version number" msgstr "" #: part/models.py:790 part/templates/part/part_base.html:273 -#: report/models.py:170 templates/js/translated/part.js:670 +#: report/models.py:170 templates/js/translated/part.js:714 msgid "Revision" msgstr "" @@ -4302,317 +4345,321 @@ msgstr "" msgid "Creation User" msgstr "" -#: part/models.py:1690 +#: part/models.py:1685 msgid "Sell multiple" msgstr "" -#: part/models.py:2218 +#: part/models.py:2206 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2235 +#: part/models.py:2223 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2255 templates/js/translated/part.js:1819 -#: templates/js/translated/stock.js:1274 +#: part/models.py:2243 templates/js/translated/part.js:1915 +#: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2256 +#: part/models.py:2244 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2261 +#: part/models.py:2249 msgid "Test Description" msgstr "" -#: part/models.py:2262 +#: part/models.py:2250 msgid "Enter description for this test" msgstr "" -#: part/models.py:2267 templates/js/translated/part.js:1828 +#: part/models.py:2255 templates/js/translated/part.js:1924 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2268 +#: part/models.py:2256 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2273 templates/js/translated/part.js:1836 +#: part/models.py:2261 templates/js/translated/part.js:1932 msgid "Requires Value" msgstr "" -#: part/models.py:2274 +#: part/models.py:2262 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2279 templates/js/translated/part.js:1843 +#: part/models.py:2267 templates/js/translated/part.js:1939 msgid "Requires Attachment" msgstr "" -#: part/models.py:2280 +#: part/models.py:2268 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2288 +#: part/models.py:2276 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2324 +#: part/models.py:2312 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2332 +#: part/models.py:2320 msgid "Parameter Name" msgstr "" -#: part/models.py:2339 +#: part/models.py:2327 msgid "Parameter Units" msgstr "" -#: part/models.py:2370 +#: part/models.py:2358 msgid "Parent Part" msgstr "" -#: part/models.py:2372 part/models.py:2420 part/models.py:2421 +#: part/models.py:2360 part/models.py:2408 part/models.py:2409 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Data" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Parameter Value" msgstr "" -#: part/models.py:2425 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2413 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2426 +#: part/models.py:2414 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2461 +#: part/models.py:2449 msgid "Part ID or part name" msgstr "" -#: part/models.py:2464 templates/js/translated/model_renderers.js:200 +#: part/models.py:2452 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2465 +#: part/models.py:2453 msgid "Unique part ID value" msgstr "" -#: part/models.py:2468 +#: part/models.py:2456 msgid "Part Name" msgstr "" -#: part/models.py:2472 +#: part/models.py:2460 msgid "Part IPN" msgstr "" -#: part/models.py:2473 +#: part/models.py:2461 msgid "Part IPN value" msgstr "" -#: part/models.py:2476 +#: part/models.py:2464 msgid "Level" msgstr "" -#: part/models.py:2477 +#: part/models.py:2465 msgid "BOM level" msgstr "" -#: part/models.py:2546 +#: part/models.py:2534 msgid "Select parent part" msgstr "" -#: part/models.py:2554 +#: part/models.py:2542 msgid "Sub part" msgstr "" -#: part/models.py:2555 +#: part/models.py:2543 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2561 +#: part/models.py:2549 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2563 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 +#: part/models.py:2551 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:871 templates/js/translated/bom.js:965 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2563 +#: part/models.py:2551 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2566 part/templates/part/upload_bom.html:55 +#: part/models.py:2554 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2567 +#: part/models.py:2555 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2570 +#: part/models.py:2558 msgid "BOM item reference" msgstr "" -#: part/models.py:2573 +#: part/models.py:2561 msgid "BOM item notes" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "Checksum" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "BOM line checksum" msgstr "" -#: part/models.py:2579 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:988 +#: part/models.py:2567 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:982 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2580 +#: part/models.py:2568 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2585 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:980 +#: part/models.py:2573 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:974 msgid "Allow Variants" msgstr "" -#: part/models.py:2586 +#: part/models.py:2574 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2664 stock/models.py:460 +#: part/models.py:2652 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2673 part/models.py:2675 +#: part/models.py:2661 part/models.py:2663 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2780 +#: part/models.py:2768 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2801 +#: part/models.py:2789 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2814 +#: part/models.py:2802 msgid "Parent BOM item" msgstr "" -#: part/models.py:2822 +#: part/models.py:2810 msgid "Substitute part" msgstr "" -#: part/models.py:2833 +#: part/models.py:2825 msgid "Part 1" msgstr "" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Part 2" msgstr "" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Select Related Part" msgstr "" -#: part/models.py:2868 -msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" +#: part/models.py:2847 +msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 +#: part/models.py:2851 +msgid "Duplicate relationship already exists" +msgstr "" + +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:794 +#: part/serializers.py:796 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:804 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:805 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:810 msgid "Include Inherited" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:811 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:816 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:817 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:820 +#: part/serializers.py:822 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:821 +#: part/serializers.py:823 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:861 +#: part/serializers.py:863 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:864 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:894 msgid "No part column specified" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:937 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:938 +#: part/serializers.py:940 msgid "No matching part found" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:943 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:950 +#: part/serializers.py:952 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:958 +#: part/serializers.py:960 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:979 +#: part/serializers.py:981 msgid "At least one BOM item is required" msgstr "" @@ -5088,10 +5135,10 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:143 -#: templates/js/translated/company.js:623 -#: templates/js/translated/company.js:882 +#: templates/js/translated/company.js:608 +#: templates/js/translated/company.js:867 #: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:658 +#: templates/js/translated/part.js:625 templates/js/translated/part.js:702 msgid "Inactive" msgstr "" @@ -5120,13 +5167,13 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1009 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1003 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/part.js:520 -#: templates/js/translated/part.js:540 templates/js/translated/part.js:1233 -#: templates/js/translated/part.js:1405 templates/js/translated/part.js:1421 +#: part/templates/part/part_base.html:238 templates/js/translated/part.js:564 +#: templates/js/translated/part.js:584 templates/js/translated/part.js:1277 +#: templates/js/translated/part.js:1449 templates/js/translated/part.js:1465 msgid "Building" msgstr "" @@ -5143,7 +5190,7 @@ msgstr "" msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:443 part/templates/part/prices.html:147 +#: part/templates/part/part_base.html:443 part/templates/part/prices.html:149 msgid "Calculate" msgstr "" @@ -5161,54 +5208,55 @@ msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:106 -#: part/templates/part/prices.html:123 +#: part/templates/part/part_pricing.html:103 +#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 +#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:104 -#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:111 -#: part/templates/part/prices.html:128 +#: part/templates/part/part_pricing.html:107 +#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 +#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 +#: part/templates/part/prices.html:130 msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:963 +#: templates/js/translated/bom.js:957 msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:246 +#: part/templates/part/prices.html:248 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:89 +#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:96 +#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:105 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/prices.html:107 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:128 -#: part/templates/part/prices.html:137 +#: part/templates/part/part_pricing.html:131 +#: part/templates/part/prices.html:139 msgid "No pricing information is available for this part." msgstr "" @@ -5232,43 +5280,6 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:9 -#, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" -"
Disable the \"Active\" part attribute and re-try.\n" -" " -msgstr "" - -#: part/templates/part/partial_delete.html:17 -#, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" -msgstr "" - -#: part/templates/part/partial_delete.html:22 -#, python-format -msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" -msgstr "" - -#: part/templates/part/partial_delete.html:32 -#, python-format -msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:43 -#, python-format -msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:54 -#, python-format -msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:67 -#, python-format -msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." -msgstr "" - #: part/templates/part/prices.html:19 msgid "Pricing ranges" msgstr "" @@ -5285,66 +5296,58 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:120 +#: part/templates/part/prices.html:122 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:123 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:143 +#: part/templates/part/prices.html:145 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:957 +#: part/templates/part/prices.html:160 templates/js/translated/bom.js:951 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:159 part/templates/part/prices.html:180 -#: part/templates/part/prices.html:204 part/templates/part/prices.html:234 -#: part/templates/part/prices.html:260 part/templates/part/prices.html:289 +#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 +#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 +#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:184 +#: part/templates/part/prices.html:186 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:193 +#: part/templates/part/prices.html:195 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:203 +#: part/templates/part/prices.html:205 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:218 +#: part/templates/part/prices.html:220 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:233 +#: part/templates/part/prices.html:235 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:259 +#: part/templates/part/prices.html:261 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:300 +#: part/templates/part/prices.html:302 msgid "No sale pice history available for this part." msgstr "" -#: part/templates/part/set_category.html:9 -msgid "Set category for the following parts" -msgstr "" - -#: part/templates/part/set_category.html:32 -msgid "Remove part" -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543 -#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:587 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:1469 msgid "No Stock" msgstr "" @@ -5407,56 +5410,39 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:74 -msgid "Set Part Category" -msgstr "" - -#: part/views.py:122 -#, python-brace-format -msgid "Set category for {n} parts" -msgstr "" - -#: part/views.py:193 +#: part/views.py:118 msgid "Match References" msgstr "" -#: part/views.py:494 +#: part/views.py:419 msgid "None" msgstr "" -#: part/views.py:556 +#: part/views.py:481 msgid "Part QR Code" msgstr "" -#: part/views.py:650 +#: part/views.py:575 msgid "Select Part Image" msgstr "" -#: part/views.py:676 +#: part/views.py:601 msgid "Updated part image" msgstr "" -#: part/views.py:679 +#: part/views.py:604 msgid "Part image not found" msgstr "" -#: part/views.py:768 -msgid "Confirm Part Deletion" -msgstr "" - -#: part/views.py:776 -msgid "Part was deleted" -msgstr "" - -#: part/views.py:785 +#: part/views.py:693 msgid "Part Pricing" msgstr "" -#: part/views.py:976 +#: part/views.py:884 msgid "Delete Part Category" msgstr "" -#: part/views.py:983 +#: part/views.py:891 msgid "Part category was deleted" msgstr "" @@ -5516,21 +5502,21 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:28 +#: plugin/builtin/integration/core_notifications.py:29 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 +#: plugin/builtin/integration/core_notifications.py:30 msgid "Integrated outgoing notificaton methods" msgstr "" -#: 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:34 #: plugin/builtin/integration/core_notifications.py:53 +msgid "Enable email notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:35 +#: plugin/builtin/integration/core_notifications.py:54 msgid "Allow sending of emails for event notifications" msgstr "" @@ -5646,15 +5632,19 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:166 +#: report/api.py:179 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:198 report/api.py:239 +#: report/api.py:215 report/api.py:256 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" +#: report/api.py:359 +msgid "Test report" +msgstr "" + #: report/models.py:152 msgid "Template name" msgstr "" @@ -5757,7 +5747,7 @@ msgstr "" #: 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:3229 -#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:434 msgid "Serial Number" msgstr "" @@ -5766,19 +5756,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2068 +#: stock/models.py:2072 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2074 +#: stock/models.py:2078 msgid "Result" 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:1669 templates/js/translated/stock.js:2340 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2350 msgid "Date" msgstr "" @@ -5796,20 +5786,20 @@ msgid "Installed Items" 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:2589 +#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724 +#: templates/js/translated/stock.js:2599 msgid "Serial" msgstr "" -#: stock/api.py:504 +#: stock/api.py:505 msgid "Quantity is required" msgstr "" -#: stock/api.py:511 +#: stock/api.py:512 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:536 +#: stock/api.py:537 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5917,7 +5907,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1826 msgid "Expiry Date" msgstr "" @@ -5971,79 +5961,79 @@ msgstr "" msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1325 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1324 +#: stock/models.py:1328 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1327 +#: stock/models.py:1331 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1334 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1333 +#: stock/models.py:1337 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1340 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1343 stock/serializers.py:908 +#: stock/models.py:1347 stock/serializers.py:895 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1347 +#: stock/models.py:1351 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1355 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1359 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1524 +#: stock/models.py:1528 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1986 +#: stock/models.py:1990 msgid "Entry notes" msgstr "" -#: stock/models.py:2044 +#: stock/models.py:2048 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2050 +#: stock/models.py:2054 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2069 +#: stock/models.py:2073 msgid "Test name" msgstr "" -#: stock/models.py:2075 +#: stock/models.py:2079 msgid "Test result" msgstr "" -#: stock/models.py:2081 +#: stock/models.py:2085 msgid "Test output value" msgstr "" -#: stock/models.py:2088 +#: stock/models.py:2092 msgid "Test result attachment" msgstr "" -#: stock/models.py:2094 +#: stock/models.py:2098 msgid "Test notes" msgstr "" @@ -6064,7 +6054,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:865 stock/serializers.py:1098 +#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 msgid "Destination stock location" msgstr "" @@ -6104,63 +6094,63 @@ msgstr "" msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:707 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:724 +#: stock/serializers.py:711 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:728 +#: stock/serializers.py:715 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:759 +#: stock/serializers.py:746 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:765 +#: stock/serializers.py:752 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:773 +#: stock/serializers.py:760 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:783 stock/serializers.py:1014 +#: stock/serializers.py:770 stock/serializers.py:1001 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:872 +#: stock/serializers.py:859 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:877 +#: stock/serializers.py:864 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:878 +#: stock/serializers.py:865 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:883 +#: stock/serializers.py:870 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:884 +#: stock/serializers.py:871 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:894 +#: stock/serializers.py:881 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:976 +#: stock/serializers.py:963 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1004 +#: stock/serializers.py:991 msgid "Stock transaction notes" msgstr "" @@ -6185,7 +6175,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:298 msgid "Delete Test Data" msgstr "" @@ -6197,11 +6187,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2733 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2743 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:292 templates/js/translated/stock.js:1455 +#: stock/templates/stock/item.html:290 +msgid "Delete all test results for this stock item" +msgstr "" + +#: stock/templates/stock/item.html:323 templates/js/translated/stock.js:1465 msgid "Add Test Result" msgstr "" @@ -6388,7 +6382,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/stock.js:1842 msgid "Last Updated" msgstr "" @@ -6529,7 +6523,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:182 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:144 msgid "Convert Stock Item" msgstr "" @@ -6550,31 +6544,19 @@ msgstr "" msgid "This action cannot be easily undone" msgstr "" -#: stock/views.py:113 +#: stock/views.py:111 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:131 -msgid "Delete All Test Data" -msgstr "" - -#: stock/views.py:149 -msgid "Confirm test data deletion" -msgstr "" - -#: stock/views.py:150 -msgid "Check the confirmation box" -msgstr "" - -#: stock/views.py:165 +#: stock/views.py:127 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:216 +#: stock/views.py:178 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:229 +#: stock/views.py:191 msgid "Delete Stock Item" msgstr "" @@ -7317,8 +7299,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:56 templates/js/translated/modals.js:595 -#: templates/js/translated/modals.js:689 templates/js/translated/modals.js:997 +#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 +#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 #: templates/js/translated/order.js:928 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7390,6 +7372,10 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:630 +msgid "Confirm" +msgstr "Bekräfta" + #: templates/account/email_confirm.html:27 #, python-format msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." @@ -7562,7 +7548,7 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:112 msgid "Delete Attachments" msgstr "" @@ -7596,15 +7582,15 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1425 +#: templates/js/translated/bom.js:1419 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: 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/bom.js:884 templates/js/translated/build.js:1787 +#: templates/js/translated/build.js:2650 templates/js/translated/part.js:571 +#: templates/js/translated/part.js:574 #: templates/js/translated/table_filters.js:178 msgid "Available" msgstr "" @@ -7622,6 +7608,13 @@ msgstr "" msgid "Minimum Quantity" msgstr "" +#: templates/email/new_order_assigned.html:9 +#: templates/email/overdue_build_order.html:9 +#: templates/email/overdue_purchase_order.html:9 +#: templates/email/overdue_sales_order.html:9 +msgid "Click on the following link to view this order" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -7638,91 +7631,91 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:235 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1073 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1074 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:242 +#: templates/js/translated/api.js:202 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:243 +#: templates/js/translated/api.js:203 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1083 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1084 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:252 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1088 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:253 templates/js/translated/modals.js:1083 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1089 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1093 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1088 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1094 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:262 +#: templates/js/translated/api.js:222 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:263 +#: templates/js/translated/api.js:223 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:267 templates/js/translated/modals.js:1092 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1098 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:268 templates/js/translated/modals.js:1093 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1099 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:271 +#: templates/js/translated/api.js:231 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:272 +#: templates/js/translated/api.js:232 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:96 +#: templates/js/translated/attachment.js:98 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:156 +#: templates/js/translated/attachment.js:152 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:180 +#: templates/js/translated/attachment.js:176 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:246 +#: templates/js/translated/attachment.js:242 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:262 +#: templates/js/translated/attachment.js:264 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:269 +#: templates/js/translated/attachment.js:271 msgid "Delete attachment" msgstr "" @@ -7755,7 +7748,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "Invalid server response" msgstr "" @@ -7783,7 +7776,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999 +#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:998 msgid "Remove stock item" msgstr "" @@ -7918,89 +7911,89 @@ msgstr "" msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:682 +#: templates/js/translated/bom.js:684 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:697 +#: templates/js/translated/bom.js:699 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:824 +#: templates/js/translated/bom.js:818 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:834 +#: templates/js/translated/bom.js:828 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:838 templates/js/translated/build.js:1769 +#: templates/js/translated/bom.js:832 templates/js/translated/build.js:1769 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/bom.js:900 templates/js/translated/build.js:1814 #: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:910 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:904 templates/js/translated/build.js:1818 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:912 templates/js/translated/build.js:1820 -#: templates/js/translated/part.js:690 +#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1820 +#: templates/js/translated/part.js:734 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:914 templates/js/translated/build.js:1822 +#: templates/js/translated/bom.js:908 templates/js/translated/build.js:1822 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:928 +#: templates/js/translated/bom.js:922 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:943 +#: templates/js/translated/bom.js:937 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:950 +#: templates/js/translated/bom.js:944 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:999 templates/js/translated/bom.js:1090 +#: templates/js/translated/bom.js:993 templates/js/translated/bom.js:1084 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1061 +#: templates/js/translated/bom.js:1055 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1063 +#: templates/js/translated/bom.js:1057 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1065 +#: templates/js/translated/bom.js:1059 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1067 templates/js/translated/bom.js:1228 +#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1222 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1069 +#: templates/js/translated/bom.js:1063 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1164 templates/js/translated/build.js:1615 +#: templates/js/translated/bom.js:1158 templates/js/translated/build.js:1615 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1408 templates/js/translated/build.js:1753 +#: templates/js/translated/bom.js:1402 templates/js/translated/build.js:1753 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1430 +#: templates/js/translated/bom.js:1424 msgid "Inherited from parent BOM" msgstr "" @@ -8040,13 +8033,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91 -#: templates/js/translated/stock.js:181 +#: templates/js/translated/build.js:259 templates/js/translated/stock.js:90 +#: templates/js/translated/stock.js:180 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93 -#: templates/js/translated/stock.js:183 +#: templates/js/translated/build.js:261 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:182 msgid "Latest serial number" msgstr "" @@ -8259,9 +8252,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: 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 +#: templates/js/translated/build.js:2448 templates/js/translated/part.js:1358 +#: templates/js/translated/part.js:1825 templates/js/translated/stock.js:1629 +#: templates/js/translated/stock.js:2287 msgid "Select" msgstr "" @@ -8273,7 +8266,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2519 +#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2529 msgid "No user information" msgstr "" @@ -8285,107 +8278,107 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:169 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:168 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:157 templates/js/translated/order.js:506 +#: templates/js/translated/company.js:156 templates/js/translated/order.js:506 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:185 +#: templates/js/translated/company.js:184 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:200 +#: templates/js/translated/company.js:199 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:249 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:263 +#: templates/js/translated/company.js:264 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:342 +#: templates/js/translated/company.js:336 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:413 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:428 +#: templates/js/translated/company.js:422 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:443 +#: templates/js/translated/company.js:437 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:478 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:492 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:526 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:548 +#: templates/js/translated/company.js:539 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:595 +#: templates/js/translated/company.js:580 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:615 -#: templates/js/translated/company.js:874 templates/js/translated/part.js:565 -#: templates/js/translated/part.js:650 +#: templates/js/translated/company.js:600 +#: templates/js/translated/company.js:859 templates/js/translated/part.js:609 +#: templates/js/translated/part.js:694 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:619 -#: templates/js/translated/company.js:878 templates/js/translated/part.js:569 -#: templates/js/translated/part.js:654 +#: templates/js/translated/company.js:604 +#: templates/js/translated/company.js:863 templates/js/translated/part.js:613 +#: templates/js/translated/part.js:698 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:747 templates/js/translated/part.js:757 +#: templates/js/translated/company.js:732 templates/js/translated/part.js:801 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:799 +#: templates/js/translated/company.js:769 templates/js/translated/part.js:843 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:785 templates/js/translated/part.js:800 +#: templates/js/translated/company.js:770 templates/js/translated/part.js:844 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:804 templates/js/translated/part.js:817 +#: templates/js/translated/company.js:789 templates/js/translated/part.js:861 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:815 templates/js/translated/part.js:829 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:873 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:854 +#: templates/js/translated/company.js:839 msgid "No supplier parts found" msgstr "" @@ -8448,36 +8441,36 @@ msgstr "" msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:756 +#: templates/js/translated/forms.js:757 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1248 templates/modals.html:19 +#: templates/js/translated/forms.js:1249 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1681 +#: templates/js/translated/forms.js:1682 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1896 templates/search.html:29 +#: templates/js/translated/forms.js:1897 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2149 +#: templates/js/translated/forms.js:2150 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2627 +#: templates/js/translated/forms.js:2628 msgid "Select Columns" msgstr "" @@ -8498,7 +8491,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1023 +#: templates/js/translated/stock.js:1022 msgid "Select Stock Items" msgstr "" @@ -8552,12 +8545,12 @@ msgid "Select Label Template" msgstr "" #: templates/js/translated/modals.js:82 templates/js/translated/modals.js:142 -#: templates/js/translated/modals.js:621 +#: templates/js/translated/modals.js:627 msgid "Cancel" msgstr "" #: 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/js/translated/modals.js:694 templates/js/translated/modals.js:1002 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" @@ -8566,47 +8559,47 @@ msgstr "" msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:403 +#: templates/js/translated/modals.js:421 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:562 +#: templates/js/translated/modals.js:568 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:620 +#: templates/js/translated/modals.js:626 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:677 +#: templates/js/translated/modals.js:683 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:960 +#: templates/js/translated/modals.js:966 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1072 +#: templates/js/translated/modals.js:1078 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1073 +#: templates/js/translated/modals.js:1079 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1096 +#: templates/js/translated/modals.js:1102 msgid "Error requesting form data" msgstr "" @@ -8656,11 +8649,11 @@ msgstr "" msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:259 +#: templates/js/translated/notification.js:260 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:300 templates/notifications.html:10 +#: templates/js/translated/notification.js:302 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" @@ -8804,7 +8797,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2080 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2090 msgid "Stock Status" msgstr "" @@ -8828,7 +8821,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1602 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1602 templates/js/translated/part.js:914 msgid "No purchase orders found" msgstr "" @@ -8863,7 +8856,7 @@ msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 #: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 -#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 +#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2397 msgid "Unit Price" msgstr "" @@ -8873,11 +8866,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:1993 templates/js/translated/order.js:3525 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:1023 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1069 msgid "Receive line item" msgstr "" @@ -8998,7 +8991,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1535 +#: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" @@ -9138,165 +9131,209 @@ msgstr "" msgid "Create Part Variant" msgstr "" +#: templates/js/translated/part.js:405 +msgid "Active Part" +msgstr "" + +#: templates/js/translated/part.js:406 +msgid "Part cannot be deleted as it is currently active" +msgstr "" + +#: templates/js/translated/part.js:420 +msgid "Deleting this part cannot be reversed" +msgstr "" + +#: templates/js/translated/part.js:422 +msgid "Any stock items for this part will be deleted" +msgstr "" + #: templates/js/translated/part.js:423 +msgid "This part will be removed from any Bills of Material" +msgstr "" + +#: templates/js/translated/part.js:424 +msgid "All manufacturer and supplier information for this part will be deleted" +msgstr "" + +#: templates/js/translated/part.js:431 +msgid "Delete Part" +msgstr "" + +#: templates/js/translated/part.js:467 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:425 +#: templates/js/translated/part.js:469 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:474 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:476 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:493 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:503 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:506 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:487 +#: templates/js/translated/part.js:531 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:513 templates/js/translated/part.js:1397 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1441 #: templates/js/translated/table_filters.js:452 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:523 templates/js/translated/part.js:1409 +#: templates/js/translated/part.js:567 templates/js/translated/part.js:1453 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:557 templates/js/translated/part.js:642 +#: templates/js/translated/part.js:601 templates/js/translated/part.js:686 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:561 templates/js/translated/part.js:646 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:690 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:617 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:577 +#: templates/js/translated/part.js:621 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:705 +#: templates/js/translated/part.js:749 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1095 +#: templates/js/translated/part.js:1139 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1119 +#: templates/js/translated/part.js:1163 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1184 templates/js/translated/part.js:1480 +#: templates/js/translated/part.js:1228 templates/js/translated/part.js:1524 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1223 +#: templates/js/translated/part.js:1267 msgid "Not available" msgstr "" -#: templates/js/translated/part.js:1374 +#: templates/js/translated/part.js:1418 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664 -#: templates/js/translated/stock.js:2238 +#: templates/js/translated/part.js:1548 templates/js/translated/part.js:1760 +#: templates/js/translated/stock.js:2248 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1520 +#: templates/js/translated/part.js:1564 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2257 +#: templates/js/translated/part.js:1630 +msgid "Set the part category for the selected parts" +msgstr "" + +#: templates/js/translated/part.js:1635 +msgid "Set Part Category" +msgstr "" + +#: templates/js/translated/part.js:1640 +msgid "Select Part Category" +msgstr "" + +#: templates/js/translated/part.js:1653 +msgid "Category is required" +msgstr "" + +#: templates/js/translated/part.js:1779 templates/js/translated/stock.js:2267 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1747 +#: templates/js/translated/part.js:1843 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2301 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2311 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:1901 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1233 +#: templates/js/translated/part.js:1952 templates/js/translated/stock.js:1243 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1234 -#: templates/js/translated/stock.js:1493 +#: templates/js/translated/part.js:1953 templates/js/translated/stock.js:1244 +#: templates/js/translated/stock.js:1503 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1863 +#: templates/js/translated/part.js:1959 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1885 +#: templates/js/translated/part.js:1981 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:1995 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1924 +#: templates/js/translated/part.js:2020 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1981 +#: templates/js/translated/part.js:2077 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1982 +#: templates/js/translated/part.js:2078 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:2096 +#: templates/js/translated/part.js:2192 msgid "Current Stock" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2225 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2155 +#: templates/js/translated/part.js:2251 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2225 +#: templates/js/translated/part.js:2321 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:2244 +#: templates/js/translated/part.js:2340 msgid "Single Price Difference" msgstr "" @@ -9378,360 +9415,360 @@ msgstr "" msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:72 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:101 +#: templates/js/translated/stock.js:100 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:109 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:139 +#: templates/js/translated/stock.js:138 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:153 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:194 +#: templates/js/translated/stock.js:193 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:233 +#: templates/js/translated/stock.js:232 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:239 +#: templates/js/translated/stock.js:238 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:303 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:324 +#: templates/js/translated/stock.js:323 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:344 +#: templates/js/translated/stock.js:343 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:394 +#: templates/js/translated/stock.js:393 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:407 +#: templates/js/translated/stock.js:406 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:431 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:453 +#: templates/js/translated/stock.js:452 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:472 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:481 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:605 +#: templates/js/translated/stock.js:604 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:606 +#: templates/js/translated/stock.js:605 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:683 +#: templates/js/translated/stock.js:682 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:684 +#: templates/js/translated/stock.js:683 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:686 +#: templates/js/translated/stock.js:685 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:687 +#: templates/js/translated/stock.js:686 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:772 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:774 +#: templates/js/translated/stock.js:773 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:869 +#: templates/js/translated/stock.js:868 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:869 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:876 +#: templates/js/translated/stock.js:875 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:876 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:881 +#: templates/js/translated/stock.js:880 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:882 +#: templates/js/translated/stock.js:881 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:886 +#: templates/js/translated/stock.js:885 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:887 users/models.py:215 +#: templates/js/translated/stock.js:886 users/models.py:215 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1024 +#: templates/js/translated/stock.js:1023 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1047 +#: templates/js/translated/stock.js:1046 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1172 +#: templates/js/translated/stock.js:1182 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1174 +#: templates/js/translated/stock.js:1184 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1179 +#: templates/js/translated/stock.js:1189 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1226 +#: templates/js/translated/stock.js:1236 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1229 +#: templates/js/translated/stock.js:1239 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1255 +#: templates/js/translated/stock.js:1265 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1321 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1476 +#: templates/js/translated/stock.js:1486 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1498 +#: templates/js/translated/stock.js:1508 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1527 +#: templates/js/translated/stock.js:1537 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1531 +#: templates/js/translated/stock.js:1541 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1539 +#: templates/js/translated/stock.js:1549 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1545 +#: templates/js/translated/stock.js:1555 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1712 +#: templates/js/translated/stock.js:1722 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1727 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1720 +#: templates/js/translated/stock.js:1730 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1723 +#: templates/js/translated/stock.js:1733 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1725 +#: templates/js/translated/stock.js:1735 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1727 +#: templates/js/translated/stock.js:1737 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1730 +#: templates/js/translated/stock.js:1740 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1734 +#: templates/js/translated/stock.js:1744 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1746 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1743 +#: templates/js/translated/stock.js:1753 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1755 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:1757 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1751 +#: templates/js/translated/stock.js:1761 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1802 +#: templates/js/translated/stock.js:1812 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1894 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1932 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2095 +#: templates/js/translated/stock.js:2105 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2109 +#: templates/js/translated/stock.js:2119 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2120 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2375 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2381 +#: templates/js/translated/stock.js:2391 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2403 +#: templates/js/translated/stock.js:2413 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2422 +#: templates/js/translated/stock.js:2432 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2441 +#: templates/js/translated/stock.js:2451 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2459 +#: templates/js/translated/stock.js:2469 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2482 +#: templates/js/translated/stock.js:2492 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2490 +#: templates/js/translated/stock.js:2500 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2566 +#: templates/js/translated/stock.js:2576 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2617 templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2663 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2666 +#: templates/js/translated/stock.js:2676 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2697 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2688 +#: templates/js/translated/stock.js:2698 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2690 +#: templates/js/translated/stock.js:2700 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/stock.js:2701 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2702 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2693 +#: templates/js/translated/stock.js:2703 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2716 msgid "Select part to install" msgstr "" diff --git a/InvenTree/locale/th/LC_MESSAGES/django.po b/InvenTree/locale/th/LC_MESSAGES/django.po index 8bfca57453..5c8c61fc14 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-06-05 14:26+0000\n" -"PO-Revision-Date: 2022-06-05 14:34\n" +"POT-Creation-Date: 2022-06-06 22:59+0000\n" +"PO-Revision-Date: 2022-06-07 14:35\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:46 +#: InvenTree/api.py:49 msgid "API endpoint not found" msgstr "" @@ -29,275 +29,273 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:630 -msgid "Confirm" -msgstr "" - -#: InvenTree/forms.py:134 +#: InvenTree/forms.py:117 msgid "Confirm delete" msgstr "" -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:118 msgid "Confirm item deletion" msgstr "" -#: InvenTree/forms.py:167 +#: InvenTree/forms.py:150 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:151 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:158 msgid "Confirm password" msgstr "" -#: InvenTree/forms.py:176 +#: InvenTree/forms.py:159 msgid "Confirm new password" msgstr "" -#: InvenTree/forms.py:213 -msgid "Select Category" -msgstr "" - -#: InvenTree/forms.py:234 +#: InvenTree/forms.py:184 msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:238 +#: InvenTree/forms.py:188 msgid "Email address confirmation" msgstr "" -#: InvenTree/forms.py:259 +#: InvenTree/forms.py:209 msgid "You must type the same email each time." msgstr "" -#: InvenTree/helpers.py:402 +#: InvenTree/helpers.py:404 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 +#: InvenTree/helpers.py:411 order/models.py:370 order/models.py:522 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:412 +#: InvenTree/helpers.py:414 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:444 +#: InvenTree/helpers.py:446 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:447 +#: InvenTree/helpers.py:449 #, python-brace-format msgid "Invalid group: {g}" msgstr "" -#: InvenTree/helpers.py:475 +#: InvenTree/helpers.py:477 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:483 +#: InvenTree/helpers.py:485 #, python-brace-format msgid "Invalid/no group {group}" msgstr "" -#: InvenTree/helpers.py:489 +#: InvenTree/helpers.py:491 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:493 +#: InvenTree/helpers.py:495 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:174 +#: InvenTree/models.py:178 msgid "Missing file" msgstr "" -#: InvenTree/models.py:175 +#: InvenTree/models.py:179 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:187 stock/models.py:2087 -#: templates/js/translated/attachment.js:101 -#: templates/js/translated/attachment.js:198 +#: InvenTree/models.py:191 stock/models.py:2091 +#: templates/js/translated/attachment.js:103 +#: templates/js/translated/attachment.js:194 msgid "Attachment" msgstr "" -#: InvenTree/models.py:188 +#: InvenTree/models.py:192 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 -#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: InvenTree/models.py:198 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:136 order/models.py:1251 #: 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 -#: templates/js/translated/part.js:1441 +#: templates/js/translated/company.js:640 +#: templates/js/translated/company.js:931 templates/js/translated/order.js:2676 +#: templates/js/translated/part.js:1485 msgid "Link" msgstr "" -#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: InvenTree/models.py:199 build/models.py:320 part/models.py:796 #: stock/models.py:642 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 -#: templates/js/translated/attachment.js:242 +#: InvenTree/models.py:202 templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:238 msgid "Comment" msgstr "" -#: InvenTree/models.py:198 +#: InvenTree/models.py:202 msgid "File comment" msgstr "" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1506 +#: common/models.py:1507 common/models.py:1735 common/models.py:1736 +#: common/models.py:1998 common/models.py:1999 part/models.py:2141 +#: part/models.py:2161 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:2523 msgid "User" msgstr "" -#: InvenTree/models.py:208 +#: InvenTree/models.py:212 msgid "upload date" msgstr "" -#: InvenTree/models.py:230 +#: InvenTree/models.py:234 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:253 +#: InvenTree/models.py:257 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:263 +#: InvenTree/models.py:267 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:266 +#: InvenTree/models.py:270 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:273 +#: InvenTree/models.py:277 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:280 +#: InvenTree/models.py:284 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:314 +#: InvenTree/models.py:318 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 #: company/models.py:354 label/models.py:101 part/models.py:739 -#: part/models.py:2331 plugin/models.py:93 report/models.py:151 +#: part/models.py:2319 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 #: templates/InvenTree/settings/plugin.html:132 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:346 -#: 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:2283 +#: templates/js/translated/company.js:530 +#: templates/js/translated/company.js:742 templates/js/translated/part.js:659 +#: templates/js/translated/part.js:811 templates/js/translated/part.js:1832 +#: templates/js/translated/stock.js:2293 msgid "Name" msgstr "" -#: InvenTree/models.py:340 build/models.py:197 +#: InvenTree/models.py:344 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: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:164 +#: order/models.py:134 part/models.py:762 part/templates/part/category.html:74 +#: part/templates/part/part_base.html:167 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 -#: 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/bom.js:553 templates/js/translated/bom.js:845 +#: templates/js/translated/build.js:2476 templates/js/translated/company.js:395 +#: templates/js/translated/company.js:651 +#: templates/js/translated/company.js:942 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:1676 -#: templates/js/translated/stock.js:2295 templates/js/translated/stock.js:2350 +#: templates/js/translated/part.js:718 templates/js/translated/part.js:1126 +#: templates/js/translated/part.js:1399 templates/js/translated/part.js:1851 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:1686 +#: templates/js/translated/stock.js:2305 templates/js/translated/stock.js:2360 msgid "Description" msgstr "" -#: InvenTree/models.py:341 +#: InvenTree/models.py:345 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:349 +#: InvenTree/models.py:353 msgid "parent" msgstr "" -#: InvenTree/serializers.py:52 part/models.py:2652 +#: InvenTree/models.py:466 +msgid "Server Error" +msgstr "" + +#: InvenTree/models.py:467 +msgid "An error has been logged by the server." +msgstr "" + +#: InvenTree/serializers.py:52 part/models.py:2640 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:271 +#: InvenTree/serializers.py:263 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:306 +#: InvenTree/serializers.py:298 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:320 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:321 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:342 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:348 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:377 +#: InvenTree/serializers.py:369 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:372 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:495 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:506 +#: InvenTree/serializers.py:498 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:583 +#: InvenTree/serializers.py:575 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:592 +#: InvenTree/serializers.py:584 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" @@ -440,7 +438,7 @@ msgstr "" msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:141 order/models.py:1114 +#: InvenTree/status_codes.py:141 order/models.py:1130 #: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "" @@ -525,7 +523,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2020 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2030 msgid "Merged stock items" msgstr "" @@ -597,27 +595,27 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:522 +#: InvenTree/views.py:521 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:571 +#: InvenTree/views.py:570 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:585 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:597 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "" -#: InvenTree/views.py:618 +#: InvenTree/views.py:617 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:842 templates/navbar.html:152 +#: InvenTree/views.py:807 templates/navbar.html:152 msgid "System Information" msgstr "" @@ -628,6 +626,7 @@ msgstr "" #: 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/email/overdue_build_order.html:15 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "" @@ -646,12 +645,12 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:189 order/models.py:288 order/models.py:638 -#: order/models.py:916 part/models.py:2570 +#: build/models.py:189 order/models.py:293 order/models.py:654 +#: order/models.py:932 part/models.py:2558 #: 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/bom.js:690 templates/js/translated/bom.js:852 #: 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:3959 @@ -673,13 +672,12 @@ msgstr "" #: 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:2460 part/models.py:2545 part/models.py:2821 -#: part/serializers.py:793 part/templates/part/part_app_base.html:8 +#: order/models.py:1028 order/models.py:1119 part/models.py:336 +#: part/models.py:2087 part/models.py:2102 part/models.py:2121 +#: part/models.py:2139 part/models.py:2238 part/models.py:2358 +#: part/models.py:2448 part/models.py:2533 part/models.py:2809 +#: part/serializers.py:795 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 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 @@ -687,22 +685,23 @@ msgstr "" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 +#: templates/email/overdue_build_order.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:805 +#: templates/js/translated/bom.js:689 templates/js/translated/bom.js:799 #: 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/company.js:253 +#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:592 +#: templates/js/translated/company.js:851 templates/js/translated/order.js:100 #: templates/js/translated/order.js:883 templates/js/translated/order.js:1315 #: 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:1633 templates/js/translated/stock.js:2376 -#: templates/js/translated/stock.js:2571 templates/js/translated/stock.js:2705 +#: templates/js/translated/part.js:1111 templates/js/translated/part.js:1181 +#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:695 templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2386 +#: templates/js/translated/stock.js:2581 templates/js/translated/stock.js:2715 msgid "Part" msgstr "" @@ -768,12 +767,12 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:282 order/models.py:137 part/models.py:932 +#: build/models.py:282 order/models.py:138 part/models.py:932 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "" -#: build/models.py:286 order/models.py:660 +#: build/models.py:286 order/models.py:676 msgid "Target completion date" msgstr "" @@ -781,7 +780,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:290 order/models.py:331 +#: build/models.py:290 order/models.py:336 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "" @@ -799,7 +798,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:313 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:151 +#: build/templates/build/detail.html:115 order/models.py:152 #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 @@ -822,20 +821,20 @@ msgstr "" #: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 #: company/models.py:519 company/templates/company/sidebar.html:25 -#: order/models.py:155 order/models.py:918 order/models.py:1213 +#: order/models.py:156 order/models.py:934 order/models.py:1229 #: order/templates/order/po_sidebar.html:11 #: 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:713 stock/models.py:1985 stock/models.py:2093 +#: stock/models.py:713 stock/models.py:1989 stock/models.py:2097 #: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:486 -#: stock/serializers.py:772 stock/serializers.py:871 stock/serializers.py:1003 +#: stock/serializers.py:759 stock/serializers.py:858 stock/serializers.py:990 #: 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/barcode.js:100 templates/js/translated/bom.js:1038 +#: templates/js/translated/company.js:947 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 -#: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 +#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1926 msgid "Notes" msgstr "" @@ -855,44 +854,44 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1108 +#: build/models.py:1111 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1117 +#: build/models.py:1120 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1127 +#: build/models.py:1130 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1133 order/models.py:1372 +#: build/models.py:1136 order/models.py:1388 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1139 +#: build/models.py:1142 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1196 +#: build/models.py:1199 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1265 stock/templates/stock/item_base.html:177 +#: build/models.py:1268 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:1266 +#: build/models.py:1269 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 -#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:703 -#: stock/serializers.py:829 stock/templates/stock/item_base.html:10 +#: build/models.py:1285 build/serializers.py:603 order/serializers.py:996 +#: order/serializers.py:1017 stock/serializers.py:382 stock/serializers.py:690 +#: stock/serializers.py:816 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 @@ -900,22 +899,22 @@ msgstr "" #: 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:2449 +#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696 +#: templates/js/translated/stock.js:2459 msgid "Stock Item" msgstr "" -#: build/models.py:1283 +#: build/models.py:1286 msgid "Source stock item" msgstr "" -#: build/models.py:1295 build/serializers.py:183 +#: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1536 +#: build/templates/build/detail.html:34 common/models.py:1543 #: 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:68 -#: part/forms.py:83 part/forms.py:98 part/models.py:2561 +#: order/models.py:925 order/models.py:1428 order/serializers.py:1136 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 +#: part/forms.py:74 part/forms.py:89 part/models.py:2549 #: 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 @@ -926,8 +925,8 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:139 #: 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 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:691 +#: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 #: templates/js/translated/build.js:574 templates/js/translated/build.js:765 #: templates/js/translated/build.js:1175 templates/js/translated/build.js:1673 #: templates/js/translated/build.js:2086 @@ -937,23 +936,23 @@ msgstr "" #: 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: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 -#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727 -#: templates/js/translated/stock.js:2498 templates/js/translated/stock.js:2583 +#: templates/js/translated/part.js:1011 templates/js/translated/part.js:2065 +#: templates/js/translated/part.js:2296 templates/js/translated/part.js:2330 +#: templates/js/translated/part.js:2408 templates/js/translated/stock.js:402 +#: templates/js/translated/stock.js:556 templates/js/translated/stock.js:726 +#: templates/js/translated/stock.js:2508 templates/js/translated/stock.js:2593 msgid "Quantity" msgstr "" -#: build/models.py:1296 +#: build/models.py:1299 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1304 +#: build/models.py:1307 msgid "Install into" msgstr "" -#: build/models.py:1305 +#: build/models.py:1308 msgid "Destination stock item" msgstr "" @@ -982,9 +981,9 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: 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:1239 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:368 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:514 +#: part/serializers.py:958 stock/models.py:470 stock/models.py:1239 #: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" @@ -997,9 +996,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 #: stock/serializers.py:297 templates/js/translated/order.js:1186 -#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:237 templates/js/translated/stock.js:403 msgid "Serial Numbers" msgstr "" @@ -1015,7 +1014,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:552 +#: build/serializers.py:268 stock/api.py:553 msgid "The following serial numbers already exist" msgstr "" @@ -1025,16 +1024,16 @@ msgstr "" #: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 #: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:481 -#: stock/serializers.py:864 stock/serializers.py:1097 +#: stock/serializers.py:851 stock/serializers.py:1084 #: 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 #: 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:1787 templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532 +#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904 +#: templates/js/translated/stock.js:1797 templates/js/translated/stock.js:2400 msgid "Location" msgstr "" @@ -1043,12 +1042,12 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:363 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:654 +#: build/templates/build/detail.html:62 order/models.py:670 #: 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 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1772 +#: templates/js/translated/stock.js:2477 templates/js/translated/stock.js:2609 msgid "Status" msgstr "" @@ -1108,8 +1107,8 @@ msgstr "" msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:535 build/serializers.py:580 part/models.py:2679 -#: part/models.py:2813 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2667 +#: part/models.py:2801 msgid "BOM Item" msgstr "" @@ -1125,11 +1124,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:716 +#: build/serializers.py:609 stock/serializers.py:703 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:667 order/serializers.py:1052 +#: build/serializers.py:667 order/serializers.py:1054 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1146,7 +1145,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:708 order/serializers.py:1298 +#: build/serializers.py:708 order/serializers.py:1300 msgid "Allocation items must be provided" msgstr "" @@ -1178,10 +1177,19 @@ msgstr "" msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:96 +#: build/tasks.py:100 msgid "Stock required for build order" msgstr "" +#: build/tasks.py:118 +msgid "Overdue Build Order" +msgstr "" + +#: build/tasks.py:123 +#, python-brace-format +msgid "Build order {bo} is now overdue" +msgstr "" + #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 #: order/templates/order/sales_order_base.html:38 @@ -1244,13 +1252,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:922 +#: build/templates/build/detail.html:131 order/models.py:938 #: 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: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 +#: templates/js/translated/order.js:3517 templates/js/translated/part.js:1015 msgid "Target Date" msgstr "" @@ -1277,13 +1285,14 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1100 -#: order/models.py:1185 order/models.py:1320 +#: build/templates/build/detail.html:94 order/models.py:1116 +#: order/models.py:1201 order/models.py:1336 #: 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/email/overdue_sales_order.html:15 #: templates/js/translated/order.js:2436 msgid "Sales Order" msgstr "" @@ -1319,7 +1328,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1034 +#: build/templates/build/detail.html:49 order/models.py:1050 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "" @@ -1336,8 +1345,8 @@ msgstr "" #: stock/templates/stock/item_base.html:170 #: templates/js/translated/build.js:1179 #: templates/js/translated/model_renderers.js:112 -#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1776 -#: templates/js/translated/stock.js:2606 +#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:2616 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1716,7 +1725,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:820 part/models.py:2372 report/models.py:157 +#: common/models.py:820 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" @@ -1726,7 +1735,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" @@ -1880,7 +1889,7 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:968 -msgid "Test Reports" +msgid "Enable Test Reports" msgstr "" #: common/models.py:969 @@ -1888,568 +1897,576 @@ msgid "Enable generation of test reports" msgstr "" #: common/models.py:975 -msgid "Batch Code Template" +msgid "Attach Test Reports" msgstr "" #: common/models.py:976 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:981 -msgid "Stock Expiry" +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" #: common/models.py:982 -msgid "Enable stock expiry functionality" +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:983 +msgid "Template for generating default batch codes for stock items" msgstr "" #: common/models.py:988 -msgid "Sell Expired Stock" +msgid "Stock Expiry" msgstr "" #: common/models.py:989 -msgid "Allow sale of expired stock" +msgid "Enable stock expiry functionality" msgstr "" #: common/models.py:995 -msgid "Stock Stale Time" +msgid "Sell Expired Stock" msgstr "" #: common/models.py:996 -msgid "Number of days stock items are considered stale before expiring" +msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:998 -msgid "days" +#: common/models.py:1002 +msgid "Stock Stale Time" msgstr "" #: common/models.py:1003 -msgid "Build Expired Stock" +msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1004 -msgid "Allow building with expired stock" +#: common/models.py:1005 +msgid "days" msgstr "" #: common/models.py:1010 -msgid "Stock Ownership Control" +msgid "Build Expired Stock" msgstr "" #: common/models.py:1011 -msgid "Enable ownership control over stock locations and items" +msgid "Allow building with expired stock" msgstr "" #: common/models.py:1017 -msgid "Build Order Reference Prefix" +msgid "Stock Ownership Control" msgstr "" #: common/models.py:1018 -msgid "Prefix value for build order reference" -msgstr "" - -#: common/models.py:1023 -msgid "Build Order Reference Regex" +msgid "Enable ownership control over stock locations and items" msgstr "" #: common/models.py:1024 +msgid "Build Order Reference Prefix" +msgstr "" + +#: common/models.py:1025 +msgid "Prefix value for build order reference" +msgstr "" + +#: common/models.py:1030 +msgid "Build Order Reference Regex" +msgstr "" + +#: common/models.py:1031 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1029 +#: common/models.py:1036 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1041 +#: common/models.py:1048 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1042 +#: common/models.py:1049 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1048 +#: common/models.py:1055 msgid "Enable password forgot" msgstr "" -#: common/models.py:1049 +#: common/models.py:1056 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1055 +#: common/models.py:1062 msgid "Enable registration" msgstr "" -#: common/models.py:1056 +#: common/models.py:1063 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1069 msgid "Enable SSO" msgstr "" -#: common/models.py:1063 +#: common/models.py:1070 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1069 +#: common/models.py:1076 msgid "Email required" msgstr "" -#: common/models.py:1070 +#: common/models.py:1077 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1076 +#: common/models.py:1083 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1077 +#: common/models.py:1084 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1083 +#: common/models.py:1090 msgid "Mail twice" msgstr "" -#: common/models.py:1084 +#: common/models.py:1091 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1090 +#: common/models.py:1097 msgid "Password twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1098 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1097 +#: common/models.py:1104 msgid "Group on signup" msgstr "" -#: common/models.py:1098 +#: common/models.py:1105 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1104 +#: common/models.py:1111 msgid "Enforce MFA" msgstr "" -#: common/models.py:1105 +#: common/models.py:1112 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1111 +#: common/models.py:1118 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1112 +#: common/models.py:1119 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1120 +#: common/models.py:1127 msgid "Enable URL integration" msgstr "" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1136 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1136 +#: common/models.py:1143 msgid "Enable app integration" msgstr "" -#: common/models.py:1137 +#: common/models.py:1144 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1144 +#: common/models.py:1151 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1145 +#: common/models.py:1152 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1152 +#: common/models.py:1159 msgid "Enable event integration" msgstr "" -#: common/models.py:1153 +#: common/models.py:1160 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1170 common/models.py:1492 +#: common/models.py:1177 common/models.py:1499 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1192 +#: common/models.py:1199 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1193 +#: common/models.py:1200 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1199 +#: common/models.py:1206 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1200 +#: common/models.py:1207 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1213 msgid "Show latest parts" msgstr "" -#: common/models.py:1207 +#: common/models.py:1214 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1213 +#: common/models.py:1220 msgid "Recent Part Count" msgstr "" -#: common/models.py:1214 +#: common/models.py:1221 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1220 +#: common/models.py:1227 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1221 +#: common/models.py:1228 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1227 +#: common/models.py:1234 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1228 +#: common/models.py:1235 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1235 +#: common/models.py:1242 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Show low stock" msgstr "" -#: common/models.py:1242 +#: common/models.py:1249 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Show depleted stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1256 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1262 msgid "Show needed stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1263 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1269 msgid "Show expired stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1270 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1276 msgid "Show stale stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Show pending builds" msgstr "" -#: common/models.py:1277 +#: common/models.py:1284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Show overdue builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1291 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1291 +#: common/models.py:1298 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Show overdue POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1305 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1312 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1318 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1319 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1317 +#: common/models.py:1324 msgid "Enable label printing" msgstr "" -#: common/models.py:1318 +#: common/models.py:1325 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1324 +#: common/models.py:1331 msgid "Inline label display" msgstr "" -#: common/models.py:1325 +#: common/models.py:1332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1331 +#: common/models.py:1338 msgid "Inline report display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1345 msgid "Search Parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1345 +#: common/models.py:1352 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1359 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1366 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1367 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1373 msgid "Search Categories" msgstr "" -#: common/models.py:1367 +#: common/models.py:1374 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1380 msgid "Search Stock" msgstr "" -#: common/models.py:1374 +#: common/models.py:1381 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1387 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1381 +#: common/models.py:1388 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1394 msgid "Search Locations" msgstr "" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1401 msgid "Search Companies" msgstr "" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1408 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1415 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1422 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1429 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Search Preview Results" msgstr "" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1457 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1457 +#: common/models.py:1464 msgid "Date Format" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1472 part/templates/part/detail.html:39 +#: common/models.py:1479 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1473 +#: common/models.py:1480 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1537 company/forms.py:37 +#: common/models.py:1544 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: 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 +#: common/models.py:1551 company/serializers.py:290 +#: company/templates/company/supplier_part.html:263 order/models.py:965 +#: templates/js/translated/part.js:1042 templates/js/translated/part.js:2070 msgid "Price" msgstr "" -#: common/models.py:1545 +#: common/models.py:1552 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1705 common/models.py:1883 +#: common/models.py:1712 common/models.py:1890 msgid "Endpoint" msgstr "" -#: common/models.py:1706 +#: common/models.py:1713 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1715 +#: common/models.py:1722 msgid "Name for this webhook" msgstr "" -#: common/models.py:1720 part/models.py:911 plugin/models.py:99 +#: common/models.py:1727 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 @@ -2457,79 +2474,89 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1721 +#: common/models.py:1728 msgid "Is this webhook active" msgstr "" -#: common/models.py:1735 +#: common/models.py:1742 msgid "Token" msgstr "" -#: common/models.py:1736 +#: common/models.py:1743 msgid "Token for access" msgstr "" -#: common/models.py:1743 +#: common/models.py:1750 msgid "Secret" msgstr "" -#: common/models.py:1744 +#: common/models.py:1751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Message ID" msgstr "" -#: common/models.py:1851 +#: common/models.py:1858 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1859 +#: common/models.py:1866 msgid "Host" msgstr "" -#: common/models.py:1860 +#: common/models.py:1867 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1867 +#: common/models.py:1874 msgid "Header" msgstr "" -#: common/models.py:1868 +#: common/models.py:1875 msgid "Header of this message" msgstr "" -#: common/models.py:1874 +#: common/models.py:1881 msgid "Body" msgstr "" -#: common/models.py:1875 +#: common/models.py:1882 msgid "Body of this message" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1889 +#: common/models.py:1896 msgid "Worked on" msgstr "" -#: common/models.py:1890 +#: common/models.py:1897 msgid "Was the work on this message finished?" msgstr "" +#: common/notifications.py:292 +#, python-brace-format +msgid "New {verbose_name}" +msgstr "" + +#: common/notifications.py:294 +#, python-brace-format +msgid "A new {verbose_name} has been created and ,assigned to you" +msgstr "" + #: common/views.py:87 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:191 +#: order/views.py:102 part/views.py:116 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:192 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:117 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -2545,19 +2572,19 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:511 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:16 part/forms.py:21 +#: company/forms.py:16 part/forms.py:18 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:17 part/forms.py:22 +#: company/forms.py:17 part/forms.py:19 msgid "Image URL" msgstr "" @@ -2571,7 +2598,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:405 +#: templates/js/translated/company.js:399 msgid "Website" msgstr "" @@ -2644,9 +2671,9 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: 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 +#: company/models.py:144 company/serializers.py:296 +#: company/templates/company/company_base.html:106 part/serializers.py:139 +#: part/serializers.py:170 stock/serializers.py:162 msgid "Currency" msgstr "" @@ -2667,10 +2694,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: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/company.js:383 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:617 +#: templates/js/translated/company.js:902 templates/js/translated/part.js:235 #: templates/js/translated/table_filters.js:411 msgid "Manufacturer" msgstr "" @@ -2681,11 +2708,11 @@ msgstr "" #: 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 -#: 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 +#: templates/js/translated/company.js:256 +#: templates/js/translated/company.js:483 +#: templates/js/translated/company.js:633 +#: templates/js/translated/company.js:920 templates/js/translated/order.js:1907 +#: templates/js/translated/part.js:246 templates/js/translated/part.js:1000 msgid "MPN" msgstr "" @@ -2714,9 +2741,9 @@ msgstr "" #: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2080 templates/js/translated/company.js:540 -#: templates/js/translated/company.js:763 templates/js/translated/part.js:776 -#: templates/js/translated/stock.js:1294 +#: stock/models.py:2084 templates/js/translated/company.js:531 +#: templates/js/translated/company.js:748 templates/js/translated/part.js:820 +#: templates/js/translated/stock.js:1304 msgid "Value" msgstr "" @@ -2724,10 +2751,10 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:368 part/models.py:878 part/models.py:2339 +#: company/models.py:368 part/models.py:878 part/models.py:2327 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:351 -#: templates/js/translated/company.js:769 templates/js/translated/part.js:782 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:826 msgid "Units" msgstr "" @@ -2740,13 +2767,14 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:487 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:303 +#: company/templates/company/supplier_part.html:87 order/models.py:308 #: 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 -#: 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/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:255 +#: templates/js/translated/company.js:387 +#: templates/js/translated/company.js:876 templates/js/translated/order.js:1643 +#: templates/js/translated/part.js:216 templates/js/translated/part.js:968 #: templates/js/translated/table_filters.js:415 msgid "Supplier" msgstr "" @@ -2756,9 +2784,9 @@ msgid "Select supplier" msgstr "" #: 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 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:254 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 -#: templates/js/translated/part.js:942 +#: templates/js/translated/part.js:986 msgid "SKU" msgstr "" @@ -2779,23 +2807,23 @@ msgid "Supplier part description" msgstr "" #: company/models.py:518 company/templates/company/supplier_part.html:125 -#: part/models.py:2573 part/templates/part/upload_bom.html:59 +#: part/models.py:2561 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:387 msgid "Note" msgstr "" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "base cost" msgstr "" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: 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 +#: templates/js/translated/company.js:952 templates/js/translated/stock.js:1922 msgid "Packaging" msgstr "" @@ -2803,7 +2831,7 @@ msgstr "" msgid "Part packaging" msgstr "" -#: company/models.py:526 part/models.py:1690 +#: company/models.py:526 part/models.py:1685 msgid "multiple" msgstr "" @@ -2825,7 +2853,7 @@ msgstr "" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:177 templates/js/translated/company.js:378 +#: templates/InvenTree/search.html:177 templates/js/translated/company.js:372 msgid "Company" msgstr "" @@ -2843,7 +2871,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:321 +#: templates/js/translated/company.js:315 msgid "Edit Company" msgstr "" @@ -2866,12 +2894,13 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:649 +#: company/templates/company/company_base.html:86 order/models.py:665 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:758 +#: stock/models.py:628 stock/serializers.py:745 #: 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 +#: templates/email/overdue_sales_order.html:16 +#: templates/js/translated/company.js:379 templates/js/translated/order.js:2458 +#: templates/js/translated/stock.js:2441 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "" @@ -2999,7 +3028,7 @@ msgid "Supplier List" msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:45 -#: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 +#: part/templates/part/prices.html:172 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -3012,12 +3041,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:680 +#: templates/js/translated/company.js:665 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:681 +#: templates/js/translated/company.js:666 msgid "Delete manufacturer part" msgstr "" @@ -3032,7 +3061,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:39 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 +#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" msgstr "" @@ -3092,18 +3121,18 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: 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 +#: templates/js/translated/company.js:892 templates/js/translated/order.js:884 +#: templates/js/translated/stock.js:1879 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:38 -#: templates/js/translated/company.js:980 +#: templates/js/translated/company.js:965 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:42 -#: templates/js/translated/company.js:981 +#: templates/js/translated/company.js:966 msgid "Delete supplier part" msgstr "" @@ -3123,7 +3152,7 @@ msgstr "" #: company/templates/company/supplier_part.html:148 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 -#: templates/js/translated/stock.js:380 +#: templates/js/translated/stock.js:379 msgid "New Stock Item" msgstr "" @@ -3144,7 +3173,7 @@ msgstr "" #: company/templates/company/supplier_part.html:191 #: company/templates/company/supplier_part.html:305 -#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046 +#: part/templates/part/prices.html:276 templates/js/translated/part.js:2142 msgid "Add Price Break" msgstr "" @@ -3153,12 +3182,12 @@ msgid "No price break information found" msgstr "" #: company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2152 msgid "Delete Price Break" msgstr "" #: company/templates/company/supplier_part.html:245 -#: templates/js/translated/part.js:2070 +#: templates/js/translated/part.js:2166 msgid "Edit Price Break" msgstr "" @@ -3180,9 +3209,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: 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:1687 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:722 +#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1431 +#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3209,7 +3238,7 @@ msgstr "" #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 -#: templates/js/translated/stock.js:2307 users/models.py:39 +#: templates/js/translated/stock.js:2317 users/models.py:39 msgid "Stock Items" msgstr "" @@ -3238,20 +3267,20 @@ msgstr "" msgid "New Company" msgstr "" -#: company/views.py:112 part/views.py:576 +#: company/views.py:112 part/views.py:501 msgid "Download Image" msgstr "" -#: company/views.py:139 part/views.py:606 +#: company/views.py:139 part/views.py:531 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:146 part/views.py:613 +#: company/views.py:146 part/views.py:538 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:155 part/views.py:622 +#: company/views.py:155 part/views.py:547 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3320,313 +3349,314 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:133 +#: order/models.py:134 msgid "Order description" msgstr "" -#: order/models.py:135 order/models.py:1236 +#: order/models.py:136 order/models.py:1252 msgid "Link to external page" msgstr "" -#: order/models.py:143 +#: order/models.py:144 msgid "Created By" msgstr "" -#: order/models.py:150 +#: order/models.py:151 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:155 +#: order/models.py:156 msgid "Order notes" msgstr "" -#: order/models.py:289 order/models.py:639 +#: order/models.py:294 order/models.py:655 msgid "Order reference" msgstr "" -#: order/models.py:294 order/models.py:654 +#: order/models.py:299 order/models.py:670 msgid "Purchase order status" msgstr "" -#: order/models.py:304 +#: order/models.py:309 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:307 order/templates/order/order_base.html:124 +#: order/models.py:312 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:307 +#: order/models.py:312 msgid "Supplier order reference code" msgstr "" -#: order/models.py:314 +#: order/models.py:319 msgid "received by" msgstr "" -#: order/models.py:319 +#: order/models.py:324 msgid "Issue Date" msgstr "" -#: order/models.py:320 +#: order/models.py:325 msgid "Date order was issued" msgstr "" -#: order/models.py:325 +#: order/models.py:330 msgid "Target Delivery Date" msgstr "" -#: order/models.py:326 +#: order/models.py:331 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:332 +#: order/models.py:337 msgid "Date order was completed" msgstr "" -#: order/models.py:368 +#: order/models.py:373 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:512 +#: order/models.py:517 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:650 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer Reference " msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer order reference code" msgstr "" -#: order/models.py:661 +#: order/models.py:677 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:664 order/models.py:1190 +#: order/models.py:680 order/models.py:1206 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:671 +#: order/models.py:687 msgid "shipped by" msgstr "" -#: order/models.py:726 +#: order/models.py:742 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:730 +#: order/models.py:746 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:733 +#: order/models.py:749 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:736 +#: order/models.py:752 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:910 +#: order/models.py:926 msgid "Item quantity" msgstr "" -#: order/models.py:916 +#: order/models.py:932 msgid "Line item reference" msgstr "" -#: order/models.py:918 +#: order/models.py:934 msgid "Line item notes" msgstr "" -#: order/models.py:923 +#: order/models.py:939 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:941 +#: order/models.py:957 msgid "Context" msgstr "" -#: order/models.py:942 +#: order/models.py:958 msgid "Additional context for this line" msgstr "" -#: order/models.py:950 +#: order/models.py:966 msgid "Unit price" msgstr "" -#: order/models.py:980 +#: order/models.py:996 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:988 +#: order/models.py:1004 msgid "deleted" msgstr "" -#: order/models.py:994 order/models.py:1074 order/models.py:1099 -#: order/models.py:1184 order/models.py:1320 +#: order/models.py:1010 order/models.py:1090 order/models.py:1115 +#: order/models.py:1200 order/models.py:1336 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:995 order/models.py:1074 +#: order/models.py:1011 order/models.py:1090 #: 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/email/overdue_purchase_order.html:15 #: 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 +#: templates/js/translated/part.js:943 templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:2422 msgid "Purchase Order" msgstr "" -#: order/models.py:1013 +#: order/models.py:1029 msgid "Supplier part" msgstr "" -#: order/models.py:1020 order/templates/order/order_base.html:169 +#: order/models.py:1036 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/part.js:1037 templates/js/translated/part.js:1064 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1021 +#: order/models.py:1037 msgid "Number of items received" msgstr "" -#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: order/models.py:1044 part/templates/part/prices.html:181 stock/models.py:722 #: stock/serializers.py:153 stock/templates/stock/item_base.html:191 -#: templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:1910 msgid "Purchase Price" msgstr "" -#: order/models.py:1029 +#: order/models.py:1045 msgid "Unit purchase price" msgstr "" -#: order/models.py:1037 +#: order/models.py:1053 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1109 part/templates/part/part_pricing.html:112 -#: part/templates/part/prices.html:119 part/templates/part/prices.html:288 +#: order/models.py:1125 part/templates/part/part_pricing.html:115 +#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 msgid "Sale Price" msgstr "" -#: order/models.py:1110 +#: order/models.py:1126 msgid "Unit sale price" msgstr "" -#: order/models.py:1115 +#: order/models.py:1131 msgid "Shipped quantity" msgstr "" -#: order/models.py:1191 +#: order/models.py:1207 msgid "Date of shipment" msgstr "" -#: order/models.py:1198 +#: order/models.py:1214 msgid "Checked By" msgstr "" -#: order/models.py:1199 +#: order/models.py:1215 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1207 +#: order/models.py:1223 msgid "Shipment number" msgstr "" -#: order/models.py:1214 +#: order/models.py:1230 msgid "Shipment notes" msgstr "" -#: order/models.py:1221 +#: order/models.py:1237 msgid "Tracking Number" msgstr "" -#: order/models.py:1222 +#: order/models.py:1238 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1229 +#: order/models.py:1245 msgid "Invoice Number" msgstr "" -#: order/models.py:1230 +#: order/models.py:1246 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1248 +#: order/models.py:1264 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1251 +#: order/models.py:1267 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1354 order/models.py:1356 +#: order/models.py:1370 order/models.py:1372 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1360 +#: order/models.py:1376 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1362 +#: order/models.py:1378 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1365 +#: order/models.py:1381 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1369 +#: order/models.py:1385 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1375 order/serializers.py:1045 +#: order/models.py:1391 order/serializers.py:1047 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1378 +#: order/models.py:1394 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1379 +#: order/models.py:1395 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1387 +#: order/models.py:1403 msgid "Line" msgstr "" -#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 +#: order/models.py:1411 order/serializers.py:1151 order/serializers.py:1275 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1396 +#: order/models.py:1412 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1424 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1409 +#: order/models.py:1425 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Enter stock allocation quantity" msgstr "" @@ -3662,7 +3692,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1117 +#: order/serializers.py:406 order/serializers.py:1119 msgid "Line Item" msgstr "" @@ -3710,42 +3740,60 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:866 +#: order/serializers.py:868 msgid "Sale price currency" msgstr "" -#: order/serializers.py:947 +#: order/serializers.py:949 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1006 order/serializers.py:1126 +#: order/serializers.py:1008 order/serializers.py:1128 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1028 +#: order/serializers.py:1030 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1139 +#: order/serializers.py:1141 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1161 order/serializers.py:1281 +#: order/serializers.py:1163 order/serializers.py:1283 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1164 order/serializers.py:1284 +#: order/serializers.py:1166 order/serializers.py:1286 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1216 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1224 +#: order/serializers.py:1226 msgid "The following serial numbers are already allocated" msgstr "" +#: order/tasks.py:26 +msgid "Overdue Purchase Order" +msgstr "" + +#: order/tasks.py:31 +#, python-brace-format +msgid "Purchase order {po} is now overdue" +msgstr "" + +#: order/tasks.py:88 +msgid "Overdue Sales Order" +msgstr "" + +#: order/tasks.py:93 +#, python-brace-format +msgid "Sales order {so} is now overdue" +msgstr "" + #: order/templates/order/order_base.html:33 msgid "Print purchase order report" msgstr "" @@ -3870,8 +3918,8 @@ msgstr "" #: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: 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:2731 templates/js/translated/stock.js:570 -#: templates/js/translated/stock.js:738 +#: templates/js/translated/order.js:2731 templates/js/translated/stock.js:569 +#: templates/js/translated/stock.js:737 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -3990,7 +4038,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1047 #: templates/js/translated/build.js:1880 msgid "Actions" msgstr "" @@ -4021,47 +4069,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:481 +#: part/api.py:482 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:501 +#: part/api.py:502 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:519 +#: part/api.py:520 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:551 +#: part/api.py:552 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:637 +#: part/api.py:638 msgid "Valid" msgstr "" -#: part/api.py:638 +#: part/api.py:639 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:644 +#: part/api.py:645 msgid "This option must be selected" msgstr "" -#: part/api.py:1010 +#: part/api.py:1011 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1014 +#: part/api.py:1015 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1029 +#: part/api.py:1030 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1060 part/api.py:1064 part/api.py:1079 part/api.py:1083 +#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 msgid "This field is required" msgstr "" @@ -4080,17 +4128,13 @@ msgid "Available Stock" msgstr "" #: 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 +#: templates/js/translated/part.js:561 templates/js/translated/part.js:581 +#: templates/js/translated/part.js:1273 templates/js/translated/part.js:1445 +#: templates/js/translated/part.js:1461 msgid "On Order" msgstr "" -#: part/forms.py:59 -msgid "Select part category" -msgstr "" - -#: part/forms.py:69 +#: part/forms.py:60 msgid "Input quantity for price calculation" msgstr "" @@ -4106,7 +4150,7 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:115 part/models.py:2415 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2403 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -4123,7 +4167,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:144 +#: templates/js/translated/part.js:1864 templates/js/translated/search.js:144 #: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "" @@ -4153,7 +4197,7 @@ msgstr "" msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:738 part/models.py:2469 +#: part/models.py:738 part/models.py:2457 msgid "Part name" msgstr "" @@ -4186,12 +4230,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:776 part/models.py:2171 part/models.py:2414 +#: part/models.py:776 part/models.py:2159 part/models.py:2402 #: part/templates/part/part_base.html:257 -#: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 #: templates/InvenTree/settings/settings.html:231 -#: templates/js/translated/part.js:1369 +#: templates/js/translated/part.js:1413 templates/js/translated/part.js:1639 msgid "Category" msgstr "" @@ -4200,8 +4243,8 @@ msgid "Part category" msgstr "" #: 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 +#: templates/js/translated/part.js:710 templates/js/translated/part.js:1366 +#: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" @@ -4214,7 +4257,7 @@ msgid "Part revision or version number" msgstr "" #: part/models.py:790 part/templates/part/part_base.html:273 -#: report/models.py:170 templates/js/translated/part.js:670 +#: report/models.py:170 templates/js/translated/part.js:714 msgid "Revision" msgstr "" @@ -4302,317 +4345,321 @@ msgstr "" msgid "Creation User" msgstr "" -#: part/models.py:1690 +#: part/models.py:1685 msgid "Sell multiple" msgstr "" -#: part/models.py:2218 +#: part/models.py:2206 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2235 +#: part/models.py:2223 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2255 templates/js/translated/part.js:1819 -#: templates/js/translated/stock.js:1274 +#: part/models.py:2243 templates/js/translated/part.js:1915 +#: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2256 +#: part/models.py:2244 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2261 +#: part/models.py:2249 msgid "Test Description" msgstr "" -#: part/models.py:2262 +#: part/models.py:2250 msgid "Enter description for this test" msgstr "" -#: part/models.py:2267 templates/js/translated/part.js:1828 +#: part/models.py:2255 templates/js/translated/part.js:1924 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2268 +#: part/models.py:2256 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2273 templates/js/translated/part.js:1836 +#: part/models.py:2261 templates/js/translated/part.js:1932 msgid "Requires Value" msgstr "" -#: part/models.py:2274 +#: part/models.py:2262 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2279 templates/js/translated/part.js:1843 +#: part/models.py:2267 templates/js/translated/part.js:1939 msgid "Requires Attachment" msgstr "" -#: part/models.py:2280 +#: part/models.py:2268 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2288 +#: part/models.py:2276 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2324 +#: part/models.py:2312 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2332 +#: part/models.py:2320 msgid "Parameter Name" msgstr "" -#: part/models.py:2339 +#: part/models.py:2327 msgid "Parameter Units" msgstr "" -#: part/models.py:2370 +#: part/models.py:2358 msgid "Parent Part" msgstr "" -#: part/models.py:2372 part/models.py:2420 part/models.py:2421 +#: part/models.py:2360 part/models.py:2408 part/models.py:2409 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Data" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Parameter Value" msgstr "" -#: part/models.py:2425 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2413 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2426 +#: part/models.py:2414 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2461 +#: part/models.py:2449 msgid "Part ID or part name" msgstr "" -#: part/models.py:2464 templates/js/translated/model_renderers.js:200 +#: part/models.py:2452 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2465 +#: part/models.py:2453 msgid "Unique part ID value" msgstr "" -#: part/models.py:2468 +#: part/models.py:2456 msgid "Part Name" msgstr "" -#: part/models.py:2472 +#: part/models.py:2460 msgid "Part IPN" msgstr "" -#: part/models.py:2473 +#: part/models.py:2461 msgid "Part IPN value" msgstr "" -#: part/models.py:2476 +#: part/models.py:2464 msgid "Level" msgstr "" -#: part/models.py:2477 +#: part/models.py:2465 msgid "BOM level" msgstr "" -#: part/models.py:2546 +#: part/models.py:2534 msgid "Select parent part" msgstr "" -#: part/models.py:2554 +#: part/models.py:2542 msgid "Sub part" msgstr "" -#: part/models.py:2555 +#: part/models.py:2543 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2561 +#: part/models.py:2549 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2563 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 +#: part/models.py:2551 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:871 templates/js/translated/bom.js:965 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2563 +#: part/models.py:2551 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2566 part/templates/part/upload_bom.html:55 +#: part/models.py:2554 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2567 +#: part/models.py:2555 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2570 +#: part/models.py:2558 msgid "BOM item reference" msgstr "" -#: part/models.py:2573 +#: part/models.py:2561 msgid "BOM item notes" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "Checksum" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "BOM line checksum" msgstr "" -#: part/models.py:2579 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:988 +#: part/models.py:2567 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:982 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2580 +#: part/models.py:2568 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2585 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:980 +#: part/models.py:2573 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:974 msgid "Allow Variants" msgstr "" -#: part/models.py:2586 +#: part/models.py:2574 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2664 stock/models.py:460 +#: part/models.py:2652 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2673 part/models.py:2675 +#: part/models.py:2661 part/models.py:2663 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2780 +#: part/models.py:2768 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2801 +#: part/models.py:2789 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2814 +#: part/models.py:2802 msgid "Parent BOM item" msgstr "" -#: part/models.py:2822 +#: part/models.py:2810 msgid "Substitute part" msgstr "" -#: part/models.py:2833 +#: part/models.py:2825 msgid "Part 1" msgstr "" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Part 2" msgstr "" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Select Related Part" msgstr "" -#: part/models.py:2868 -msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" +#: part/models.py:2847 +msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 +#: part/models.py:2851 +msgid "Duplicate relationship already exists" +msgstr "" + +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:794 +#: part/serializers.py:796 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:804 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:805 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:810 msgid "Include Inherited" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:811 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:816 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:817 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:820 +#: part/serializers.py:822 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:821 +#: part/serializers.py:823 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:861 +#: part/serializers.py:863 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:864 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:894 msgid "No part column specified" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:937 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:938 +#: part/serializers.py:940 msgid "No matching part found" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:943 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:950 +#: part/serializers.py:952 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:958 +#: part/serializers.py:960 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:979 +#: part/serializers.py:981 msgid "At least one BOM item is required" msgstr "" @@ -5088,10 +5135,10 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:143 -#: templates/js/translated/company.js:623 -#: templates/js/translated/company.js:882 +#: templates/js/translated/company.js:608 +#: templates/js/translated/company.js:867 #: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:658 +#: templates/js/translated/part.js:625 templates/js/translated/part.js:702 msgid "Inactive" msgstr "" @@ -5120,13 +5167,13 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1009 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1003 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/part.js:520 -#: templates/js/translated/part.js:540 templates/js/translated/part.js:1233 -#: templates/js/translated/part.js:1405 templates/js/translated/part.js:1421 +#: part/templates/part/part_base.html:238 templates/js/translated/part.js:564 +#: templates/js/translated/part.js:584 templates/js/translated/part.js:1277 +#: templates/js/translated/part.js:1449 templates/js/translated/part.js:1465 msgid "Building" msgstr "" @@ -5143,7 +5190,7 @@ msgstr "" msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:443 part/templates/part/prices.html:147 +#: part/templates/part/part_base.html:443 part/templates/part/prices.html:149 msgid "Calculate" msgstr "" @@ -5161,54 +5208,55 @@ msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:106 -#: part/templates/part/prices.html:123 +#: part/templates/part/part_pricing.html:103 +#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 +#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:104 -#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:111 -#: part/templates/part/prices.html:128 +#: part/templates/part/part_pricing.html:107 +#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 +#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 +#: part/templates/part/prices.html:130 msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:963 +#: templates/js/translated/bom.js:957 msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:246 +#: part/templates/part/prices.html:248 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:89 +#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:96 +#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:105 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/prices.html:107 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:128 -#: part/templates/part/prices.html:137 +#: part/templates/part/part_pricing.html:131 +#: part/templates/part/prices.html:139 msgid "No pricing information is available for this part." msgstr "" @@ -5232,43 +5280,6 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:9 -#, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" -"
Disable the \"Active\" part attribute and re-try.\n" -" " -msgstr "" - -#: part/templates/part/partial_delete.html:17 -#, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" -msgstr "" - -#: part/templates/part/partial_delete.html:22 -#, python-format -msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" -msgstr "" - -#: part/templates/part/partial_delete.html:32 -#, python-format -msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:43 -#, python-format -msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:54 -#, python-format -msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:67 -#, python-format -msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." -msgstr "" - #: part/templates/part/prices.html:19 msgid "Pricing ranges" msgstr "" @@ -5285,66 +5296,58 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:120 +#: part/templates/part/prices.html:122 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:123 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:143 +#: part/templates/part/prices.html:145 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:957 +#: part/templates/part/prices.html:160 templates/js/translated/bom.js:951 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:159 part/templates/part/prices.html:180 -#: part/templates/part/prices.html:204 part/templates/part/prices.html:234 -#: part/templates/part/prices.html:260 part/templates/part/prices.html:289 +#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 +#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 +#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:184 +#: part/templates/part/prices.html:186 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:193 +#: part/templates/part/prices.html:195 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:203 +#: part/templates/part/prices.html:205 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:218 +#: part/templates/part/prices.html:220 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:233 +#: part/templates/part/prices.html:235 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:259 +#: part/templates/part/prices.html:261 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:300 +#: part/templates/part/prices.html:302 msgid "No sale pice history available for this part." msgstr "" -#: part/templates/part/set_category.html:9 -msgid "Set category for the following parts" -msgstr "" - -#: part/templates/part/set_category.html:32 -msgid "Remove part" -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543 -#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:587 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:1469 msgid "No Stock" msgstr "" @@ -5407,56 +5410,39 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:74 -msgid "Set Part Category" -msgstr "" - -#: part/views.py:122 -#, python-brace-format -msgid "Set category for {n} parts" -msgstr "" - -#: part/views.py:193 +#: part/views.py:118 msgid "Match References" msgstr "" -#: part/views.py:494 +#: part/views.py:419 msgid "None" msgstr "" -#: part/views.py:556 +#: part/views.py:481 msgid "Part QR Code" msgstr "" -#: part/views.py:650 +#: part/views.py:575 msgid "Select Part Image" msgstr "" -#: part/views.py:676 +#: part/views.py:601 msgid "Updated part image" msgstr "" -#: part/views.py:679 +#: part/views.py:604 msgid "Part image not found" msgstr "" -#: part/views.py:768 -msgid "Confirm Part Deletion" -msgstr "" - -#: part/views.py:776 -msgid "Part was deleted" -msgstr "" - -#: part/views.py:785 +#: part/views.py:693 msgid "Part Pricing" msgstr "" -#: part/views.py:976 +#: part/views.py:884 msgid "Delete Part Category" msgstr "" -#: part/views.py:983 +#: part/views.py:891 msgid "Part category was deleted" msgstr "" @@ -5516,21 +5502,21 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:28 +#: plugin/builtin/integration/core_notifications.py:29 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 +#: plugin/builtin/integration/core_notifications.py:30 msgid "Integrated outgoing notificaton methods" msgstr "" -#: 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:34 #: plugin/builtin/integration/core_notifications.py:53 +msgid "Enable email notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:35 +#: plugin/builtin/integration/core_notifications.py:54 msgid "Allow sending of emails for event notifications" msgstr "" @@ -5646,15 +5632,19 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:166 +#: report/api.py:179 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:198 report/api.py:239 +#: report/api.py:215 report/api.py:256 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" +#: report/api.py:359 +msgid "Test report" +msgstr "" + #: report/models.py:152 msgid "Template name" msgstr "" @@ -5757,7 +5747,7 @@ msgstr "" #: 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:3229 -#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:434 msgid "Serial Number" msgstr "" @@ -5766,19 +5756,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2068 +#: stock/models.py:2072 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2074 +#: stock/models.py:2078 msgid "Result" 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:1669 templates/js/translated/stock.js:2340 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2350 msgid "Date" msgstr "" @@ -5796,20 +5786,20 @@ msgid "Installed Items" 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:2589 +#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724 +#: templates/js/translated/stock.js:2599 msgid "Serial" msgstr "" -#: stock/api.py:504 +#: stock/api.py:505 msgid "Quantity is required" msgstr "" -#: stock/api.py:511 +#: stock/api.py:512 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:536 +#: stock/api.py:537 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5917,7 +5907,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1826 msgid "Expiry Date" msgstr "" @@ -5971,79 +5961,79 @@ msgstr "" msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1325 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1324 +#: stock/models.py:1328 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1327 +#: stock/models.py:1331 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1334 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1333 +#: stock/models.py:1337 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1340 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1343 stock/serializers.py:908 +#: stock/models.py:1347 stock/serializers.py:895 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1347 +#: stock/models.py:1351 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1355 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1359 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1524 +#: stock/models.py:1528 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1986 +#: stock/models.py:1990 msgid "Entry notes" msgstr "" -#: stock/models.py:2044 +#: stock/models.py:2048 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2050 +#: stock/models.py:2054 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2069 +#: stock/models.py:2073 msgid "Test name" msgstr "" -#: stock/models.py:2075 +#: stock/models.py:2079 msgid "Test result" msgstr "" -#: stock/models.py:2081 +#: stock/models.py:2085 msgid "Test output value" msgstr "" -#: stock/models.py:2088 +#: stock/models.py:2092 msgid "Test result attachment" msgstr "" -#: stock/models.py:2094 +#: stock/models.py:2098 msgid "Test notes" msgstr "" @@ -6064,7 +6054,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:865 stock/serializers.py:1098 +#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 msgid "Destination stock location" msgstr "" @@ -6104,63 +6094,63 @@ msgstr "" msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:707 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:724 +#: stock/serializers.py:711 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:728 +#: stock/serializers.py:715 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:759 +#: stock/serializers.py:746 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:765 +#: stock/serializers.py:752 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:773 +#: stock/serializers.py:760 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:783 stock/serializers.py:1014 +#: stock/serializers.py:770 stock/serializers.py:1001 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:872 +#: stock/serializers.py:859 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:877 +#: stock/serializers.py:864 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:878 +#: stock/serializers.py:865 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:883 +#: stock/serializers.py:870 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:884 +#: stock/serializers.py:871 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:894 +#: stock/serializers.py:881 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:976 +#: stock/serializers.py:963 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1004 +#: stock/serializers.py:991 msgid "Stock transaction notes" msgstr "" @@ -6185,7 +6175,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:298 msgid "Delete Test Data" msgstr "" @@ -6197,11 +6187,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2733 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2743 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:292 templates/js/translated/stock.js:1455 +#: stock/templates/stock/item.html:290 +msgid "Delete all test results for this stock item" +msgstr "" + +#: stock/templates/stock/item.html:323 templates/js/translated/stock.js:1465 msgid "Add Test Result" msgstr "" @@ -6388,7 +6382,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/stock.js:1842 msgid "Last Updated" msgstr "" @@ -6529,7 +6523,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:182 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:144 msgid "Convert Stock Item" msgstr "" @@ -6550,31 +6544,19 @@ msgstr "" msgid "This action cannot be easily undone" msgstr "" -#: stock/views.py:113 +#: stock/views.py:111 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:131 -msgid "Delete All Test Data" -msgstr "" - -#: stock/views.py:149 -msgid "Confirm test data deletion" -msgstr "" - -#: stock/views.py:150 -msgid "Check the confirmation box" -msgstr "" - -#: stock/views.py:165 +#: stock/views.py:127 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:216 +#: stock/views.py:178 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:229 +#: stock/views.py:191 msgid "Delete Stock Item" msgstr "" @@ -7317,8 +7299,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:56 templates/js/translated/modals.js:595 -#: templates/js/translated/modals.js:689 templates/js/translated/modals.js:997 +#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 +#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 #: templates/js/translated/order.js:928 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7390,6 +7372,10 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:630 +msgid "Confirm" +msgstr "" + #: templates/account/email_confirm.html:27 #, python-format msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." @@ -7562,7 +7548,7 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:112 msgid "Delete Attachments" msgstr "" @@ -7596,15 +7582,15 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1425 +#: templates/js/translated/bom.js:1419 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: 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/bom.js:884 templates/js/translated/build.js:1787 +#: templates/js/translated/build.js:2650 templates/js/translated/part.js:571 +#: templates/js/translated/part.js:574 #: templates/js/translated/table_filters.js:178 msgid "Available" msgstr "" @@ -7622,6 +7608,13 @@ msgstr "" msgid "Minimum Quantity" msgstr "" +#: templates/email/new_order_assigned.html:9 +#: templates/email/overdue_build_order.html:9 +#: templates/email/overdue_purchase_order.html:9 +#: templates/email/overdue_sales_order.html:9 +msgid "Click on the following link to view this order" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -7638,91 +7631,91 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:235 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1073 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1074 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:242 +#: templates/js/translated/api.js:202 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:243 +#: templates/js/translated/api.js:203 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1083 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1084 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:252 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1088 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:253 templates/js/translated/modals.js:1083 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1089 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1093 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1088 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1094 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:262 +#: templates/js/translated/api.js:222 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:263 +#: templates/js/translated/api.js:223 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:267 templates/js/translated/modals.js:1092 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1098 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:268 templates/js/translated/modals.js:1093 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1099 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:271 +#: templates/js/translated/api.js:231 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:272 +#: templates/js/translated/api.js:232 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:96 +#: templates/js/translated/attachment.js:98 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:156 +#: templates/js/translated/attachment.js:152 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:180 +#: templates/js/translated/attachment.js:176 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:246 +#: templates/js/translated/attachment.js:242 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:262 +#: templates/js/translated/attachment.js:264 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:269 +#: templates/js/translated/attachment.js:271 msgid "Delete attachment" msgstr "" @@ -7755,7 +7748,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "Invalid server response" msgstr "" @@ -7783,7 +7776,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999 +#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:998 msgid "Remove stock item" msgstr "" @@ -7918,89 +7911,89 @@ msgstr "" msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:682 +#: templates/js/translated/bom.js:684 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:697 +#: templates/js/translated/bom.js:699 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:824 +#: templates/js/translated/bom.js:818 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:834 +#: templates/js/translated/bom.js:828 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:838 templates/js/translated/build.js:1769 +#: templates/js/translated/bom.js:832 templates/js/translated/build.js:1769 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/bom.js:900 templates/js/translated/build.js:1814 #: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:910 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:904 templates/js/translated/build.js:1818 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:912 templates/js/translated/build.js:1820 -#: templates/js/translated/part.js:690 +#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1820 +#: templates/js/translated/part.js:734 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:914 templates/js/translated/build.js:1822 +#: templates/js/translated/bom.js:908 templates/js/translated/build.js:1822 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:928 +#: templates/js/translated/bom.js:922 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:943 +#: templates/js/translated/bom.js:937 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:950 +#: templates/js/translated/bom.js:944 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:999 templates/js/translated/bom.js:1090 +#: templates/js/translated/bom.js:993 templates/js/translated/bom.js:1084 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1061 +#: templates/js/translated/bom.js:1055 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1063 +#: templates/js/translated/bom.js:1057 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1065 +#: templates/js/translated/bom.js:1059 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1067 templates/js/translated/bom.js:1228 +#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1222 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1069 +#: templates/js/translated/bom.js:1063 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1164 templates/js/translated/build.js:1615 +#: templates/js/translated/bom.js:1158 templates/js/translated/build.js:1615 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1408 templates/js/translated/build.js:1753 +#: templates/js/translated/bom.js:1402 templates/js/translated/build.js:1753 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1430 +#: templates/js/translated/bom.js:1424 msgid "Inherited from parent BOM" msgstr "" @@ -8040,13 +8033,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91 -#: templates/js/translated/stock.js:181 +#: templates/js/translated/build.js:259 templates/js/translated/stock.js:90 +#: templates/js/translated/stock.js:180 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93 -#: templates/js/translated/stock.js:183 +#: templates/js/translated/build.js:261 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:182 msgid "Latest serial number" msgstr "" @@ -8259,9 +8252,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: 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 +#: templates/js/translated/build.js:2448 templates/js/translated/part.js:1358 +#: templates/js/translated/part.js:1825 templates/js/translated/stock.js:1629 +#: templates/js/translated/stock.js:2287 msgid "Select" msgstr "" @@ -8273,7 +8266,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2519 +#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2529 msgid "No user information" msgstr "" @@ -8285,107 +8278,107 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:169 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:168 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:157 templates/js/translated/order.js:506 +#: templates/js/translated/company.js:156 templates/js/translated/order.js:506 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:185 +#: templates/js/translated/company.js:184 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:200 +#: templates/js/translated/company.js:199 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:249 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:263 +#: templates/js/translated/company.js:264 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:342 +#: templates/js/translated/company.js:336 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:413 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:428 +#: templates/js/translated/company.js:422 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:443 +#: templates/js/translated/company.js:437 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:478 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:492 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:526 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:548 +#: templates/js/translated/company.js:539 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:595 +#: templates/js/translated/company.js:580 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:615 -#: templates/js/translated/company.js:874 templates/js/translated/part.js:565 -#: templates/js/translated/part.js:650 +#: templates/js/translated/company.js:600 +#: templates/js/translated/company.js:859 templates/js/translated/part.js:609 +#: templates/js/translated/part.js:694 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:619 -#: templates/js/translated/company.js:878 templates/js/translated/part.js:569 -#: templates/js/translated/part.js:654 +#: templates/js/translated/company.js:604 +#: templates/js/translated/company.js:863 templates/js/translated/part.js:613 +#: templates/js/translated/part.js:698 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:747 templates/js/translated/part.js:757 +#: templates/js/translated/company.js:732 templates/js/translated/part.js:801 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:799 +#: templates/js/translated/company.js:769 templates/js/translated/part.js:843 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:785 templates/js/translated/part.js:800 +#: templates/js/translated/company.js:770 templates/js/translated/part.js:844 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:804 templates/js/translated/part.js:817 +#: templates/js/translated/company.js:789 templates/js/translated/part.js:861 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:815 templates/js/translated/part.js:829 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:873 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:854 +#: templates/js/translated/company.js:839 msgid "No supplier parts found" msgstr "" @@ -8448,36 +8441,36 @@ msgstr "" msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:756 +#: templates/js/translated/forms.js:757 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1248 templates/modals.html:19 +#: templates/js/translated/forms.js:1249 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1681 +#: templates/js/translated/forms.js:1682 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1896 templates/search.html:29 +#: templates/js/translated/forms.js:1897 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2149 +#: templates/js/translated/forms.js:2150 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2627 +#: templates/js/translated/forms.js:2628 msgid "Select Columns" msgstr "" @@ -8498,7 +8491,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1023 +#: templates/js/translated/stock.js:1022 msgid "Select Stock Items" msgstr "" @@ -8552,12 +8545,12 @@ msgid "Select Label Template" msgstr "" #: templates/js/translated/modals.js:82 templates/js/translated/modals.js:142 -#: templates/js/translated/modals.js:621 +#: templates/js/translated/modals.js:627 msgid "Cancel" msgstr "" #: 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/js/translated/modals.js:694 templates/js/translated/modals.js:1002 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" @@ -8566,47 +8559,47 @@ msgstr "" msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:403 +#: templates/js/translated/modals.js:421 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:562 +#: templates/js/translated/modals.js:568 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:620 +#: templates/js/translated/modals.js:626 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:677 +#: templates/js/translated/modals.js:683 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:960 +#: templates/js/translated/modals.js:966 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1072 +#: templates/js/translated/modals.js:1078 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1073 +#: templates/js/translated/modals.js:1079 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1096 +#: templates/js/translated/modals.js:1102 msgid "Error requesting form data" msgstr "" @@ -8656,11 +8649,11 @@ msgstr "" msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:259 +#: templates/js/translated/notification.js:260 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:300 templates/notifications.html:10 +#: templates/js/translated/notification.js:302 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" @@ -8804,7 +8797,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2080 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2090 msgid "Stock Status" msgstr "" @@ -8828,7 +8821,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1602 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1602 templates/js/translated/part.js:914 msgid "No purchase orders found" msgstr "" @@ -8863,7 +8856,7 @@ msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 #: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 -#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 +#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2397 msgid "Unit Price" msgstr "" @@ -8873,11 +8866,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:1993 templates/js/translated/order.js:3525 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:1023 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1069 msgid "Receive line item" msgstr "" @@ -8998,7 +8991,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1535 +#: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" @@ -9138,165 +9131,209 @@ msgstr "" msgid "Create Part Variant" msgstr "" +#: templates/js/translated/part.js:405 +msgid "Active Part" +msgstr "" + +#: templates/js/translated/part.js:406 +msgid "Part cannot be deleted as it is currently active" +msgstr "" + +#: templates/js/translated/part.js:420 +msgid "Deleting this part cannot be reversed" +msgstr "" + +#: templates/js/translated/part.js:422 +msgid "Any stock items for this part will be deleted" +msgstr "" + #: templates/js/translated/part.js:423 +msgid "This part will be removed from any Bills of Material" +msgstr "" + +#: templates/js/translated/part.js:424 +msgid "All manufacturer and supplier information for this part will be deleted" +msgstr "" + +#: templates/js/translated/part.js:431 +msgid "Delete Part" +msgstr "" + +#: templates/js/translated/part.js:467 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:425 +#: templates/js/translated/part.js:469 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:474 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:476 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:493 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:503 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:506 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:487 +#: templates/js/translated/part.js:531 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:513 templates/js/translated/part.js:1397 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1441 #: templates/js/translated/table_filters.js:452 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:523 templates/js/translated/part.js:1409 +#: templates/js/translated/part.js:567 templates/js/translated/part.js:1453 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:557 templates/js/translated/part.js:642 +#: templates/js/translated/part.js:601 templates/js/translated/part.js:686 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:561 templates/js/translated/part.js:646 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:690 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:617 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:577 +#: templates/js/translated/part.js:621 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:705 +#: templates/js/translated/part.js:749 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1095 +#: templates/js/translated/part.js:1139 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1119 +#: templates/js/translated/part.js:1163 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1184 templates/js/translated/part.js:1480 +#: templates/js/translated/part.js:1228 templates/js/translated/part.js:1524 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1223 +#: templates/js/translated/part.js:1267 msgid "Not available" msgstr "" -#: templates/js/translated/part.js:1374 +#: templates/js/translated/part.js:1418 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664 -#: templates/js/translated/stock.js:2238 +#: templates/js/translated/part.js:1548 templates/js/translated/part.js:1760 +#: templates/js/translated/stock.js:2248 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1520 +#: templates/js/translated/part.js:1564 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2257 +#: templates/js/translated/part.js:1630 +msgid "Set the part category for the selected parts" +msgstr "" + +#: templates/js/translated/part.js:1635 +msgid "Set Part Category" +msgstr "" + +#: templates/js/translated/part.js:1640 +msgid "Select Part Category" +msgstr "" + +#: templates/js/translated/part.js:1653 +msgid "Category is required" +msgstr "" + +#: templates/js/translated/part.js:1779 templates/js/translated/stock.js:2267 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1747 +#: templates/js/translated/part.js:1843 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2301 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2311 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:1901 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1233 +#: templates/js/translated/part.js:1952 templates/js/translated/stock.js:1243 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1234 -#: templates/js/translated/stock.js:1493 +#: templates/js/translated/part.js:1953 templates/js/translated/stock.js:1244 +#: templates/js/translated/stock.js:1503 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1863 +#: templates/js/translated/part.js:1959 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1885 +#: templates/js/translated/part.js:1981 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:1995 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1924 +#: templates/js/translated/part.js:2020 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1981 +#: templates/js/translated/part.js:2077 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1982 +#: templates/js/translated/part.js:2078 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:2096 +#: templates/js/translated/part.js:2192 msgid "Current Stock" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2225 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2155 +#: templates/js/translated/part.js:2251 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2225 +#: templates/js/translated/part.js:2321 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:2244 +#: templates/js/translated/part.js:2340 msgid "Single Price Difference" msgstr "" @@ -9378,360 +9415,360 @@ msgstr "" msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:72 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:101 +#: templates/js/translated/stock.js:100 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:109 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:139 +#: templates/js/translated/stock.js:138 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:153 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:194 +#: templates/js/translated/stock.js:193 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:233 +#: templates/js/translated/stock.js:232 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:239 +#: templates/js/translated/stock.js:238 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:303 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:324 +#: templates/js/translated/stock.js:323 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:344 +#: templates/js/translated/stock.js:343 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:394 +#: templates/js/translated/stock.js:393 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:407 +#: templates/js/translated/stock.js:406 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:431 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:453 +#: templates/js/translated/stock.js:452 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:472 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:481 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:605 +#: templates/js/translated/stock.js:604 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:606 +#: templates/js/translated/stock.js:605 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:683 +#: templates/js/translated/stock.js:682 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:684 +#: templates/js/translated/stock.js:683 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:686 +#: templates/js/translated/stock.js:685 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:687 +#: templates/js/translated/stock.js:686 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:772 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:774 +#: templates/js/translated/stock.js:773 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:869 +#: templates/js/translated/stock.js:868 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:869 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:876 +#: templates/js/translated/stock.js:875 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:876 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:881 +#: templates/js/translated/stock.js:880 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:882 +#: templates/js/translated/stock.js:881 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:886 +#: templates/js/translated/stock.js:885 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:887 users/models.py:215 +#: templates/js/translated/stock.js:886 users/models.py:215 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1024 +#: templates/js/translated/stock.js:1023 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1047 +#: templates/js/translated/stock.js:1046 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1172 +#: templates/js/translated/stock.js:1182 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1174 +#: templates/js/translated/stock.js:1184 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1179 +#: templates/js/translated/stock.js:1189 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1226 +#: templates/js/translated/stock.js:1236 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1229 +#: templates/js/translated/stock.js:1239 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1255 +#: templates/js/translated/stock.js:1265 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1321 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1476 +#: templates/js/translated/stock.js:1486 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1498 +#: templates/js/translated/stock.js:1508 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1527 +#: templates/js/translated/stock.js:1537 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1531 +#: templates/js/translated/stock.js:1541 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1539 +#: templates/js/translated/stock.js:1549 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1545 +#: templates/js/translated/stock.js:1555 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1712 +#: templates/js/translated/stock.js:1722 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1727 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1720 +#: templates/js/translated/stock.js:1730 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1723 +#: templates/js/translated/stock.js:1733 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1725 +#: templates/js/translated/stock.js:1735 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1727 +#: templates/js/translated/stock.js:1737 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1730 +#: templates/js/translated/stock.js:1740 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1734 +#: templates/js/translated/stock.js:1744 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1746 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1743 +#: templates/js/translated/stock.js:1753 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1755 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:1757 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1751 +#: templates/js/translated/stock.js:1761 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1802 +#: templates/js/translated/stock.js:1812 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1894 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1932 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2095 +#: templates/js/translated/stock.js:2105 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2109 +#: templates/js/translated/stock.js:2119 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2120 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2375 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2381 +#: templates/js/translated/stock.js:2391 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2403 +#: templates/js/translated/stock.js:2413 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2422 +#: templates/js/translated/stock.js:2432 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2441 +#: templates/js/translated/stock.js:2451 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2459 +#: templates/js/translated/stock.js:2469 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2482 +#: templates/js/translated/stock.js:2492 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2490 +#: templates/js/translated/stock.js:2500 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2566 +#: templates/js/translated/stock.js:2576 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2617 templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2663 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2666 +#: templates/js/translated/stock.js:2676 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2697 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2688 +#: templates/js/translated/stock.js:2698 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2690 +#: templates/js/translated/stock.js:2700 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/stock.js:2701 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2702 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2693 +#: templates/js/translated/stock.js:2703 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2716 msgid "Select part to install" msgstr "" diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po index 9109303ea1..519da2a1ad 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-06-05 14:26+0000\n" -"PO-Revision-Date: 2022-06-05 14:34\n" +"POT-Creation-Date: 2022-06-06 22:59+0000\n" +"PO-Revision-Date: 2022-06-07 14:34\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:46 +#: InvenTree/api.py:49 msgid "API endpoint not found" msgstr "API uç noktası bulunamadı" @@ -29,275 +29,273 @@ msgstr "" msgid "Enter date" msgstr "Tarih giriniz" -#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:630 -msgid "Confirm" -msgstr "Onay" - -#: InvenTree/forms.py:134 +#: InvenTree/forms.py:117 msgid "Confirm delete" msgstr "Silmeyi Onayla" -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:118 msgid "Confirm item deletion" msgstr "Silmeyi onayla" -#: InvenTree/forms.py:167 +#: InvenTree/forms.py:150 msgid "Enter password" msgstr "Şifrenizi girin" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:151 msgid "Enter new password" msgstr "Lütfen Yeni Parolayı Girin" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:158 msgid "Confirm password" msgstr "Parolayı doğrulayın" -#: InvenTree/forms.py:176 +#: InvenTree/forms.py:159 msgid "Confirm new password" msgstr "Yeni parolayı doğrulayın" -#: InvenTree/forms.py:213 -msgid "Select Category" -msgstr "Kategori Seçin" - -#: InvenTree/forms.py:234 +#: InvenTree/forms.py:184 msgid "Email (again)" msgstr "E-posta (tekrar)" -#: InvenTree/forms.py:238 +#: InvenTree/forms.py:188 msgid "Email address confirmation" msgstr "E-posta adresi onayı" -#: InvenTree/forms.py:259 +#: InvenTree/forms.py:209 msgid "You must type the same email each time." msgstr "Her seferind eaynı e-posta adresini yazmalısınız." -#: InvenTree/helpers.py:402 +#: InvenTree/helpers.py:404 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "Tekrarlanan seri no:{sn}" -#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 +#: InvenTree/helpers.py:411 order/models.py:370 order/models.py:522 msgid "Invalid quantity provided" msgstr "Geçersiz veri sağlandı" -#: InvenTree/helpers.py:412 +#: InvenTree/helpers.py:414 msgid "Empty serial number string" msgstr "Boş seri numarası dizesi" -#: InvenTree/helpers.py:444 +#: InvenTree/helpers.py:446 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:447 +#: InvenTree/helpers.py:449 #, python-brace-format msgid "Invalid group: {g}" msgstr "Geçersiz grup: {g}" -#: InvenTree/helpers.py:475 +#: InvenTree/helpers.py:477 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:483 +#: InvenTree/helpers.py:485 #, python-brace-format msgid "Invalid/no group {group}" msgstr "Geçersiz grup: {group}" -#: InvenTree/helpers.py:489 +#: InvenTree/helpers.py:491 msgid "No serial numbers found" msgstr "Seri numarası bulunamadı" -#: InvenTree/helpers.py:493 +#: InvenTree/helpers.py:495 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:174 +#: InvenTree/models.py:178 msgid "Missing file" msgstr "Eksik dosya" -#: InvenTree/models.py:175 +#: InvenTree/models.py:179 msgid "Missing external link" msgstr "Bozuk dış bağlantı" -#: InvenTree/models.py:187 stock/models.py:2087 -#: templates/js/translated/attachment.js:101 -#: templates/js/translated/attachment.js:198 +#: InvenTree/models.py:191 stock/models.py:2091 +#: templates/js/translated/attachment.js:103 +#: templates/js/translated/attachment.js:194 msgid "Attachment" msgstr "Ek" -#: InvenTree/models.py:188 +#: InvenTree/models.py:192 msgid "Select file to attach" msgstr "Eklenecek dosyayı seç" -#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 -#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: InvenTree/models.py:198 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:136 order/models.py:1251 #: 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 -#: templates/js/translated/part.js:1441 +#: templates/js/translated/company.js:640 +#: templates/js/translated/company.js:931 templates/js/translated/order.js:2676 +#: templates/js/translated/part.js:1485 msgid "Link" msgstr "Bağlantı" -#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: InvenTree/models.py:199 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:198 templates/js/translated/attachment.js:102 -#: templates/js/translated/attachment.js:242 +#: InvenTree/models.py:202 templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:238 msgid "Comment" msgstr "Yorum" -#: InvenTree/models.py:198 +#: InvenTree/models.py:202 msgid "File comment" msgstr "Dosya yorumu" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1506 +#: common/models.py:1507 common/models.py:1735 common/models.py:1736 +#: common/models.py:1998 common/models.py:1999 part/models.py:2141 +#: part/models.py:2161 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:2523 msgid "User" msgstr "Kullanıcı" -#: InvenTree/models.py:208 +#: InvenTree/models.py:212 msgid "upload date" msgstr "yükleme tarihi" -#: InvenTree/models.py:230 +#: InvenTree/models.py:234 msgid "Filename must not be empty" msgstr "Dosya adı boş olamaz" -#: InvenTree/models.py:253 +#: InvenTree/models.py:257 msgid "Invalid attachment directory" msgstr "Ek dosya yolu geçersiz" -#: InvenTree/models.py:263 +#: InvenTree/models.py:267 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Dosya adı geçersiz karakterler içeriyor'{c}'" -#: InvenTree/models.py:266 +#: InvenTree/models.py:270 msgid "Filename missing extension" msgstr "Dosya uzantısı yok" -#: InvenTree/models.py:273 +#: InvenTree/models.py:277 msgid "Attachment with this filename already exists" msgstr "Aynı isimli başka bir dosya zaten var" -#: InvenTree/models.py:280 +#: InvenTree/models.py:284 msgid "Error renaming file" msgstr "Dosya adı değiştirilirken hata" -#: InvenTree/models.py:314 +#: InvenTree/models.py:318 msgid "Invalid choice" msgstr "Geçersiz seçim" -#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 #: company/models.py:354 label/models.py:101 part/models.py:739 -#: part/models.py:2331 plugin/models.py:93 report/models.py:151 +#: part/models.py:2319 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 #: templates/InvenTree/settings/plugin.html:132 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:346 -#: 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:2283 +#: templates/js/translated/company.js:530 +#: templates/js/translated/company.js:742 templates/js/translated/part.js:659 +#: templates/js/translated/part.js:811 templates/js/translated/part.js:1832 +#: templates/js/translated/stock.js:2293 msgid "Name" msgstr "Adı" -#: InvenTree/models.py:340 build/models.py:197 +#: InvenTree/models.py:344 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: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:164 +#: order/models.py:134 part/models.py:762 part/templates/part/category.html:74 +#: part/templates/part/part_base.html:167 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 -#: 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/bom.js:553 templates/js/translated/bom.js:845 +#: templates/js/translated/build.js:2476 templates/js/translated/company.js:395 +#: templates/js/translated/company.js:651 +#: templates/js/translated/company.js:942 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:1676 -#: templates/js/translated/stock.js:2295 templates/js/translated/stock.js:2350 +#: templates/js/translated/part.js:718 templates/js/translated/part.js:1126 +#: templates/js/translated/part.js:1399 templates/js/translated/part.js:1851 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:1686 +#: templates/js/translated/stock.js:2305 templates/js/translated/stock.js:2360 msgid "Description" msgstr "Açıklama" -#: InvenTree/models.py:341 +#: InvenTree/models.py:345 msgid "Description (optional)" msgstr "Açıklama (isteğe bağlı)" -#: InvenTree/models.py:349 +#: InvenTree/models.py:353 msgid "parent" msgstr "üst" -#: InvenTree/serializers.py:52 part/models.py:2652 +#: InvenTree/models.py:466 +msgid "Server Error" +msgstr "" + +#: InvenTree/models.py:467 +msgid "An error has been logged by the server." +msgstr "" + +#: InvenTree/serializers.py:52 part/models.py:2640 msgid "Must be a valid number" msgstr "Geçerli bir numara olmalı" -#: InvenTree/serializers.py:271 +#: InvenTree/serializers.py:263 msgid "Filename" msgstr "Dosya adı" -#: InvenTree/serializers.py:306 +#: InvenTree/serializers.py:298 msgid "Invalid value" msgstr "Geçersiz değer" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:320 msgid "Data File" msgstr "Veri Dosyası" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:321 msgid "Select data file for upload" msgstr "Yüklemek istediğiniz dosyayı seçin" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:342 msgid "Unsupported file type" msgstr "Desteklenmeyen dsoya tipi" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:348 msgid "File is too large" msgstr "Dosya boyutu çok büyük" -#: InvenTree/serializers.py:377 +#: InvenTree/serializers.py:369 msgid "No columns found in file" msgstr "Dosyada kolon bulunamadı" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:372 msgid "No data rows found in file" msgstr "Dosyada satır bulunamadı" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:495 msgid "No data rows provided" msgstr "Dosyada satır bulunamadı" -#: InvenTree/serializers.py:506 +#: InvenTree/serializers.py:498 msgid "No data columns supplied" msgstr "Dosyada uygun kolon bulunamadı" -#: InvenTree/serializers.py:583 +#: InvenTree/serializers.py:575 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Gerekli kolon ismi eksik:'{name}'" -#: InvenTree/serializers.py:592 +#: InvenTree/serializers.py:584 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Tekrarlanan kolon ismi:'{col}'" @@ -440,7 +438,7 @@ msgstr "Kayıp" msgid "Returned" msgstr "İade" -#: InvenTree/status_codes.py:141 order/models.py:1114 +#: InvenTree/status_codes.py:141 order/models.py:1130 #: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "Sevk edildi" @@ -525,7 +523,7 @@ msgstr "Üst ögeden ayır" msgid "Split child item" msgstr "Alt ögeyi ayır" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2020 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2030 msgid "Merged stock items" msgstr "Stok parçalarını birleştir" @@ -597,27 +595,27 @@ msgstr "Fazlalık %100'ü geçmemelidir" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:522 +#: InvenTree/views.py:521 msgid "Delete Item" msgstr "Ögeyi Sil" -#: InvenTree/views.py:571 +#: InvenTree/views.py:570 msgid "Check box to confirm item deletion" msgstr "Öge silme işlemini onaylamak için kutuyu işaretleyin" -#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:585 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "Kullanıcı Bilgisini Düzenle" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:597 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "Şifre Belirle" -#: InvenTree/views.py:618 +#: InvenTree/views.py:617 msgid "Password fields must match" msgstr "Parola alanları eşleşmelidir" -#: InvenTree/views.py:842 templates/navbar.html:152 +#: InvenTree/views.py:807 templates/navbar.html:152 msgid "System Information" msgstr "Sistem Bilgisi" @@ -628,6 +626,7 @@ msgstr "" #: 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/email/overdue_build_order.html:15 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "Yapım İşi Emri" @@ -646,12 +645,12 @@ msgstr "Yapım İşi Emirleri" msgid "Build Order Reference" msgstr "Yapım İşi Emri Referansı" -#: build/models.py:189 order/models.py:288 order/models.py:638 -#: order/models.py:916 part/models.py:2570 +#: build/models.py:189 order/models.py:293 order/models.py:654 +#: order/models.py:932 part/models.py:2558 #: 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/bom.js:690 templates/js/translated/bom.js:852 #: 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:3959 @@ -673,13 +672,12 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: 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:2460 part/models.py:2545 part/models.py:2821 -#: part/serializers.py:793 part/templates/part/part_app_base.html:8 +#: order/models.py:1028 order/models.py:1119 part/models.py:336 +#: part/models.py:2087 part/models.py:2102 part/models.py:2121 +#: part/models.py:2139 part/models.py:2238 part/models.py:2358 +#: part/models.py:2448 part/models.py:2533 part/models.py:2809 +#: part/serializers.py:795 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 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 @@ -687,22 +685,23 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 +#: templates/email/overdue_build_order.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:805 +#: templates/js/translated/bom.js:689 templates/js/translated/bom.js:799 #: 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/company.js:253 +#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:592 +#: templates/js/translated/company.js:851 templates/js/translated/order.js:100 #: templates/js/translated/order.js:883 templates/js/translated/order.js:1315 #: 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:1633 templates/js/translated/stock.js:2376 -#: templates/js/translated/stock.js:2571 templates/js/translated/stock.js:2705 +#: templates/js/translated/part.js:1111 templates/js/translated/part.js:1181 +#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:695 templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2386 +#: templates/js/translated/stock.js:2581 templates/js/translated/stock.js:2715 msgid "Part" msgstr "Parça" @@ -768,12 +767,12 @@ msgstr "Sıra numarası" msgid "Batch code for this build output" msgstr "Yapım işi çıktısı için sıra numarası" -#: build/models.py:282 order/models.py:137 part/models.py:932 +#: build/models.py:282 order/models.py:138 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:286 order/models.py:660 +#: build/models.py:286 order/models.py:676 msgid "Target completion date" msgstr "Hedef tamamlama tarihi" @@ -781,7 +780,7 @@ msgstr "Hedef tamamlama tarihi" 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:290 order/models.py:331 +#: build/models.py:290 order/models.py:336 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "Tamamlama tarihi" @@ -799,7 +798,7 @@ msgid "User who issued this build order" msgstr "Bu yapım işi emrini veren kullanıcı" #: build/models.py:313 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:151 +#: build/templates/build/detail.html:115 order/models.py:152 #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 @@ -822,20 +821,20 @@ msgstr "Harici Bağlantı" #: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 #: company/models.py:519 company/templates/company/sidebar.html:25 -#: order/models.py:155 order/models.py:918 order/models.py:1213 +#: order/models.py:156 order/models.py:934 order/models.py:1229 #: order/templates/order/po_sidebar.html:11 #: 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:713 stock/models.py:1985 stock/models.py:2093 +#: stock/models.py:713 stock/models.py:1989 stock/models.py:2097 #: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:486 -#: stock/serializers.py:772 stock/serializers.py:871 stock/serializers.py:1003 +#: stock/serializers.py:759 stock/serializers.py:858 stock/serializers.py:990 #: 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/barcode.js:100 templates/js/translated/bom.js:1038 +#: templates/js/translated/company.js:947 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 -#: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 +#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1926 msgid "Notes" msgstr "Notlar" @@ -855,44 +854,44 @@ msgstr "Yapım işi çıktısı zaten tamamlanmış" 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:1108 +#: build/models.py:1111 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:1117 +#: build/models.py:1120 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1127 +#: build/models.py:1130 msgid "Stock item is over-allocated" msgstr "Stok kalemi fazladan tahsis edilmiş" -#: build/models.py:1133 order/models.py:1372 +#: build/models.py:1136 order/models.py:1388 msgid "Allocation quantity must be greater than zero" msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır" -#: build/models.py:1139 +#: build/models.py:1142 msgid "Quantity must be 1 for serialized stock" msgstr "Seri numaralı stok için miktar bir olmalı" -#: build/models.py:1196 +#: build/models.py:1199 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1265 stock/templates/stock/item_base.html:177 +#: build/models.py:1268 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:1266 +#: build/models.py:1269 msgid "Build to allocate parts" msgstr "Yapım işi için tahsis edilen parçalar" -#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 -#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:703 -#: stock/serializers.py:829 stock/templates/stock/item_base.html:10 +#: build/models.py:1285 build/serializers.py:603 order/serializers.py:996 +#: order/serializers.py:1017 stock/serializers.py:382 stock/serializers.py:690 +#: stock/serializers.py:816 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 @@ -900,22 +899,22 @@ msgstr "Yapım işi için tahsis edilen parçalar" #: 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:2449 +#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696 +#: templates/js/translated/stock.js:2459 msgid "Stock Item" msgstr "Stok Kalemi" -#: build/models.py:1283 +#: build/models.py:1286 msgid "Source stock item" msgstr "Kaynak stok kalemi" -#: build/models.py:1295 build/serializers.py:183 +#: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1536 +#: build/templates/build/detail.html:34 common/models.py:1543 #: 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:68 -#: part/forms.py:83 part/forms.py:98 part/models.py:2561 +#: order/models.py:925 order/models.py:1428 order/serializers.py:1136 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 +#: part/forms.py:74 part/forms.py:89 part/models.py:2549 #: 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 @@ -926,8 +925,8 @@ msgstr "Kaynak stok kalemi" #: report/templates/report/inventree_test_report_base.html:139 #: 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 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:691 +#: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 #: templates/js/translated/build.js:574 templates/js/translated/build.js:765 #: templates/js/translated/build.js:1175 templates/js/translated/build.js:1673 #: templates/js/translated/build.js:2086 @@ -937,23 +936,23 @@ msgstr "Kaynak stok kalemi" #: 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: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 -#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727 -#: templates/js/translated/stock.js:2498 templates/js/translated/stock.js:2583 +#: templates/js/translated/part.js:1011 templates/js/translated/part.js:2065 +#: templates/js/translated/part.js:2296 templates/js/translated/part.js:2330 +#: templates/js/translated/part.js:2408 templates/js/translated/stock.js:402 +#: templates/js/translated/stock.js:556 templates/js/translated/stock.js:726 +#: templates/js/translated/stock.js:2508 templates/js/translated/stock.js:2593 msgid "Quantity" msgstr "Miktar" -#: build/models.py:1296 +#: build/models.py:1299 msgid "Stock quantity to allocate to build" msgstr "Yapım işi için tahsis edilen stok miktarı" -#: build/models.py:1304 +#: build/models.py:1307 msgid "Install into" msgstr "Kurulduğu yer" -#: build/models.py:1305 +#: build/models.py:1308 msgid "Destination stock item" msgstr "Hedef stok kalemi" @@ -982,9 +981,9 @@ msgstr "" msgid "Enter quantity for build output" msgstr "Yapım işi çıktısı için miktarını girin" -#: 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:1239 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:368 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:514 +#: part/serializers.py:958 stock/models.py:470 stock/models.py:1239 #: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" @@ -997,9 +996,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 #: stock/serializers.py:297 templates/js/translated/order.js:1186 -#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:237 templates/js/translated/stock.js:403 msgid "Serial Numbers" msgstr "Seri Numaraları" @@ -1015,7 +1014,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:552 +#: build/serializers.py:268 stock/api.py:553 msgid "The following serial numbers already exist" msgstr "" @@ -1025,16 +1024,16 @@ msgstr "" #: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 #: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:481 -#: stock/serializers.py:864 stock/serializers.py:1097 +#: stock/serializers.py:851 stock/serializers.py:1084 #: 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 #: 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:1787 templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532 +#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904 +#: templates/js/translated/stock.js:1797 templates/js/translated/stock.js:2400 msgid "Location" msgstr "Konum" @@ -1043,12 +1042,12 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:363 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:654 +#: build/templates/build/detail.html:62 order/models.py:670 #: 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 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1772 +#: templates/js/translated/stock.js:2477 templates/js/translated/stock.js:2609 msgid "Status" msgstr "Durum" @@ -1108,8 +1107,8 @@ msgstr "" msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:535 build/serializers.py:580 part/models.py:2679 -#: part/models.py:2813 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2667 +#: part/models.py:2801 msgid "BOM Item" msgstr "" @@ -1125,11 +1124,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:716 +#: build/serializers.py:609 stock/serializers.py:703 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:667 order/serializers.py:1052 +#: build/serializers.py:667 order/serializers.py:1054 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1146,7 +1145,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:708 order/serializers.py:1298 +#: build/serializers.py:708 order/serializers.py:1300 msgid "Allocation items must be provided" msgstr "" @@ -1178,10 +1177,19 @@ msgstr "" msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:96 +#: build/tasks.py:100 msgid "Stock required for build order" msgstr "" +#: build/tasks.py:118 +msgid "Overdue Build Order" +msgstr "" + +#: build/tasks.py:123 +#, python-brace-format +msgid "Build order {bo} is now overdue" +msgstr "" + #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 #: order/templates/order/sales_order_base.html:38 @@ -1244,13 +1252,13 @@ 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:922 +#: build/templates/build/detail.html:131 order/models.py:938 #: 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: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 +#: templates/js/translated/order.js:3517 templates/js/translated/part.js:1015 msgid "Target Date" msgstr "Hedeflenen tarih" @@ -1277,13 +1285,14 @@ msgid "Completed" msgstr "Tamamlandı" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1100 -#: order/models.py:1185 order/models.py:1320 +#: build/templates/build/detail.html:94 order/models.py:1116 +#: order/models.py:1201 order/models.py:1336 #: 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/email/overdue_sales_order.html:15 #: templates/js/translated/order.js:2436 msgid "Sales Order" msgstr "Sipariş Emri" @@ -1319,7 +1328,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:1034 +#: build/templates/build/detail.html:49 order/models.py:1050 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "Hedef" @@ -1336,8 +1345,8 @@ msgstr "" #: stock/templates/stock/item_base.html:170 #: templates/js/translated/build.js:1179 #: templates/js/translated/model_renderers.js:112 -#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1776 -#: templates/js/translated/stock.js:2606 +#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:2616 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1716,7 +1725,7 @@ msgstr "Kategori Paremetre Sablonu Kopyala" msgid "Copy category parameter templates when creating a part" msgstr "Parça oluştururken kategori parametre şablonlarını kopyala" -#: common/models.py:820 part/models.py:2372 report/models.py:157 +#: common/models.py:820 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" @@ -1726,7 +1735,7 @@ msgstr "Şablon" msgid "Parts are templates by default" msgstr "Parçaları varsayılan olan şablondur" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" @@ -1880,576 +1889,584 @@ msgid "Default page size for PDF reports" msgstr "PDF raporlar için varsayılan sayfa boyutu" #: common/models.py:968 -msgid "Test Reports" -msgstr "Test Raporları" +msgid "Enable Test Reports" +msgstr "" #: common/models.py:969 msgid "Enable generation of test reports" msgstr "" #: common/models.py:975 -msgid "Batch Code Template" +msgid "Attach Test Reports" msgstr "" #: common/models.py:976 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:981 -msgid "Stock Expiry" +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" #: common/models.py:982 -msgid "Enable stock expiry functionality" +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:983 +msgid "Template for generating default batch codes for stock items" msgstr "" #: common/models.py:988 -msgid "Sell Expired Stock" +msgid "Stock Expiry" msgstr "" #: common/models.py:989 -msgid "Allow sale of expired stock" +msgid "Enable stock expiry functionality" msgstr "" #: common/models.py:995 -msgid "Stock Stale Time" +msgid "Sell Expired Stock" msgstr "" #: common/models.py:996 +msgid "Allow sale of expired stock" +msgstr "" + +#: common/models.py:1002 +msgid "Stock Stale Time" +msgstr "" + +#: common/models.py:1003 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:998 +#: common/models.py:1005 msgid "days" msgstr "günler" -#: common/models.py:1003 +#: common/models.py:1010 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1004 +#: common/models.py:1011 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1010 +#: common/models.py:1017 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1011 +#: common/models.py:1018 msgid "Enable ownership control over stock locations and items" msgstr "Stok konumu ve ögeler üzerinde sahiplik kontrolünü etkinleştirin" -#: common/models.py:1017 +#: common/models.py:1024 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1018 +#: common/models.py:1025 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1023 +#: common/models.py:1030 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1024 +#: common/models.py:1031 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1029 +#: common/models.py:1036 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1041 +#: common/models.py:1048 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1042 +#: common/models.py:1049 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1048 +#: common/models.py:1055 msgid "Enable password forgot" msgstr "" -#: common/models.py:1049 +#: common/models.py:1056 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1055 +#: common/models.py:1062 msgid "Enable registration" msgstr "" -#: common/models.py:1056 +#: common/models.py:1063 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1069 msgid "Enable SSO" msgstr "" -#: common/models.py:1063 +#: common/models.py:1070 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1069 +#: common/models.py:1076 msgid "Email required" msgstr "" -#: common/models.py:1070 +#: common/models.py:1077 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1076 +#: common/models.py:1083 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1077 +#: common/models.py:1084 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1083 +#: common/models.py:1090 msgid "Mail twice" msgstr "" -#: common/models.py:1084 +#: common/models.py:1091 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1090 +#: common/models.py:1097 msgid "Password twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1098 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1097 +#: common/models.py:1104 msgid "Group on signup" msgstr "" -#: common/models.py:1098 +#: common/models.py:1105 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1104 +#: common/models.py:1111 msgid "Enforce MFA" msgstr "" -#: common/models.py:1105 +#: common/models.py:1112 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1111 +#: common/models.py:1118 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1112 +#: common/models.py:1119 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1120 +#: common/models.py:1127 msgid "Enable URL integration" msgstr "" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1136 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1136 +#: common/models.py:1143 msgid "Enable app integration" msgstr "" -#: common/models.py:1137 +#: common/models.py:1144 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1144 +#: common/models.py:1151 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1145 +#: common/models.py:1152 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1152 +#: common/models.py:1159 msgid "Enable event integration" msgstr "" -#: common/models.py:1153 +#: common/models.py:1160 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1170 common/models.py:1492 +#: common/models.py:1177 common/models.py:1499 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1192 +#: common/models.py:1199 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1193 +#: common/models.py:1200 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1199 +#: common/models.py:1206 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1200 +#: common/models.py:1207 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1213 msgid "Show latest parts" msgstr "" -#: common/models.py:1207 +#: common/models.py:1214 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1213 +#: common/models.py:1220 msgid "Recent Part Count" msgstr "" -#: common/models.py:1214 +#: common/models.py:1221 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1220 +#: common/models.py:1227 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1221 +#: common/models.py:1228 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1227 +#: common/models.py:1234 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1228 +#: common/models.py:1235 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1235 +#: common/models.py:1242 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Show low stock" msgstr "" -#: common/models.py:1242 +#: common/models.py:1249 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Show depleted stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1256 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1262 msgid "Show needed stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1263 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1269 msgid "Show expired stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1270 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1276 msgid "Show stale stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Show pending builds" msgstr "" -#: common/models.py:1277 +#: common/models.py:1284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Show overdue builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1291 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1291 +#: common/models.py:1298 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Show overdue POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1305 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1312 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1318 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1319 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1317 +#: common/models.py:1324 msgid "Enable label printing" msgstr "" -#: common/models.py:1318 +#: common/models.py:1325 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1324 +#: common/models.py:1331 msgid "Inline label display" msgstr "" -#: common/models.py:1325 +#: common/models.py:1332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1331 +#: common/models.py:1338 msgid "Inline report display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1345 msgid "Search Parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1345 +#: common/models.py:1352 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1359 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1366 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1367 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1373 msgid "Search Categories" msgstr "" -#: common/models.py:1367 +#: common/models.py:1374 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1380 msgid "Search Stock" msgstr "" -#: common/models.py:1374 +#: common/models.py:1381 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1387 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1381 +#: common/models.py:1388 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1394 msgid "Search Locations" msgstr "" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1401 msgid "Search Companies" msgstr "" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1408 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1415 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1422 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1429 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Search Preview Results" msgstr "" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Show Quantity in Forms" msgstr "Formlarda Miktarı Göster" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1457 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1457 +#: common/models.py:1464 msgid "Date Format" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1472 part/templates/part/detail.html:39 +#: common/models.py:1479 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1473 +#: common/models.py:1480 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1537 company/forms.py:37 +#: common/models.py:1544 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: 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 +#: common/models.py:1551 company/serializers.py:290 +#: company/templates/company/supplier_part.html:263 order/models.py:965 +#: templates/js/translated/part.js:1042 templates/js/translated/part.js:2070 msgid "Price" msgstr "Fiyat" -#: common/models.py:1545 +#: common/models.py:1552 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1705 common/models.py:1883 +#: common/models.py:1712 common/models.py:1890 msgid "Endpoint" msgstr "" -#: common/models.py:1706 +#: common/models.py:1713 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1715 +#: common/models.py:1722 msgid "Name for this webhook" msgstr "" -#: common/models.py:1720 part/models.py:911 plugin/models.py:99 +#: common/models.py:1727 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 @@ -2457,79 +2474,89 @@ msgstr "" msgid "Active" msgstr "Aktif" -#: common/models.py:1721 +#: common/models.py:1728 msgid "Is this webhook active" msgstr "" -#: common/models.py:1735 +#: common/models.py:1742 msgid "Token" msgstr "" -#: common/models.py:1736 +#: common/models.py:1743 msgid "Token for access" msgstr "" -#: common/models.py:1743 +#: common/models.py:1750 msgid "Secret" msgstr "" -#: common/models.py:1744 +#: common/models.py:1751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Message ID" msgstr "" -#: common/models.py:1851 +#: common/models.py:1858 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1859 +#: common/models.py:1866 msgid "Host" msgstr "" -#: common/models.py:1860 +#: common/models.py:1867 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1867 +#: common/models.py:1874 msgid "Header" msgstr "" -#: common/models.py:1868 +#: common/models.py:1875 msgid "Header of this message" msgstr "" -#: common/models.py:1874 +#: common/models.py:1881 msgid "Body" msgstr "" -#: common/models.py:1875 +#: common/models.py:1882 msgid "Body of this message" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1889 +#: common/models.py:1896 msgid "Worked on" msgstr "" -#: common/models.py:1890 +#: common/models.py:1897 msgid "Was the work on this message finished?" msgstr "" +#: common/notifications.py:292 +#, python-brace-format +msgid "New {verbose_name}" +msgstr "" + +#: common/notifications.py:294 +#, python-brace-format +msgid "A new {verbose_name} has been created and ,assigned to you" +msgstr "" + #: common/views.py:87 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:191 +#: order/views.py:102 part/views.py:116 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Dosya Yükle" #: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:192 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:117 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "Alanları Eşleştir" @@ -2545,19 +2572,19 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:511 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:16 part/forms.py:21 +#: company/forms.py:16 part/forms.py:18 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:17 part/forms.py:22 +#: company/forms.py:17 part/forms.py:19 msgid "Image URL" msgstr "" @@ -2571,7 +2598,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:405 +#: templates/js/translated/company.js:399 msgid "Website" msgstr "" @@ -2644,9 +2671,9 @@ msgstr "üretici mi" msgid "Does this company manufacture parts?" msgstr "Bu şirket üretim yapıyor mu?" -#: 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 +#: company/models.py:144 company/serializers.py:296 +#: company/templates/company/company_base.html:106 part/serializers.py:139 +#: part/serializers.py:170 stock/serializers.py:162 msgid "Currency" msgstr "Para birimi" @@ -2667,10 +2694,10 @@ msgstr "Parça seçin" #: 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: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/company.js:383 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:617 +#: templates/js/translated/company.js:902 templates/js/translated/part.js:235 #: templates/js/translated/table_filters.js:411 msgid "Manufacturer" msgstr "Üretici" @@ -2681,11 +2708,11 @@ msgstr "Üretici seçin" #: 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 -#: 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 +#: templates/js/translated/company.js:256 +#: templates/js/translated/company.js:483 +#: templates/js/translated/company.js:633 +#: templates/js/translated/company.js:920 templates/js/translated/order.js:1907 +#: templates/js/translated/part.js:246 templates/js/translated/part.js:1000 msgid "MPN" msgstr "ÜPN" @@ -2714,9 +2741,9 @@ msgstr "Parametre adı" #: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2080 templates/js/translated/company.js:540 -#: templates/js/translated/company.js:763 templates/js/translated/part.js:776 -#: templates/js/translated/stock.js:1294 +#: stock/models.py:2084 templates/js/translated/company.js:531 +#: templates/js/translated/company.js:748 templates/js/translated/part.js:820 +#: templates/js/translated/stock.js:1304 msgid "Value" msgstr "Değer" @@ -2724,10 +2751,10 @@ msgstr "Değer" msgid "Parameter value" msgstr "Parametre değeri" -#: company/models.py:368 part/models.py:878 part/models.py:2339 +#: company/models.py:368 part/models.py:878 part/models.py:2327 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:351 -#: templates/js/translated/company.js:769 templates/js/translated/part.js:782 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:826 msgid "Units" msgstr "" @@ -2740,13 +2767,14 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:487 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:303 +#: company/templates/company/supplier_part.html:87 order/models.py:308 #: 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 -#: 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/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:255 +#: templates/js/translated/company.js:387 +#: templates/js/translated/company.js:876 templates/js/translated/order.js:1643 +#: templates/js/translated/part.js:216 templates/js/translated/part.js:968 #: templates/js/translated/table_filters.js:415 msgid "Supplier" msgstr "Tedarikçi" @@ -2756,9 +2784,9 @@ msgid "Select supplier" msgstr "Tedarikçi seçin" #: 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 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:254 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 -#: templates/js/translated/part.js:942 +#: templates/js/translated/part.js:986 msgid "SKU" msgstr "" @@ -2779,23 +2807,23 @@ msgid "Supplier part description" msgstr "" #: company/models.py:518 company/templates/company/supplier_part.html:125 -#: part/models.py:2573 part/templates/part/upload_bom.html:59 +#: part/models.py:2561 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:387 msgid "Note" msgstr "Not" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "base cost" msgstr "temel maliyet" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: 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 +#: templates/js/translated/company.js:952 templates/js/translated/stock.js:1922 msgid "Packaging" msgstr "Paketleme" @@ -2803,7 +2831,7 @@ msgstr "Paketleme" msgid "Part packaging" msgstr "" -#: company/models.py:526 part/models.py:1690 +#: company/models.py:526 part/models.py:1685 msgid "multiple" msgstr "çoklu" @@ -2825,7 +2853,7 @@ msgstr "Para Birimi Kodu" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:177 templates/js/translated/company.js:378 +#: templates/InvenTree/search.html:177 templates/js/translated/company.js:372 msgid "Company" msgstr "" @@ -2843,7 +2871,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:321 +#: templates/js/translated/company.js:315 msgid "Edit Company" msgstr "" @@ -2866,12 +2894,13 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:649 +#: company/templates/company/company_base.html:86 order/models.py:665 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:758 +#: stock/models.py:628 stock/serializers.py:745 #: 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 +#: templates/email/overdue_sales_order.html:16 +#: templates/js/translated/company.js:379 templates/js/translated/order.js:2458 +#: templates/js/translated/stock.js:2441 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "Müşteri" @@ -2999,7 +3028,7 @@ msgid "Supplier List" msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:45 -#: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 +#: part/templates/part/prices.html:172 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" msgstr "Üreticiler" @@ -3012,12 +3041,12 @@ msgid "Order part" msgstr "Parça siparişi" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:680 +#: templates/js/translated/company.js:665 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:681 +#: templates/js/translated/company.js:666 msgid "Delete manufacturer part" msgstr "" @@ -3032,7 +3061,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:39 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 +#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" msgstr "" @@ -3092,18 +3121,18 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: 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 +#: templates/js/translated/company.js:892 templates/js/translated/order.js:884 +#: templates/js/translated/stock.js:1879 msgid "Supplier Part" msgstr "Tedarikçi Parçası" #: company/templates/company/supplier_part.html:38 -#: templates/js/translated/company.js:980 +#: templates/js/translated/company.js:965 msgid "Edit supplier part" msgstr "Tedarikçi parçasını düzenle" #: company/templates/company/supplier_part.html:42 -#: templates/js/translated/company.js:981 +#: templates/js/translated/company.js:966 msgid "Delete supplier part" msgstr "Tedarikçi parçasını sil" @@ -3123,7 +3152,7 @@ msgstr "" #: company/templates/company/supplier_part.html:148 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 -#: templates/js/translated/stock.js:380 +#: templates/js/translated/stock.js:379 msgid "New Stock Item" msgstr "" @@ -3144,7 +3173,7 @@ msgstr "Fiyat Bilgisi" #: company/templates/company/supplier_part.html:191 #: company/templates/company/supplier_part.html:305 -#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046 +#: part/templates/part/prices.html:276 templates/js/translated/part.js:2142 msgid "Add Price Break" msgstr "" @@ -3153,12 +3182,12 @@ msgid "No price break information found" msgstr "" #: company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2152 msgid "Delete Price Break" msgstr "" #: company/templates/company/supplier_part.html:245 -#: templates/js/translated/part.js:2070 +#: templates/js/translated/part.js:2166 msgid "Edit Price Break" msgstr "" @@ -3180,9 +3209,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: 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:1687 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:722 +#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1431 +#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 msgid "Stock" msgstr "Stok" @@ -3209,7 +3238,7 @@ msgstr "Fiyatlandırma" #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 -#: templates/js/translated/stock.js:2307 users/models.py:39 +#: templates/js/translated/stock.js:2317 users/models.py:39 msgid "Stock Items" msgstr "Stok Kalemleri" @@ -3238,20 +3267,20 @@ msgstr "Şirketler" msgid "New Company" msgstr "Yeni Şirket" -#: company/views.py:112 part/views.py:576 +#: company/views.py:112 part/views.py:501 msgid "Download Image" msgstr "Resmi İndirin" -#: company/views.py:139 part/views.py:606 +#: company/views.py:139 part/views.py:531 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:146 part/views.py:613 +#: company/views.py:146 part/views.py:538 #, python-brace-format msgid "Invalid response: {code}" msgstr "Geçersiz yanıt: {code}" -#: company/views.py:155 part/views.py:622 +#: company/views.py:155 part/views.py:547 msgid "Supplied URL is not a valid image file" msgstr "Sağlanan URL geçerli bir resim dosyası değil" @@ -3320,313 +3349,314 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:133 +#: order/models.py:134 msgid "Order description" msgstr "Sipariş açıklaması" -#: order/models.py:135 order/models.py:1236 +#: order/models.py:136 order/models.py:1252 msgid "Link to external page" msgstr "Harici sayfaya bağlantı" -#: order/models.py:143 +#: order/models.py:144 msgid "Created By" msgstr "Oluşturan" -#: order/models.py:150 +#: order/models.py:151 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:155 +#: order/models.py:156 msgid "Order notes" msgstr "Sipariş notları" -#: order/models.py:289 order/models.py:639 +#: order/models.py:294 order/models.py:655 msgid "Order reference" msgstr "Sipariş referansı" -#: order/models.py:294 order/models.py:654 +#: order/models.py:299 order/models.py:670 msgid "Purchase order status" msgstr "" -#: order/models.py:304 +#: order/models.py:309 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:307 order/templates/order/order_base.html:124 +#: order/models.py:312 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:307 +#: order/models.py:312 msgid "Supplier order reference code" msgstr "" -#: order/models.py:314 +#: order/models.py:319 msgid "received by" msgstr "" -#: order/models.py:319 +#: order/models.py:324 msgid "Issue Date" msgstr "" -#: order/models.py:320 +#: order/models.py:325 msgid "Date order was issued" msgstr "" -#: order/models.py:325 +#: order/models.py:330 msgid "Target Delivery Date" msgstr "" -#: order/models.py:326 +#: order/models.py:331 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:332 +#: order/models.py:337 msgid "Date order was completed" msgstr "" -#: order/models.py:368 +#: order/models.py:373 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:512 +#: order/models.py:517 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:650 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer Reference " msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer order reference code" msgstr "" -#: order/models.py:661 +#: order/models.py:677 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:664 order/models.py:1190 +#: order/models.py:680 order/models.py:1206 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:671 +#: order/models.py:687 msgid "shipped by" msgstr "" -#: order/models.py:726 +#: order/models.py:742 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:730 +#: order/models.py:746 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:733 +#: order/models.py:749 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:736 +#: order/models.py:752 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:910 +#: order/models.py:926 msgid "Item quantity" msgstr "" -#: order/models.py:916 +#: order/models.py:932 msgid "Line item reference" msgstr "" -#: order/models.py:918 +#: order/models.py:934 msgid "Line item notes" msgstr "" -#: order/models.py:923 +#: order/models.py:939 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:941 +#: order/models.py:957 msgid "Context" msgstr "" -#: order/models.py:942 +#: order/models.py:958 msgid "Additional context for this line" msgstr "" -#: order/models.py:950 +#: order/models.py:966 msgid "Unit price" msgstr "" -#: order/models.py:980 +#: order/models.py:996 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:988 +#: order/models.py:1004 msgid "deleted" msgstr "" -#: order/models.py:994 order/models.py:1074 order/models.py:1099 -#: order/models.py:1184 order/models.py:1320 +#: order/models.py:1010 order/models.py:1090 order/models.py:1115 +#: order/models.py:1200 order/models.py:1336 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:995 order/models.py:1074 +#: order/models.py:1011 order/models.py:1090 #: 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/email/overdue_purchase_order.html:15 #: 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 +#: templates/js/translated/part.js:943 templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:2422 msgid "Purchase Order" msgstr "" -#: order/models.py:1013 +#: order/models.py:1029 msgid "Supplier part" msgstr "" -#: order/models.py:1020 order/templates/order/order_base.html:169 +#: order/models.py:1036 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/part.js:1037 templates/js/translated/part.js:1064 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1021 +#: order/models.py:1037 msgid "Number of items received" msgstr "" -#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: order/models.py:1044 part/templates/part/prices.html:181 stock/models.py:722 #: stock/serializers.py:153 stock/templates/stock/item_base.html:191 -#: templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:1910 msgid "Purchase Price" msgstr "" -#: order/models.py:1029 +#: order/models.py:1045 msgid "Unit purchase price" msgstr "" -#: order/models.py:1037 +#: order/models.py:1053 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1109 part/templates/part/part_pricing.html:112 -#: part/templates/part/prices.html:119 part/templates/part/prices.html:288 +#: order/models.py:1125 part/templates/part/part_pricing.html:115 +#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 msgid "Sale Price" msgstr "" -#: order/models.py:1110 +#: order/models.py:1126 msgid "Unit sale price" msgstr "" -#: order/models.py:1115 +#: order/models.py:1131 msgid "Shipped quantity" msgstr "" -#: order/models.py:1191 +#: order/models.py:1207 msgid "Date of shipment" msgstr "" -#: order/models.py:1198 +#: order/models.py:1214 msgid "Checked By" msgstr "" -#: order/models.py:1199 +#: order/models.py:1215 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1207 +#: order/models.py:1223 msgid "Shipment number" msgstr "" -#: order/models.py:1214 +#: order/models.py:1230 msgid "Shipment notes" msgstr "" -#: order/models.py:1221 +#: order/models.py:1237 msgid "Tracking Number" msgstr "" -#: order/models.py:1222 +#: order/models.py:1238 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1229 +#: order/models.py:1245 msgid "Invoice Number" msgstr "" -#: order/models.py:1230 +#: order/models.py:1246 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1248 +#: order/models.py:1264 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1251 +#: order/models.py:1267 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1354 order/models.py:1356 +#: order/models.py:1370 order/models.py:1372 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1360 +#: order/models.py:1376 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1362 +#: order/models.py:1378 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1365 +#: order/models.py:1381 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tahsis miktarı stok miktarını aşamaz" -#: order/models.py:1369 +#: order/models.py:1385 msgid "StockItem is over-allocated" msgstr "Stok kalemi fazladan tahsis edilmiş" -#: order/models.py:1375 order/serializers.py:1045 +#: order/models.py:1391 order/serializers.py:1047 msgid "Quantity must be 1 for serialized stock item" msgstr "Seri numaralı stok kalemi için miktar bir olmalı" -#: order/models.py:1378 +#: order/models.py:1394 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1379 +#: order/models.py:1395 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1387 +#: order/models.py:1403 msgid "Line" msgstr "" -#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 +#: order/models.py:1411 order/serializers.py:1151 order/serializers.py:1275 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1396 +#: order/models.py:1412 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1424 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1409 +#: order/models.py:1425 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Enter stock allocation quantity" msgstr "Stok tahsis miktarını girin" @@ -3662,7 +3692,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1117 +#: order/serializers.py:406 order/serializers.py:1119 msgid "Line Item" msgstr "" @@ -3710,42 +3740,60 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:866 +#: order/serializers.py:868 msgid "Sale price currency" msgstr "" -#: order/serializers.py:947 +#: order/serializers.py:949 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1006 order/serializers.py:1126 +#: order/serializers.py:1008 order/serializers.py:1128 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1028 +#: order/serializers.py:1030 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1139 +#: order/serializers.py:1141 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1161 order/serializers.py:1281 +#: order/serializers.py:1163 order/serializers.py:1283 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1164 order/serializers.py:1284 +#: order/serializers.py:1166 order/serializers.py:1286 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1216 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1224 +#: order/serializers.py:1226 msgid "The following serial numbers are already allocated" msgstr "" +#: order/tasks.py:26 +msgid "Overdue Purchase Order" +msgstr "" + +#: order/tasks.py:31 +#, python-brace-format +msgid "Purchase order {po} is now overdue" +msgstr "" + +#: order/tasks.py:88 +msgid "Overdue Sales Order" +msgstr "" + +#: order/tasks.py:93 +#, python-brace-format +msgid "Sales order {so} is now overdue" +msgstr "" + #: order/templates/order/order_base.html:33 msgid "Print purchase order report" msgstr "" @@ -3870,8 +3918,8 @@ msgstr "Tedarikçi Parçası Seçin" #: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: 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:2731 templates/js/translated/stock.js:570 -#: templates/js/translated/stock.js:738 +#: templates/js/translated/order.js:2731 templates/js/translated/stock.js:569 +#: templates/js/translated/stock.js:737 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -3990,7 +4038,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1047 #: templates/js/translated/build.js:1880 msgid "Actions" msgstr "İşlemler" @@ -4021,47 +4069,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:481 +#: part/api.py:482 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:501 +#: part/api.py:502 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:519 +#: part/api.py:520 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:551 +#: part/api.py:552 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:637 +#: part/api.py:638 msgid "Valid" msgstr "" -#: part/api.py:638 +#: part/api.py:639 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:644 +#: part/api.py:645 msgid "This option must be selected" msgstr "" -#: part/api.py:1010 +#: part/api.py:1011 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1014 +#: part/api.py:1015 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1029 +#: part/api.py:1030 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1060 part/api.py:1064 part/api.py:1079 part/api.py:1083 +#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 msgid "This field is required" msgstr "" @@ -4080,17 +4128,13 @@ msgid "Available Stock" msgstr "" #: 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 +#: templates/js/translated/part.js:561 templates/js/translated/part.js:581 +#: templates/js/translated/part.js:1273 templates/js/translated/part.js:1445 +#: templates/js/translated/part.js:1461 msgid "On Order" msgstr "" -#: part/forms.py:59 -msgid "Select part category" -msgstr "" - -#: part/forms.py:69 +#: part/forms.py:60 msgid "Input quantity for price calculation" msgstr "" @@ -4106,7 +4150,7 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:115 part/models.py:2415 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2403 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -4123,7 +4167,7 @@ msgstr "Parça Kategorileri" #: 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/js/translated/part.js:1864 templates/js/translated/search.js:144 #: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "Parçalar" @@ -4153,7 +4197,7 @@ msgstr "En son seri numarası" msgid "Duplicate IPN not allowed in part settings" msgstr "Yinelenen DPN'ye parça ayarlarında izin verilmiyor" -#: part/models.py:738 part/models.py:2469 +#: part/models.py:738 part/models.py:2457 msgid "Part name" msgstr "Parça adı" @@ -4186,12 +4230,11 @@ msgstr "Anahtar kelimeler" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:776 part/models.py:2171 part/models.py:2414 +#: part/models.py:776 part/models.py:2159 part/models.py:2402 #: part/templates/part/part_base.html:257 -#: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 #: templates/InvenTree/settings/settings.html:231 -#: templates/js/translated/part.js:1369 +#: templates/js/translated/part.js:1413 templates/js/translated/part.js:1639 msgid "Category" msgstr "" @@ -4200,8 +4243,8 @@ msgid "Part category" msgstr "" #: 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 +#: templates/js/translated/part.js:710 templates/js/translated/part.js:1366 +#: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "DPN" @@ -4214,7 +4257,7 @@ msgid "Part revision or version number" msgstr "Parça revizyon veya versiyon numarası" #: part/models.py:790 part/templates/part/part_base.html:273 -#: report/models.py:170 templates/js/translated/part.js:670 +#: report/models.py:170 templates/js/translated/part.js:714 msgid "Revision" msgstr "Revizyon" @@ -4302,317 +4345,321 @@ msgstr "" msgid "Creation User" msgstr "Oluşturan Kullanıcı" -#: part/models.py:1690 +#: part/models.py:1685 msgid "Sell multiple" msgstr "" -#: part/models.py:2218 +#: part/models.py:2206 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:2235 +#: part/models.py:2223 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2255 templates/js/translated/part.js:1819 -#: templates/js/translated/stock.js:1274 +#: part/models.py:2243 templates/js/translated/part.js:1915 +#: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "Test Adı" -#: part/models.py:2256 +#: part/models.py:2244 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2261 +#: part/models.py:2249 msgid "Test Description" msgstr "Test Açıklaması" -#: part/models.py:2262 +#: part/models.py:2250 msgid "Enter description for this test" msgstr "" -#: part/models.py:2267 templates/js/translated/part.js:1828 +#: part/models.py:2255 templates/js/translated/part.js:1924 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "Gerekli" -#: part/models.py:2268 +#: part/models.py:2256 msgid "Is this test required to pass?" msgstr "Testi geçmesi için bu gerekli mi?" -#: part/models.py:2273 templates/js/translated/part.js:1836 +#: part/models.py:2261 templates/js/translated/part.js:1932 msgid "Requires Value" msgstr "" -#: part/models.py:2274 +#: part/models.py:2262 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2279 templates/js/translated/part.js:1843 +#: part/models.py:2267 templates/js/translated/part.js:1939 msgid "Requires Attachment" msgstr "" -#: part/models.py:2280 +#: part/models.py:2268 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2288 +#: part/models.py:2276 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2324 +#: part/models.py:2312 msgid "Parameter template name must be unique" msgstr "Parametre şablon adı benzersiz olmalıdır" -#: part/models.py:2332 +#: part/models.py:2320 msgid "Parameter Name" msgstr "" -#: part/models.py:2339 +#: part/models.py:2327 msgid "Parameter Units" msgstr "" -#: part/models.py:2370 +#: part/models.py:2358 msgid "Parent Part" msgstr "" -#: part/models.py:2372 part/models.py:2420 part/models.py:2421 +#: part/models.py:2360 part/models.py:2408 part/models.py:2409 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "Parametre Şablonu" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Data" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Parameter Value" msgstr "" -#: part/models.py:2425 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2413 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2426 +#: part/models.py:2414 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2461 +#: part/models.py:2449 msgid "Part ID or part name" msgstr "" -#: part/models.py:2464 templates/js/translated/model_renderers.js:200 +#: part/models.py:2452 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2465 +#: part/models.py:2453 msgid "Unique part ID value" msgstr "" -#: part/models.py:2468 +#: part/models.py:2456 msgid "Part Name" msgstr "" -#: part/models.py:2472 +#: part/models.py:2460 msgid "Part IPN" msgstr "" -#: part/models.py:2473 +#: part/models.py:2461 msgid "Part IPN value" msgstr "" -#: part/models.py:2476 +#: part/models.py:2464 msgid "Level" msgstr "" -#: part/models.py:2477 +#: part/models.py:2465 msgid "BOM level" msgstr "" -#: part/models.py:2546 +#: part/models.py:2534 msgid "Select parent part" msgstr "" -#: part/models.py:2554 +#: part/models.py:2542 msgid "Sub part" msgstr "" -#: part/models.py:2555 +#: part/models.py:2543 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2561 +#: part/models.py:2549 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2563 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 +#: part/models.py:2551 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:871 templates/js/translated/bom.js:965 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2563 +#: part/models.py:2551 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2566 part/templates/part/upload_bom.html:55 +#: part/models.py:2554 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2567 +#: part/models.py:2555 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2570 +#: part/models.py:2558 msgid "BOM item reference" msgstr "" -#: part/models.py:2573 +#: part/models.py:2561 msgid "BOM item notes" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "Checksum" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "BOM line checksum" msgstr "" -#: part/models.py:2579 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:988 +#: part/models.py:2567 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:982 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2580 +#: part/models.py:2568 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:2585 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:980 +#: part/models.py:2573 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:974 msgid "Allow Variants" msgstr "Çeşide İzin Ver" -#: part/models.py:2586 +#: part/models.py:2574 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:2664 stock/models.py:460 +#: part/models.py:2652 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2673 part/models.py:2675 +#: part/models.py:2661 part/models.py:2663 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2780 +#: part/models.py:2768 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2801 +#: part/models.py:2789 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2814 +#: part/models.py:2802 msgid "Parent BOM item" msgstr "" -#: part/models.py:2822 +#: part/models.py:2810 msgid "Substitute part" msgstr "" -#: part/models.py:2833 +#: part/models.py:2825 msgid "Part 1" msgstr "" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Part 2" msgstr "" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Select Related Part" msgstr "" -#: part/models.py:2868 -msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" +#: part/models.py:2847 +msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 +#: part/models.py:2851 +msgid "Duplicate relationship already exists" +msgstr "" + +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:794 +#: part/serializers.py:796 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:804 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:805 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:810 msgid "Include Inherited" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:811 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:816 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:817 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:820 +#: part/serializers.py:822 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:821 +#: part/serializers.py:823 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:861 +#: part/serializers.py:863 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:864 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:894 msgid "No part column specified" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:937 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:938 +#: part/serializers.py:940 msgid "No matching part found" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:943 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:950 +#: part/serializers.py:952 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:958 +#: part/serializers.py:960 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:979 +#: part/serializers.py:981 msgid "At least one BOM item is required" msgstr "" @@ -5088,10 +5135,10 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:143 -#: templates/js/translated/company.js:623 -#: templates/js/translated/company.js:882 +#: templates/js/translated/company.js:608 +#: templates/js/translated/company.js:867 #: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:658 +#: templates/js/translated/part.js:625 templates/js/translated/part.js:702 msgid "Inactive" msgstr "Pasif" @@ -5120,13 +5167,13 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1009 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1003 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/part.js:520 -#: templates/js/translated/part.js:540 templates/js/translated/part.js:1233 -#: templates/js/translated/part.js:1405 templates/js/translated/part.js:1421 +#: part/templates/part/part_base.html:238 templates/js/translated/part.js:564 +#: templates/js/translated/part.js:584 templates/js/translated/part.js:1277 +#: templates/js/translated/part.js:1449 templates/js/translated/part.js:1465 msgid "Building" msgstr "" @@ -5143,7 +5190,7 @@ msgstr "Son Seri Numarası" msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:443 part/templates/part/prices.html:147 +#: part/templates/part/part_base.html:443 part/templates/part/prices.html:149 msgid "Calculate" msgstr "Hesapla" @@ -5161,54 +5208,55 @@ msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:106 -#: part/templates/part/prices.html:123 +#: part/templates/part/part_pricing.html:103 +#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 +#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Unit Cost" msgstr "Birim Maliyeti" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:104 -#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:111 -#: part/templates/part/prices.html:128 +#: part/templates/part/part_pricing.html:107 +#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 +#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 +#: part/templates/part/prices.html:130 msgid "Total Cost" msgstr "Toplam Maliyet" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:963 +#: templates/js/translated/bom.js:957 msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:246 +#: part/templates/part/prices.html:248 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:89 +#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:96 +#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:105 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/prices.html:107 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:128 -#: part/templates/part/prices.html:137 +#: part/templates/part/part_pricing.html:131 +#: part/templates/part/prices.html:139 msgid "No pricing information is available for this part." msgstr "" @@ -5232,43 +5280,6 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:9 -#, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" -"
Disable the \"Active\" part attribute and re-try.\n" -" " -msgstr "" - -#: part/templates/part/partial_delete.html:17 -#, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" -msgstr "" - -#: part/templates/part/partial_delete.html:22 -#, python-format -msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" -msgstr "" - -#: part/templates/part/partial_delete.html:32 -#, python-format -msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:43 -#, python-format -msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:54 -#, python-format -msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" -msgstr "Bu parçası için tanımlanmış %(count)s tedarikçi bulunmaktadır. Bu parçayı silerseniz, aşağıdaki tedarikçi parçaları da silinecektir:" - -#: part/templates/part/partial_delete.html:67 -#, python-format -msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." -msgstr "" - #: part/templates/part/prices.html:19 msgid "Pricing ranges" msgstr "" @@ -5285,66 +5296,58 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:120 +#: part/templates/part/prices.html:122 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:123 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:143 +#: part/templates/part/prices.html:145 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:957 +#: part/templates/part/prices.html:160 templates/js/translated/bom.js:951 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:159 part/templates/part/prices.html:180 -#: part/templates/part/prices.html:204 part/templates/part/prices.html:234 -#: part/templates/part/prices.html:260 part/templates/part/prices.html:289 +#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 +#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 +#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:184 +#: part/templates/part/prices.html:186 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:193 +#: part/templates/part/prices.html:195 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:203 +#: part/templates/part/prices.html:205 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:218 +#: part/templates/part/prices.html:220 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:233 +#: part/templates/part/prices.html:235 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:259 +#: part/templates/part/prices.html:261 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:300 +#: part/templates/part/prices.html:302 msgid "No sale pice history available for this part." msgstr "" -#: part/templates/part/set_category.html:9 -msgid "Set category for the following parts" -msgstr "Aşağıdaki parçalara kategori ayarla" - -#: part/templates/part/set_category.html:32 -msgid "Remove part" -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543 -#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:587 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:1469 msgid "No Stock" msgstr "Stok Yok" @@ -5407,56 +5410,39 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:74 -msgid "Set Part Category" -msgstr "" - -#: part/views.py:122 -#, python-brace-format -msgid "Set category for {n} parts" -msgstr "" - -#: part/views.py:193 +#: part/views.py:118 msgid "Match References" msgstr "" -#: part/views.py:494 +#: part/views.py:419 msgid "None" msgstr "Hiçbiri" -#: part/views.py:556 +#: part/views.py:481 msgid "Part QR Code" msgstr "" -#: part/views.py:650 +#: part/views.py:575 msgid "Select Part Image" msgstr "" -#: part/views.py:676 +#: part/views.py:601 msgid "Updated part image" msgstr "" -#: part/views.py:679 +#: part/views.py:604 msgid "Part image not found" msgstr "" -#: part/views.py:768 -msgid "Confirm Part Deletion" -msgstr "" - -#: part/views.py:776 -msgid "Part was deleted" -msgstr "" - -#: part/views.py:785 +#: part/views.py:693 msgid "Part Pricing" msgstr "" -#: part/views.py:976 +#: part/views.py:884 msgid "Delete Part Category" msgstr "" -#: part/views.py:983 +#: part/views.py:891 msgid "Part category was deleted" msgstr "" @@ -5516,21 +5502,21 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:28 +#: plugin/builtin/integration/core_notifications.py:29 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 +#: plugin/builtin/integration/core_notifications.py:30 msgid "Integrated outgoing notificaton methods" msgstr "" -#: 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:34 #: plugin/builtin/integration/core_notifications.py:53 +msgid "Enable email notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:35 +#: plugin/builtin/integration/core_notifications.py:54 msgid "Allow sending of emails for event notifications" msgstr "" @@ -5646,15 +5632,19 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:166 +#: report/api.py:179 msgid "No valid objects provided to template" msgstr "Şablon için geçerli bir nesne sağlanmadı" -#: report/api.py:198 report/api.py:239 +#: report/api.py:215 report/api.py:256 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" +#: report/api.py:359 +msgid "Test report" +msgstr "" + #: report/models.py:152 msgid "Template name" msgstr "Şablon adı" @@ -5757,7 +5747,7 @@ msgstr "" #: 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:3229 -#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:434 msgid "Serial Number" msgstr "Seri Numara" @@ -5766,19 +5756,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2068 +#: stock/models.py:2072 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2074 +#: stock/models.py:2078 msgid "Result" 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:1669 templates/js/translated/stock.js:2340 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2350 msgid "Date" msgstr "" @@ -5796,20 +5786,20 @@ msgid "Installed Items" 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:2589 +#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724 +#: templates/js/translated/stock.js:2599 msgid "Serial" msgstr "Seri No" -#: stock/api.py:504 +#: stock/api.py:505 msgid "Quantity is required" msgstr "" -#: stock/api.py:511 +#: stock/api.py:512 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:536 +#: stock/api.py:537 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5917,7 +5907,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1826 msgid "Expiry Date" msgstr "" @@ -5971,79 +5961,79 @@ msgstr "Miktar seri numaları ile eşleşmiyor" msgid "Serial numbers already exist: {exists}" msgstr "Seri numaraları zaten mevcut: {exists}" -#: stock/models.py:1321 +#: stock/models.py:1325 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1324 +#: stock/models.py:1328 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1327 +#: stock/models.py:1331 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1334 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1333 +#: stock/models.py:1337 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1340 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1343 stock/serializers.py:908 +#: stock/models.py:1347 stock/serializers.py:895 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1347 +#: stock/models.py:1351 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1355 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1359 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1524 +#: stock/models.py:1528 msgid "StockItem cannot be moved as it is not in stock" msgstr "Stok kalemi stokta olmadığı için taşınamaz" -#: stock/models.py:1986 +#: stock/models.py:1990 msgid "Entry notes" msgstr "" -#: stock/models.py:2044 +#: stock/models.py:2048 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2050 +#: stock/models.py:2054 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2069 +#: stock/models.py:2073 msgid "Test name" msgstr "" -#: stock/models.py:2075 +#: stock/models.py:2079 msgid "Test result" msgstr "" -#: stock/models.py:2081 +#: stock/models.py:2085 msgid "Test output value" msgstr "" -#: stock/models.py:2088 +#: stock/models.py:2092 msgid "Test result attachment" msgstr "" -#: stock/models.py:2094 +#: stock/models.py:2098 msgid "Test notes" msgstr "" @@ -6064,7 +6054,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:865 stock/serializers.py:1098 +#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 msgid "Destination stock location" msgstr "" @@ -6104,63 +6094,63 @@ msgstr "İşlem notu ekle (isteğe bağlı)" msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:707 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:724 +#: stock/serializers.py:711 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:728 +#: stock/serializers.py:715 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:759 +#: stock/serializers.py:746 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:765 +#: stock/serializers.py:752 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:773 +#: stock/serializers.py:760 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:783 stock/serializers.py:1014 +#: stock/serializers.py:770 stock/serializers.py:1001 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:872 +#: stock/serializers.py:859 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:877 +#: stock/serializers.py:864 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:878 +#: stock/serializers.py:865 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:883 +#: stock/serializers.py:870 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:884 +#: stock/serializers.py:871 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:894 +#: stock/serializers.py:881 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:976 +#: stock/serializers.py:963 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1004 +#: stock/serializers.py:991 msgid "Stock transaction notes" msgstr "" @@ -6185,7 +6175,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:298 msgid "Delete Test Data" msgstr "" @@ -6197,11 +6187,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2733 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2743 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:292 templates/js/translated/stock.js:1455 +#: stock/templates/stock/item.html:290 +msgid "Delete all test results for this stock item" +msgstr "" + +#: stock/templates/stock/item.html:323 templates/js/translated/stock.js:1465 msgid "Add Test Result" msgstr "" @@ -6388,7 +6382,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/stock.js:1842 msgid "Last Updated" msgstr "" @@ -6529,7 +6523,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:182 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:144 msgid "Convert Stock Item" msgstr "Stok Kalemine Dönüştür" @@ -6550,31 +6544,19 @@ msgstr "Uyarı" msgid "This action cannot be easily undone" msgstr "Bu işlem kolayca geri alınamaz" -#: stock/views.py:113 +#: stock/views.py:111 msgid "Stock Location QR code" msgstr "Stok Konumu QR Kodu" -#: stock/views.py:131 -msgid "Delete All Test Data" -msgstr "" - -#: stock/views.py:149 -msgid "Confirm test data deletion" -msgstr "" - -#: stock/views.py:150 -msgid "Check the confirmation box" -msgstr "Onay kutusunu işaretleyin" - -#: stock/views.py:165 +#: stock/views.py:127 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:216 +#: stock/views.py:178 msgid "Delete Stock Location" msgstr "Stok Konumunu Sil" -#: stock/views.py:229 +#: stock/views.py:191 msgid "Delete Stock Item" msgstr "" @@ -7317,8 +7299,8 @@ msgstr "InvenTree Sürüm Bilgisi" #: 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:56 templates/js/translated/modals.js:595 -#: templates/js/translated/modals.js:689 templates/js/translated/modals.js:997 +#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 +#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 #: templates/js/translated/order.js:928 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7390,6 +7372,10 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:630 +msgid "Confirm" +msgstr "Onay" + #: templates/account/email_confirm.html:27 #, python-format msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." @@ -7562,7 +7548,7 @@ msgstr "Dosya Ekle" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:112 msgid "Delete Attachments" msgstr "" @@ -7596,15 +7582,15 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1425 +#: templates/js/translated/bom.js:1419 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: 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/bom.js:884 templates/js/translated/build.js:1787 +#: templates/js/translated/build.js:2650 templates/js/translated/part.js:571 +#: templates/js/translated/part.js:574 #: templates/js/translated/table_filters.js:178 msgid "Available" msgstr "Mevcut" @@ -7622,6 +7608,13 @@ msgstr "" msgid "Minimum Quantity" msgstr "" +#: templates/email/new_order_assigned.html:9 +#: templates/email/overdue_build_order.html:9 +#: templates/email/overdue_purchase_order.html:9 +#: templates/email/overdue_sales_order.html:9 +msgid "Click on the following link to view this order" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -7638,91 +7631,91 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:235 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1073 msgid "No Response" msgstr "Cevap Yok" -#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1074 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:242 +#: templates/js/translated/api.js:202 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:243 +#: templates/js/translated/api.js:203 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1083 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1084 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:252 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1088 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:253 templates/js/translated/modals.js:1083 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1089 msgid "You do not have the required permissions to access this function" msgstr "Bu fonksiyona erişmek için gerekli izinlere sahip değilsiniz" -#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1093 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1088 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1094 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:262 +#: templates/js/translated/api.js:222 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:263 +#: templates/js/translated/api.js:223 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:267 templates/js/translated/modals.js:1092 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1098 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:268 templates/js/translated/modals.js:1093 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1099 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:271 +#: templates/js/translated/api.js:231 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:272 +#: templates/js/translated/api.js:232 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:96 +#: templates/js/translated/attachment.js:98 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:156 +#: templates/js/translated/attachment.js:152 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:180 +#: templates/js/translated/attachment.js:176 msgid "Edit Attachment" msgstr "Ek Düzenle" -#: templates/js/translated/attachment.js:246 +#: templates/js/translated/attachment.js:242 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:262 +#: templates/js/translated/attachment.js:264 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:269 +#: templates/js/translated/attachment.js:271 msgid "Delete attachment" msgstr "" @@ -7755,7 +7748,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "Invalid server response" msgstr "" @@ -7783,7 +7776,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999 +#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:998 msgid "Remove stock item" msgstr "" @@ -7918,89 +7911,89 @@ msgstr "" msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:682 +#: templates/js/translated/bom.js:684 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:697 +#: templates/js/translated/bom.js:699 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:824 +#: templates/js/translated/bom.js:818 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:834 +#: templates/js/translated/bom.js:828 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:838 templates/js/translated/build.js:1769 +#: templates/js/translated/bom.js:832 templates/js/translated/build.js:1769 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/bom.js:900 templates/js/translated/build.js:1814 #: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:910 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:904 templates/js/translated/build.js:1818 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:912 templates/js/translated/build.js:1820 -#: templates/js/translated/part.js:690 +#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1820 +#: templates/js/translated/part.js:734 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:914 templates/js/translated/build.js:1822 +#: templates/js/translated/bom.js:908 templates/js/translated/build.js:1822 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:928 +#: templates/js/translated/bom.js:922 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:943 +#: templates/js/translated/bom.js:937 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:950 +#: templates/js/translated/bom.js:944 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:999 templates/js/translated/bom.js:1090 +#: templates/js/translated/bom.js:993 templates/js/translated/bom.js:1084 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1061 +#: templates/js/translated/bom.js:1055 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1063 +#: templates/js/translated/bom.js:1057 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1065 +#: templates/js/translated/bom.js:1059 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1067 templates/js/translated/bom.js:1228 +#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1222 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1069 +#: templates/js/translated/bom.js:1063 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1164 templates/js/translated/build.js:1615 +#: templates/js/translated/bom.js:1158 templates/js/translated/build.js:1615 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1408 templates/js/translated/build.js:1753 +#: templates/js/translated/bom.js:1402 templates/js/translated/build.js:1753 msgid "Required Part" msgstr "Gerekli Parça" -#: templates/js/translated/bom.js:1430 +#: templates/js/translated/bom.js:1424 msgid "Inherited from parent BOM" msgstr "" @@ -8040,13 +8033,13 @@ msgstr "Yapım işi emri eksik" msgid "Complete Build Order" msgstr "Tamamlanmış Yapım İşi Emri" -#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91 -#: templates/js/translated/stock.js:181 +#: templates/js/translated/build.js:259 templates/js/translated/stock.js:90 +#: templates/js/translated/stock.js:180 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93 -#: templates/js/translated/stock.js:183 +#: templates/js/translated/build.js:261 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:182 msgid "Latest serial number" msgstr "" @@ -8259,9 +8252,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: 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 +#: templates/js/translated/build.js:2448 templates/js/translated/part.js:1358 +#: templates/js/translated/part.js:1825 templates/js/translated/stock.js:1629 +#: templates/js/translated/stock.js:2287 msgid "Select" msgstr "" @@ -8273,7 +8266,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2519 +#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2529 msgid "No user information" msgstr "" @@ -8285,107 +8278,107 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:169 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:168 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:157 templates/js/translated/order.js:506 +#: templates/js/translated/company.js:156 templates/js/translated/order.js:506 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:185 +#: templates/js/translated/company.js:184 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:200 +#: templates/js/translated/company.js:199 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:249 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:263 +#: templates/js/translated/company.js:264 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:342 +#: templates/js/translated/company.js:336 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:413 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:428 +#: templates/js/translated/company.js:422 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:443 +#: templates/js/translated/company.js:437 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:478 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:492 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:526 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:548 +#: templates/js/translated/company.js:539 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:595 +#: templates/js/translated/company.js:580 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:615 -#: templates/js/translated/company.js:874 templates/js/translated/part.js:565 -#: templates/js/translated/part.js:650 +#: templates/js/translated/company.js:600 +#: templates/js/translated/company.js:859 templates/js/translated/part.js:609 +#: templates/js/translated/part.js:694 msgid "Template part" msgstr "Şablon Parça" -#: templates/js/translated/company.js:619 -#: templates/js/translated/company.js:878 templates/js/translated/part.js:569 -#: templates/js/translated/part.js:654 +#: templates/js/translated/company.js:604 +#: templates/js/translated/company.js:863 templates/js/translated/part.js:613 +#: templates/js/translated/part.js:698 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:747 templates/js/translated/part.js:757 +#: templates/js/translated/company.js:732 templates/js/translated/part.js:801 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:799 +#: templates/js/translated/company.js:769 templates/js/translated/part.js:843 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:785 templates/js/translated/part.js:800 +#: templates/js/translated/company.js:770 templates/js/translated/part.js:844 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:804 templates/js/translated/part.js:817 +#: templates/js/translated/company.js:789 templates/js/translated/part.js:861 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:815 templates/js/translated/part.js:829 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:873 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:854 +#: templates/js/translated/company.js:839 msgid "No supplier parts found" msgstr "" @@ -8448,36 +8441,36 @@ msgstr "" msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:756 +#: templates/js/translated/forms.js:757 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1248 templates/modals.html:19 +#: templates/js/translated/forms.js:1249 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1681 +#: templates/js/translated/forms.js:1682 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1896 templates/search.html:29 +#: templates/js/translated/forms.js:1897 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2149 +#: templates/js/translated/forms.js:2150 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2627 +#: templates/js/translated/forms.js:2628 msgid "Select Columns" msgstr "" @@ -8498,7 +8491,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1023 +#: templates/js/translated/stock.js:1022 msgid "Select Stock Items" msgstr "" @@ -8552,12 +8545,12 @@ msgid "Select Label Template" msgstr "Etiket Şablonu Seç" #: templates/js/translated/modals.js:82 templates/js/translated/modals.js:142 -#: templates/js/translated/modals.js:621 +#: templates/js/translated/modals.js:627 msgid "Cancel" msgstr "" #: 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/js/translated/modals.js:694 templates/js/translated/modals.js:1002 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" @@ -8566,47 +8559,47 @@ msgstr "" msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:403 +#: templates/js/translated/modals.js:421 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:562 +#: templates/js/translated/modals.js:568 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:620 +#: templates/js/translated/modals.js:626 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:677 +#: templates/js/translated/modals.js:683 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:960 +#: templates/js/translated/modals.js:966 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1072 +#: templates/js/translated/modals.js:1078 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1073 +#: templates/js/translated/modals.js:1079 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1096 +#: templates/js/translated/modals.js:1102 msgid "Error requesting form data" msgstr "" @@ -8656,11 +8649,11 @@ msgstr "" msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:259 +#: templates/js/translated/notification.js:260 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:300 templates/notifications.html:10 +#: templates/js/translated/notification.js:302 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" @@ -8804,7 +8797,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2080 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2090 msgid "Stock Status" msgstr "" @@ -8828,7 +8821,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1602 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1602 templates/js/translated/part.js:914 msgid "No purchase orders found" msgstr "" @@ -8863,7 +8856,7 @@ msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 #: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 -#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 +#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2397 msgid "Unit Price" msgstr "" @@ -8873,11 +8866,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:1993 templates/js/translated/order.js:3525 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:1023 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1069 msgid "Receive line item" msgstr "" @@ -8998,7 +8991,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1535 +#: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" @@ -9138,165 +9131,209 @@ msgstr "" msgid "Create Part Variant" msgstr "" +#: templates/js/translated/part.js:405 +msgid "Active Part" +msgstr "" + +#: templates/js/translated/part.js:406 +msgid "Part cannot be deleted as it is currently active" +msgstr "" + +#: templates/js/translated/part.js:420 +msgid "Deleting this part cannot be reversed" +msgstr "" + +#: templates/js/translated/part.js:422 +msgid "Any stock items for this part will be deleted" +msgstr "" + #: templates/js/translated/part.js:423 +msgid "This part will be removed from any Bills of Material" +msgstr "" + +#: templates/js/translated/part.js:424 +msgid "All manufacturer and supplier information for this part will be deleted" +msgstr "" + +#: templates/js/translated/part.js:431 +msgid "Delete Part" +msgstr "" + +#: templates/js/translated/part.js:467 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:425 +#: templates/js/translated/part.js:469 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:474 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:476 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:493 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:503 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:506 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:487 +#: templates/js/translated/part.js:531 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:513 templates/js/translated/part.js:1397 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1441 #: templates/js/translated/table_filters.js:452 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:523 templates/js/translated/part.js:1409 +#: templates/js/translated/part.js:567 templates/js/translated/part.js:1453 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:557 templates/js/translated/part.js:642 +#: templates/js/translated/part.js:601 templates/js/translated/part.js:686 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:561 templates/js/translated/part.js:646 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:690 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:617 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:577 +#: templates/js/translated/part.js:621 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:705 +#: templates/js/translated/part.js:749 msgid "No variants found" msgstr "Çeşit bulunamadı" -#: templates/js/translated/part.js:1095 +#: templates/js/translated/part.js:1139 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1119 +#: templates/js/translated/part.js:1163 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1184 templates/js/translated/part.js:1480 +#: templates/js/translated/part.js:1228 templates/js/translated/part.js:1524 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1223 +#: templates/js/translated/part.js:1267 msgid "Not available" msgstr "" -#: templates/js/translated/part.js:1374 +#: templates/js/translated/part.js:1418 msgid "No category" msgstr "Katagori Yok" -#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664 -#: templates/js/translated/stock.js:2238 +#: templates/js/translated/part.js:1548 templates/js/translated/part.js:1760 +#: templates/js/translated/stock.js:2248 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1520 +#: templates/js/translated/part.js:1564 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2257 +#: templates/js/translated/part.js:1630 +msgid "Set the part category for the selected parts" +msgstr "" + +#: templates/js/translated/part.js:1635 +msgid "Set Part Category" +msgstr "" + +#: templates/js/translated/part.js:1640 +msgid "Select Part Category" +msgstr "" + +#: templates/js/translated/part.js:1653 +msgid "Category is required" +msgstr "" + +#: templates/js/translated/part.js:1779 templates/js/translated/stock.js:2267 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1747 +#: templates/js/translated/part.js:1843 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2301 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2311 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:1901 msgid "No test templates matching query" msgstr "Sorgu ile eşleşen test şablonu bulunamadı" -#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1233 +#: templates/js/translated/part.js:1952 templates/js/translated/stock.js:1243 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1234 -#: templates/js/translated/stock.js:1493 +#: templates/js/translated/part.js:1953 templates/js/translated/stock.js:1244 +#: templates/js/translated/stock.js:1503 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1863 +#: templates/js/translated/part.js:1959 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1885 +#: templates/js/translated/part.js:1981 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:1995 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1924 +#: templates/js/translated/part.js:2020 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1981 +#: templates/js/translated/part.js:2077 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1982 +#: templates/js/translated/part.js:2078 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:2096 +#: templates/js/translated/part.js:2192 msgid "Current Stock" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2225 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2155 +#: templates/js/translated/part.js:2251 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2225 +#: templates/js/translated/part.js:2321 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:2244 +#: templates/js/translated/part.js:2340 msgid "Single Price Difference" msgstr "" @@ -9378,360 +9415,360 @@ msgstr "" msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:72 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:101 +#: templates/js/translated/stock.js:100 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:109 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:139 +#: templates/js/translated/stock.js:138 msgid "Edit Stock Location" msgstr "Stok konumunu düzenle" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:153 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:194 +#: templates/js/translated/stock.js:193 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:233 +#: templates/js/translated/stock.js:232 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:239 +#: templates/js/translated/stock.js:238 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:303 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:324 +#: templates/js/translated/stock.js:323 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:344 +#: templates/js/translated/stock.js:343 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:394 +#: templates/js/translated/stock.js:393 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:407 +#: templates/js/translated/stock.js:406 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:431 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:453 +#: templates/js/translated/stock.js:452 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:472 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:481 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:605 +#: templates/js/translated/stock.js:604 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:606 +#: templates/js/translated/stock.js:605 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:683 +#: templates/js/translated/stock.js:682 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:684 +#: templates/js/translated/stock.js:683 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:686 +#: templates/js/translated/stock.js:685 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:687 +#: templates/js/translated/stock.js:686 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:772 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:774 +#: templates/js/translated/stock.js:773 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:869 +#: templates/js/translated/stock.js:868 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:869 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:876 +#: templates/js/translated/stock.js:875 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:876 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:881 +#: templates/js/translated/stock.js:880 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:882 +#: templates/js/translated/stock.js:881 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:886 +#: templates/js/translated/stock.js:885 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:887 users/models.py:215 +#: templates/js/translated/stock.js:886 users/models.py:215 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1024 +#: templates/js/translated/stock.js:1023 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1047 +#: templates/js/translated/stock.js:1046 msgid "Confirm stock adjustment" msgstr "Stok ayarlamasını onayla" -#: templates/js/translated/stock.js:1172 +#: templates/js/translated/stock.js:1182 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1174 +#: templates/js/translated/stock.js:1184 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1179 +#: templates/js/translated/stock.js:1189 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1226 +#: templates/js/translated/stock.js:1236 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1229 +#: templates/js/translated/stock.js:1239 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1255 +#: templates/js/translated/stock.js:1265 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1321 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1476 +#: templates/js/translated/stock.js:1486 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1498 +#: templates/js/translated/stock.js:1508 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1527 +#: templates/js/translated/stock.js:1537 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1531 +#: templates/js/translated/stock.js:1541 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1539 +#: templates/js/translated/stock.js:1549 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1545 +#: templates/js/translated/stock.js:1555 msgid "No stock location set" msgstr "Stok konumu ayarlanmadı" -#: templates/js/translated/stock.js:1712 +#: templates/js/translated/stock.js:1722 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1727 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1720 +#: templates/js/translated/stock.js:1730 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1723 +#: templates/js/translated/stock.js:1733 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1725 +#: templates/js/translated/stock.js:1735 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1727 +#: templates/js/translated/stock.js:1737 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1730 +#: templates/js/translated/stock.js:1740 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1734 +#: templates/js/translated/stock.js:1744 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1746 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1743 +#: templates/js/translated/stock.js:1753 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1755 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:1757 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1751 +#: templates/js/translated/stock.js:1761 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1802 +#: templates/js/translated/stock.js:1812 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1894 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1932 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2095 +#: templates/js/translated/stock.js:2105 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2109 +#: templates/js/translated/stock.js:2119 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2120 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2375 msgid "Details" msgstr "Detaylar" -#: templates/js/translated/stock.js:2381 +#: templates/js/translated/stock.js:2391 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2403 +#: templates/js/translated/stock.js:2413 msgid "Location no longer exists" msgstr "Konum artık yok" -#: templates/js/translated/stock.js:2422 +#: templates/js/translated/stock.js:2432 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2441 +#: templates/js/translated/stock.js:2451 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2459 +#: templates/js/translated/stock.js:2469 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2482 +#: templates/js/translated/stock.js:2492 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2490 +#: templates/js/translated/stock.js:2500 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2566 +#: templates/js/translated/stock.js:2576 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2617 templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2663 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2666 +#: templates/js/translated/stock.js:2676 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2697 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2688 +#: templates/js/translated/stock.js:2698 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2690 +#: templates/js/translated/stock.js:2700 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/stock.js:2701 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2702 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2693 +#: templates/js/translated/stock.js:2703 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2716 msgid "Select part to install" msgstr "" diff --git a/InvenTree/locale/vi/LC_MESSAGES/django.po b/InvenTree/locale/vi/LC_MESSAGES/django.po index ea80c61690..e1bab96356 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-06-05 14:26+0000\n" -"PO-Revision-Date: 2022-06-05 14:34\n" +"POT-Creation-Date: 2022-06-06 22:59+0000\n" +"PO-Revision-Date: 2022-06-07 14:34\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:46 +#: InvenTree/api.py:49 msgid "API endpoint not found" msgstr "" @@ -29,275 +29,273 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:630 -msgid "Confirm" -msgstr "" - -#: InvenTree/forms.py:134 +#: InvenTree/forms.py:117 msgid "Confirm delete" msgstr "" -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:118 msgid "Confirm item deletion" msgstr "" -#: InvenTree/forms.py:167 +#: InvenTree/forms.py:150 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:151 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:158 msgid "Confirm password" msgstr "Xác nhận mật khẩu" -#: InvenTree/forms.py:176 +#: InvenTree/forms.py:159 msgid "Confirm new password" msgstr "Xác nhận mật khẩu mới" -#: InvenTree/forms.py:213 -msgid "Select Category" -msgstr "Chọn danh mục" - -#: InvenTree/forms.py:234 +#: InvenTree/forms.py:184 msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:238 +#: InvenTree/forms.py:188 msgid "Email address confirmation" msgstr "" -#: InvenTree/forms.py:259 +#: InvenTree/forms.py:209 msgid "You must type the same email each time." msgstr "" -#: InvenTree/helpers.py:402 +#: InvenTree/helpers.py:404 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 +#: InvenTree/helpers.py:411 order/models.py:370 order/models.py:522 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:412 +#: InvenTree/helpers.py:414 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:444 +#: InvenTree/helpers.py:446 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:447 +#: InvenTree/helpers.py:449 #, python-brace-format msgid "Invalid group: {g}" msgstr "" -#: InvenTree/helpers.py:475 +#: InvenTree/helpers.py:477 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:483 +#: InvenTree/helpers.py:485 #, python-brace-format msgid "Invalid/no group {group}" msgstr "" -#: InvenTree/helpers.py:489 +#: InvenTree/helpers.py:491 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:493 +#: InvenTree/helpers.py:495 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:174 +#: InvenTree/models.py:178 msgid "Missing file" msgstr "" -#: InvenTree/models.py:175 +#: InvenTree/models.py:179 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:187 stock/models.py:2087 -#: templates/js/translated/attachment.js:101 -#: templates/js/translated/attachment.js:198 +#: InvenTree/models.py:191 stock/models.py:2091 +#: templates/js/translated/attachment.js:103 +#: templates/js/translated/attachment.js:194 msgid "Attachment" msgstr "" -#: InvenTree/models.py:188 +#: InvenTree/models.py:192 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 -#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: InvenTree/models.py:198 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:136 order/models.py:1251 #: 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 -#: templates/js/translated/part.js:1441 +#: templates/js/translated/company.js:640 +#: templates/js/translated/company.js:931 templates/js/translated/order.js:2676 +#: templates/js/translated/part.js:1485 msgid "Link" msgstr "" -#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: InvenTree/models.py:199 build/models.py:320 part/models.py:796 #: stock/models.py:642 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 -#: templates/js/translated/attachment.js:242 +#: InvenTree/models.py:202 templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:238 msgid "Comment" msgstr "Bình luận" -#: InvenTree/models.py:198 +#: InvenTree/models.py:202 msgid "File comment" msgstr "" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1506 +#: common/models.py:1507 common/models.py:1735 common/models.py:1736 +#: common/models.py:1998 common/models.py:1999 part/models.py:2141 +#: part/models.py:2161 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:2523 msgid "User" msgstr "Người dùng" -#: InvenTree/models.py:208 +#: InvenTree/models.py:212 msgid "upload date" msgstr "Ngày tải lên" -#: InvenTree/models.py:230 +#: InvenTree/models.py:234 msgid "Filename must not be empty" msgstr "Tên tập tin không được để trống" -#: InvenTree/models.py:253 +#: InvenTree/models.py:257 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:263 +#: InvenTree/models.py:267 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:266 +#: InvenTree/models.py:270 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:273 +#: InvenTree/models.py:277 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:280 +#: InvenTree/models.py:284 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:314 +#: InvenTree/models.py:318 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 #: company/models.py:354 label/models.py:101 part/models.py:739 -#: part/models.py:2331 plugin/models.py:93 report/models.py:151 +#: part/models.py:2319 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 #: templates/InvenTree/settings/plugin.html:132 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:346 -#: 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:2283 +#: templates/js/translated/company.js:530 +#: templates/js/translated/company.js:742 templates/js/translated/part.js:659 +#: templates/js/translated/part.js:811 templates/js/translated/part.js:1832 +#: templates/js/translated/stock.js:2293 msgid "Name" msgstr "" -#: InvenTree/models.py:340 build/models.py:197 +#: InvenTree/models.py:344 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: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:164 +#: order/models.py:134 part/models.py:762 part/templates/part/category.html:74 +#: part/templates/part/part_base.html:167 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 -#: 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/bom.js:553 templates/js/translated/bom.js:845 +#: templates/js/translated/build.js:2476 templates/js/translated/company.js:395 +#: templates/js/translated/company.js:651 +#: templates/js/translated/company.js:942 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:1676 -#: templates/js/translated/stock.js:2295 templates/js/translated/stock.js:2350 +#: templates/js/translated/part.js:718 templates/js/translated/part.js:1126 +#: templates/js/translated/part.js:1399 templates/js/translated/part.js:1851 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:1686 +#: templates/js/translated/stock.js:2305 templates/js/translated/stock.js:2360 msgid "Description" msgstr "Mô tả" -#: InvenTree/models.py:341 +#: InvenTree/models.py:345 msgid "Description (optional)" msgstr "Mô tả (tùy chọn)" -#: InvenTree/models.py:349 +#: InvenTree/models.py:353 msgid "parent" msgstr "" -#: InvenTree/serializers.py:52 part/models.py:2652 +#: InvenTree/models.py:466 +msgid "Server Error" +msgstr "" + +#: InvenTree/models.py:467 +msgid "An error has been logged by the server." +msgstr "" + +#: InvenTree/serializers.py:52 part/models.py:2640 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:271 +#: InvenTree/serializers.py:263 msgid "Filename" msgstr "Tên tập tin" -#: InvenTree/serializers.py:306 +#: InvenTree/serializers.py:298 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:320 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:321 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:342 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:348 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:377 +#: InvenTree/serializers.py:369 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:372 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:495 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:506 +#: InvenTree/serializers.py:498 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:583 +#: InvenTree/serializers.py:575 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:592 +#: InvenTree/serializers.py:584 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" @@ -440,7 +438,7 @@ msgstr "" msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:141 order/models.py:1114 +#: InvenTree/status_codes.py:141 order/models.py:1130 #: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "" @@ -525,7 +523,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2020 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2030 msgid "Merged stock items" msgstr "" @@ -597,27 +595,27 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:522 +#: InvenTree/views.py:521 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:571 +#: InvenTree/views.py:570 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:585 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:597 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "" -#: InvenTree/views.py:618 +#: InvenTree/views.py:617 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:842 templates/navbar.html:152 +#: InvenTree/views.py:807 templates/navbar.html:152 msgid "System Information" msgstr "Thông tin hệ thống" @@ -628,6 +626,7 @@ msgstr "" #: 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/email/overdue_build_order.html:15 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "Tạo đơn hàng" @@ -646,12 +645,12 @@ msgstr "Tạo đơn hàng" msgid "Build Order Reference" msgstr "" -#: build/models.py:189 order/models.py:288 order/models.py:638 -#: order/models.py:916 part/models.py:2570 +#: build/models.py:189 order/models.py:293 order/models.py:654 +#: order/models.py:932 part/models.py:2558 #: 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/bom.js:690 templates/js/translated/bom.js:852 #: 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:3959 @@ -673,13 +672,12 @@ msgstr "" #: 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:2460 part/models.py:2545 part/models.py:2821 -#: part/serializers.py:793 part/templates/part/part_app_base.html:8 +#: order/models.py:1028 order/models.py:1119 part/models.py:336 +#: part/models.py:2087 part/models.py:2102 part/models.py:2121 +#: part/models.py:2139 part/models.py:2238 part/models.py:2358 +#: part/models.py:2448 part/models.py:2533 part/models.py:2809 +#: part/serializers.py:795 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 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 @@ -687,22 +685,23 @@ msgstr "" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 +#: templates/email/overdue_build_order.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:805 +#: templates/js/translated/bom.js:689 templates/js/translated/bom.js:799 #: 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/company.js:253 +#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:592 +#: templates/js/translated/company.js:851 templates/js/translated/order.js:100 #: templates/js/translated/order.js:883 templates/js/translated/order.js:1315 #: 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:1633 templates/js/translated/stock.js:2376 -#: templates/js/translated/stock.js:2571 templates/js/translated/stock.js:2705 +#: templates/js/translated/part.js:1111 templates/js/translated/part.js:1181 +#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:695 templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2386 +#: templates/js/translated/stock.js:2581 templates/js/translated/stock.js:2715 msgid "Part" msgstr "Nguyên liệu" @@ -768,12 +767,12 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:282 order/models.py:137 part/models.py:932 +#: build/models.py:282 order/models.py:138 part/models.py:932 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "" -#: build/models.py:286 order/models.py:660 +#: build/models.py:286 order/models.py:676 msgid "Target completion date" msgstr "" @@ -781,7 +780,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:290 order/models.py:331 +#: build/models.py:290 order/models.py:336 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "Ngày hoàn thành" @@ -799,7 +798,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:313 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:151 +#: build/templates/build/detail.html:115 order/models.py:152 #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 @@ -822,20 +821,20 @@ msgstr "" #: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 #: company/models.py:519 company/templates/company/sidebar.html:25 -#: order/models.py:155 order/models.py:918 order/models.py:1213 +#: order/models.py:156 order/models.py:934 order/models.py:1229 #: order/templates/order/po_sidebar.html:11 #: 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:713 stock/models.py:1985 stock/models.py:2093 +#: stock/models.py:713 stock/models.py:1989 stock/models.py:2097 #: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:486 -#: stock/serializers.py:772 stock/serializers.py:871 stock/serializers.py:1003 +#: stock/serializers.py:759 stock/serializers.py:858 stock/serializers.py:990 #: 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/barcode.js:100 templates/js/translated/bom.js:1038 +#: templates/js/translated/company.js:947 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 -#: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 +#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1926 msgid "Notes" msgstr "" @@ -855,44 +854,44 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1108 +#: build/models.py:1111 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1117 +#: build/models.py:1120 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1127 +#: build/models.py:1130 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1133 order/models.py:1372 +#: build/models.py:1136 order/models.py:1388 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1139 +#: build/models.py:1142 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1196 +#: build/models.py:1199 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1265 stock/templates/stock/item_base.html:177 +#: build/models.py:1268 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:1266 +#: build/models.py:1269 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 -#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:703 -#: stock/serializers.py:829 stock/templates/stock/item_base.html:10 +#: build/models.py:1285 build/serializers.py:603 order/serializers.py:996 +#: order/serializers.py:1017 stock/serializers.py:382 stock/serializers.py:690 +#: stock/serializers.py:816 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 @@ -900,22 +899,22 @@ msgstr "" #: 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:2449 +#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696 +#: templates/js/translated/stock.js:2459 msgid "Stock Item" msgstr "" -#: build/models.py:1283 +#: build/models.py:1286 msgid "Source stock item" msgstr "" -#: build/models.py:1295 build/serializers.py:183 +#: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1536 +#: build/templates/build/detail.html:34 common/models.py:1543 #: 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:68 -#: part/forms.py:83 part/forms.py:98 part/models.py:2561 +#: order/models.py:925 order/models.py:1428 order/serializers.py:1136 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 +#: part/forms.py:74 part/forms.py:89 part/models.py:2549 #: 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 @@ -926,8 +925,8 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:139 #: 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 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:691 +#: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 #: templates/js/translated/build.js:574 templates/js/translated/build.js:765 #: templates/js/translated/build.js:1175 templates/js/translated/build.js:1673 #: templates/js/translated/build.js:2086 @@ -937,23 +936,23 @@ msgstr "" #: 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: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 -#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727 -#: templates/js/translated/stock.js:2498 templates/js/translated/stock.js:2583 +#: templates/js/translated/part.js:1011 templates/js/translated/part.js:2065 +#: templates/js/translated/part.js:2296 templates/js/translated/part.js:2330 +#: templates/js/translated/part.js:2408 templates/js/translated/stock.js:402 +#: templates/js/translated/stock.js:556 templates/js/translated/stock.js:726 +#: templates/js/translated/stock.js:2508 templates/js/translated/stock.js:2593 msgid "Quantity" msgstr "" -#: build/models.py:1296 +#: build/models.py:1299 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1304 +#: build/models.py:1307 msgid "Install into" msgstr "" -#: build/models.py:1305 +#: build/models.py:1308 msgid "Destination stock item" msgstr "" @@ -982,9 +981,9 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: 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:1239 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:368 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:514 +#: part/serializers.py:958 stock/models.py:470 stock/models.py:1239 #: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" @@ -997,9 +996,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 #: stock/serializers.py:297 templates/js/translated/order.js:1186 -#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:237 templates/js/translated/stock.js:403 msgid "Serial Numbers" msgstr "" @@ -1015,7 +1014,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:552 +#: build/serializers.py:268 stock/api.py:553 msgid "The following serial numbers already exist" msgstr "" @@ -1025,16 +1024,16 @@ msgstr "" #: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 #: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:481 -#: stock/serializers.py:864 stock/serializers.py:1097 +#: stock/serializers.py:851 stock/serializers.py:1084 #: 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 #: 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:1787 templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532 +#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904 +#: templates/js/translated/stock.js:1797 templates/js/translated/stock.js:2400 msgid "Location" msgstr "" @@ -1043,12 +1042,12 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:363 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:654 +#: build/templates/build/detail.html:62 order/models.py:670 #: 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 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1772 +#: templates/js/translated/stock.js:2477 templates/js/translated/stock.js:2609 msgid "Status" msgstr "Trạng thái" @@ -1108,8 +1107,8 @@ msgstr "" msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:535 build/serializers.py:580 part/models.py:2679 -#: part/models.py:2813 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2667 +#: part/models.py:2801 msgid "BOM Item" msgstr "" @@ -1125,11 +1124,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:716 +#: build/serializers.py:609 stock/serializers.py:703 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:667 order/serializers.py:1052 +#: build/serializers.py:667 order/serializers.py:1054 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1146,7 +1145,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:708 order/serializers.py:1298 +#: build/serializers.py:708 order/serializers.py:1300 msgid "Allocation items must be provided" msgstr "" @@ -1178,10 +1177,19 @@ msgstr "" msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:96 +#: build/tasks.py:100 msgid "Stock required for build order" msgstr "" +#: build/tasks.py:118 +msgid "Overdue Build Order" +msgstr "" + +#: build/tasks.py:123 +#, python-brace-format +msgid "Build order {bo} is now overdue" +msgstr "" + #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 #: order/templates/order/sales_order_base.html:38 @@ -1244,13 +1252,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:922 +#: build/templates/build/detail.html:131 order/models.py:938 #: 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: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 +#: templates/js/translated/order.js:3517 templates/js/translated/part.js:1015 msgid "Target Date" msgstr "" @@ -1277,13 +1285,14 @@ msgid "Completed" msgstr "Đã hoàn thành" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1100 -#: order/models.py:1185 order/models.py:1320 +#: build/templates/build/detail.html:94 order/models.py:1116 +#: order/models.py:1201 order/models.py:1336 #: 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/email/overdue_sales_order.html:15 #: templates/js/translated/order.js:2436 msgid "Sales Order" msgstr "" @@ -1319,7 +1328,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1034 +#: build/templates/build/detail.html:49 order/models.py:1050 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "" @@ -1336,8 +1345,8 @@ msgstr "" #: stock/templates/stock/item_base.html:170 #: templates/js/translated/build.js:1179 #: templates/js/translated/model_renderers.js:112 -#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1776 -#: templates/js/translated/stock.js:2606 +#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:2616 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1716,7 +1725,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:820 part/models.py:2372 report/models.py:157 +#: common/models.py:820 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" @@ -1726,7 +1735,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" @@ -1880,7 +1889,7 @@ msgid "Default page size for PDF reports" msgstr "" #: common/models.py:968 -msgid "Test Reports" +msgid "Enable Test Reports" msgstr "" #: common/models.py:969 @@ -1888,568 +1897,576 @@ msgid "Enable generation of test reports" msgstr "" #: common/models.py:975 -msgid "Batch Code Template" +msgid "Attach Test Reports" msgstr "" #: common/models.py:976 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:981 -msgid "Stock Expiry" +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" #: common/models.py:982 -msgid "Enable stock expiry functionality" +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:983 +msgid "Template for generating default batch codes for stock items" msgstr "" #: common/models.py:988 -msgid "Sell Expired Stock" +msgid "Stock Expiry" msgstr "" #: common/models.py:989 -msgid "Allow sale of expired stock" +msgid "Enable stock expiry functionality" msgstr "" #: common/models.py:995 -msgid "Stock Stale Time" +msgid "Sell Expired Stock" msgstr "" #: common/models.py:996 -msgid "Number of days stock items are considered stale before expiring" +msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:998 -msgid "days" +#: common/models.py:1002 +msgid "Stock Stale Time" msgstr "" #: common/models.py:1003 -msgid "Build Expired Stock" +msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1004 -msgid "Allow building with expired stock" +#: common/models.py:1005 +msgid "days" msgstr "" #: common/models.py:1010 -msgid "Stock Ownership Control" +msgid "Build Expired Stock" msgstr "" #: common/models.py:1011 -msgid "Enable ownership control over stock locations and items" +msgid "Allow building with expired stock" msgstr "" #: common/models.py:1017 -msgid "Build Order Reference Prefix" +msgid "Stock Ownership Control" msgstr "" #: common/models.py:1018 -msgid "Prefix value for build order reference" -msgstr "" - -#: common/models.py:1023 -msgid "Build Order Reference Regex" +msgid "Enable ownership control over stock locations and items" msgstr "" #: common/models.py:1024 +msgid "Build Order Reference Prefix" +msgstr "" + +#: common/models.py:1025 +msgid "Prefix value for build order reference" +msgstr "" + +#: common/models.py:1030 +msgid "Build Order Reference Regex" +msgstr "" + +#: common/models.py:1031 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1029 +#: common/models.py:1036 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1041 +#: common/models.py:1048 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1042 +#: common/models.py:1049 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1048 +#: common/models.py:1055 msgid "Enable password forgot" msgstr "" -#: common/models.py:1049 +#: common/models.py:1056 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1055 +#: common/models.py:1062 msgid "Enable registration" msgstr "" -#: common/models.py:1056 +#: common/models.py:1063 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1069 msgid "Enable SSO" msgstr "" -#: common/models.py:1063 +#: common/models.py:1070 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1069 +#: common/models.py:1076 msgid "Email required" msgstr "" -#: common/models.py:1070 +#: common/models.py:1077 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1076 +#: common/models.py:1083 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1077 +#: common/models.py:1084 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1083 +#: common/models.py:1090 msgid "Mail twice" msgstr "" -#: common/models.py:1084 +#: common/models.py:1091 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1090 +#: common/models.py:1097 msgid "Password twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1098 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1097 +#: common/models.py:1104 msgid "Group on signup" msgstr "" -#: common/models.py:1098 +#: common/models.py:1105 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1104 +#: common/models.py:1111 msgid "Enforce MFA" msgstr "" -#: common/models.py:1105 +#: common/models.py:1112 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1111 +#: common/models.py:1118 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1112 +#: common/models.py:1119 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1120 +#: common/models.py:1127 msgid "Enable URL integration" msgstr "" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1136 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1136 +#: common/models.py:1143 msgid "Enable app integration" msgstr "" -#: common/models.py:1137 +#: common/models.py:1144 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1144 +#: common/models.py:1151 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1145 +#: common/models.py:1152 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1152 +#: common/models.py:1159 msgid "Enable event integration" msgstr "" -#: common/models.py:1153 +#: common/models.py:1160 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1170 common/models.py:1492 +#: common/models.py:1177 common/models.py:1499 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1192 +#: common/models.py:1199 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1193 +#: common/models.py:1200 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1199 +#: common/models.py:1206 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1200 +#: common/models.py:1207 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1213 msgid "Show latest parts" msgstr "Hiển thị nguyên liệu mới nhất" -#: common/models.py:1207 +#: common/models.py:1214 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:1213 +#: common/models.py:1220 msgid "Recent Part Count" msgstr "" -#: common/models.py:1214 +#: common/models.py:1221 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1220 +#: common/models.py:1227 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1221 +#: common/models.py:1228 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1227 +#: common/models.py:1234 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1228 +#: common/models.py:1235 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1235 +#: common/models.py:1242 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Show low stock" msgstr "" -#: common/models.py:1242 +#: common/models.py:1249 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Show depleted stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1256 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1262 msgid "Show needed stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1263 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1269 msgid "Show expired stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1270 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1276 msgid "Show stale stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Show pending builds" msgstr "" -#: common/models.py:1277 +#: common/models.py:1284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Show overdue builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1291 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1291 +#: common/models.py:1298 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Show overdue POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1305 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1312 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1318 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1319 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1317 +#: common/models.py:1324 msgid "Enable label printing" msgstr "" -#: common/models.py:1318 +#: common/models.py:1325 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1324 +#: common/models.py:1331 msgid "Inline label display" msgstr "" -#: common/models.py:1325 +#: common/models.py:1332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1331 +#: common/models.py:1338 msgid "Inline report display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1345 msgid "Search Parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1345 +#: common/models.py:1352 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1359 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1366 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1367 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1373 msgid "Search Categories" msgstr "" -#: common/models.py:1367 +#: common/models.py:1374 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1380 msgid "Search Stock" msgstr "" -#: common/models.py:1374 +#: common/models.py:1381 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1387 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1381 +#: common/models.py:1388 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1394 msgid "Search Locations" msgstr "" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1401 msgid "Search Companies" msgstr "" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1408 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1415 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1422 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1429 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Search Preview Results" msgstr "" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1457 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1457 +#: common/models.py:1464 msgid "Date Format" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1472 part/templates/part/detail.html:39 +#: common/models.py:1479 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1473 +#: common/models.py:1480 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1537 company/forms.py:37 +#: common/models.py:1544 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: 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 +#: common/models.py:1551 company/serializers.py:290 +#: company/templates/company/supplier_part.html:263 order/models.py:965 +#: templates/js/translated/part.js:1042 templates/js/translated/part.js:2070 msgid "Price" msgstr "" -#: common/models.py:1545 +#: common/models.py:1552 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1705 common/models.py:1883 +#: common/models.py:1712 common/models.py:1890 msgid "Endpoint" msgstr "" -#: common/models.py:1706 +#: common/models.py:1713 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1715 +#: common/models.py:1722 msgid "Name for this webhook" msgstr "" -#: common/models.py:1720 part/models.py:911 plugin/models.py:99 +#: common/models.py:1727 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 @@ -2457,79 +2474,89 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1721 +#: common/models.py:1728 msgid "Is this webhook active" msgstr "" -#: common/models.py:1735 +#: common/models.py:1742 msgid "Token" msgstr "" -#: common/models.py:1736 +#: common/models.py:1743 msgid "Token for access" msgstr "" -#: common/models.py:1743 +#: common/models.py:1750 msgid "Secret" msgstr "" -#: common/models.py:1744 +#: common/models.py:1751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Message ID" msgstr "" -#: common/models.py:1851 +#: common/models.py:1858 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1859 +#: common/models.py:1866 msgid "Host" msgstr "" -#: common/models.py:1860 +#: common/models.py:1867 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1867 +#: common/models.py:1874 msgid "Header" msgstr "" -#: common/models.py:1868 +#: common/models.py:1875 msgid "Header of this message" msgstr "" -#: common/models.py:1874 +#: common/models.py:1881 msgid "Body" msgstr "" -#: common/models.py:1875 +#: common/models.py:1882 msgid "Body of this message" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1889 +#: common/models.py:1896 msgid "Worked on" msgstr "" -#: common/models.py:1890 +#: common/models.py:1897 msgid "Was the work on this message finished?" msgstr "" +#: common/notifications.py:292 +#, python-brace-format +msgid "New {verbose_name}" +msgstr "" + +#: common/notifications.py:294 +#, python-brace-format +msgid "A new {verbose_name} has been created and ,assigned to you" +msgstr "" + #: common/views.py:87 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:191 +#: order/views.py:102 part/views.py:116 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:192 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:117 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -2545,19 +2572,19 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:511 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:16 part/forms.py:21 +#: company/forms.py:16 part/forms.py:18 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:17 part/forms.py:22 +#: company/forms.py:17 part/forms.py:19 msgid "Image URL" msgstr "" @@ -2571,7 +2598,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:405 +#: templates/js/translated/company.js:399 msgid "Website" msgstr "" @@ -2644,9 +2671,9 @@ msgstr "" msgid "Does this company manufacture parts?" msgstr "" -#: 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 +#: company/models.py:144 company/serializers.py:296 +#: company/templates/company/company_base.html:106 part/serializers.py:139 +#: part/serializers.py:170 stock/serializers.py:162 msgid "Currency" msgstr "" @@ -2667,10 +2694,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: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/company.js:383 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:617 +#: templates/js/translated/company.js:902 templates/js/translated/part.js:235 #: templates/js/translated/table_filters.js:411 msgid "Manufacturer" msgstr "Nhà sản xuất" @@ -2681,11 +2708,11 @@ msgstr "" #: 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 -#: 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 +#: templates/js/translated/company.js:256 +#: templates/js/translated/company.js:483 +#: templates/js/translated/company.js:633 +#: templates/js/translated/company.js:920 templates/js/translated/order.js:1907 +#: templates/js/translated/part.js:246 templates/js/translated/part.js:1000 msgid "MPN" msgstr "" @@ -2714,9 +2741,9 @@ msgstr "" #: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2080 templates/js/translated/company.js:540 -#: templates/js/translated/company.js:763 templates/js/translated/part.js:776 -#: templates/js/translated/stock.js:1294 +#: stock/models.py:2084 templates/js/translated/company.js:531 +#: templates/js/translated/company.js:748 templates/js/translated/part.js:820 +#: templates/js/translated/stock.js:1304 msgid "Value" msgstr "" @@ -2724,10 +2751,10 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:368 part/models.py:878 part/models.py:2339 +#: company/models.py:368 part/models.py:878 part/models.py:2327 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:351 -#: templates/js/translated/company.js:769 templates/js/translated/part.js:782 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:826 msgid "Units" msgstr "" @@ -2740,13 +2767,14 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:487 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:303 +#: company/templates/company/supplier_part.html:87 order/models.py:308 #: 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 -#: 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/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:255 +#: templates/js/translated/company.js:387 +#: templates/js/translated/company.js:876 templates/js/translated/order.js:1643 +#: templates/js/translated/part.js:216 templates/js/translated/part.js:968 #: templates/js/translated/table_filters.js:415 msgid "Supplier" msgstr "Nhà cung cấp" @@ -2756,9 +2784,9 @@ msgid "Select supplier" msgstr "" #: 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 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:254 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 -#: templates/js/translated/part.js:942 +#: templates/js/translated/part.js:986 msgid "SKU" msgstr "" @@ -2779,23 +2807,23 @@ msgid "Supplier part description" msgstr "" #: company/models.py:518 company/templates/company/supplier_part.html:125 -#: part/models.py:2573 part/templates/part/upload_bom.html:59 +#: part/models.py:2561 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:387 msgid "Note" msgstr "" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "base cost" msgstr "" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "Minimum charge (e.g. stocking fee)" msgstr "" #: 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 +#: templates/js/translated/company.js:952 templates/js/translated/stock.js:1922 msgid "Packaging" msgstr "" @@ -2803,7 +2831,7 @@ msgstr "" msgid "Part packaging" msgstr "" -#: company/models.py:526 part/models.py:1690 +#: company/models.py:526 part/models.py:1685 msgid "multiple" msgstr "" @@ -2825,7 +2853,7 @@ msgstr "" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:177 templates/js/translated/company.js:378 +#: templates/InvenTree/search.html:177 templates/js/translated/company.js:372 msgid "Company" msgstr "" @@ -2843,7 +2871,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:321 +#: templates/js/translated/company.js:315 msgid "Edit Company" msgstr "" @@ -2866,12 +2894,13 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:649 +#: company/templates/company/company_base.html:86 order/models.py:665 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:758 +#: stock/models.py:628 stock/serializers.py:745 #: 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 +#: templates/email/overdue_sales_order.html:16 +#: templates/js/translated/company.js:379 templates/js/translated/order.js:2458 +#: templates/js/translated/stock.js:2441 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "" @@ -2999,7 +3028,7 @@ msgid "Supplier List" msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:45 -#: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 +#: part/templates/part/prices.html:172 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -3012,12 +3041,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:680 +#: templates/js/translated/company.js:665 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:681 +#: templates/js/translated/company.js:666 msgid "Delete manufacturer part" msgstr "" @@ -3032,7 +3061,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:39 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 +#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" msgstr "" @@ -3092,18 +3121,18 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: 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 +#: templates/js/translated/company.js:892 templates/js/translated/order.js:884 +#: templates/js/translated/stock.js:1879 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:38 -#: templates/js/translated/company.js:980 +#: templates/js/translated/company.js:965 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:42 -#: templates/js/translated/company.js:981 +#: templates/js/translated/company.js:966 msgid "Delete supplier part" msgstr "" @@ -3123,7 +3152,7 @@ msgstr "" #: company/templates/company/supplier_part.html:148 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 -#: templates/js/translated/stock.js:380 +#: templates/js/translated/stock.js:379 msgid "New Stock Item" msgstr "" @@ -3144,7 +3173,7 @@ msgstr "" #: company/templates/company/supplier_part.html:191 #: company/templates/company/supplier_part.html:305 -#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046 +#: part/templates/part/prices.html:276 templates/js/translated/part.js:2142 msgid "Add Price Break" msgstr "" @@ -3153,12 +3182,12 @@ msgid "No price break information found" msgstr "" #: company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2152 msgid "Delete Price Break" msgstr "" #: company/templates/company/supplier_part.html:245 -#: templates/js/translated/part.js:2070 +#: templates/js/translated/part.js:2166 msgid "Edit Price Break" msgstr "" @@ -3180,9 +3209,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: 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:1687 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:722 +#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1431 +#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 msgid "Stock" msgstr "Kiện hàng" @@ -3209,7 +3238,7 @@ msgstr "" #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 -#: templates/js/translated/stock.js:2307 users/models.py:39 +#: templates/js/translated/stock.js:2317 users/models.py:39 msgid "Stock Items" msgstr "" @@ -3238,20 +3267,20 @@ msgstr "" msgid "New Company" msgstr "" -#: company/views.py:112 part/views.py:576 +#: company/views.py:112 part/views.py:501 msgid "Download Image" msgstr "" -#: company/views.py:139 part/views.py:606 +#: company/views.py:139 part/views.py:531 msgid "Image size exceeds maximum allowable size for download" msgstr "" -#: company/views.py:146 part/views.py:613 +#: company/views.py:146 part/views.py:538 #, python-brace-format msgid "Invalid response: {code}" msgstr "" -#: company/views.py:155 part/views.py:622 +#: company/views.py:155 part/views.py:547 msgid "Supplied URL is not a valid image file" msgstr "" @@ -3320,313 +3349,314 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" -#: order/models.py:133 +#: order/models.py:134 msgid "Order description" msgstr "" -#: order/models.py:135 order/models.py:1236 +#: order/models.py:136 order/models.py:1252 msgid "Link to external page" msgstr "" -#: order/models.py:143 +#: order/models.py:144 msgid "Created By" msgstr "" -#: order/models.py:150 +#: order/models.py:151 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:155 +#: order/models.py:156 msgid "Order notes" msgstr "" -#: order/models.py:289 order/models.py:639 +#: order/models.py:294 order/models.py:655 msgid "Order reference" msgstr "" -#: order/models.py:294 order/models.py:654 +#: order/models.py:299 order/models.py:670 msgid "Purchase order status" msgstr "" -#: order/models.py:304 +#: order/models.py:309 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:307 order/templates/order/order_base.html:124 +#: order/models.py:312 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:307 +#: order/models.py:312 msgid "Supplier order reference code" msgstr "" -#: order/models.py:314 +#: order/models.py:319 msgid "received by" msgstr "" -#: order/models.py:319 +#: order/models.py:324 msgid "Issue Date" msgstr "" -#: order/models.py:320 +#: order/models.py:325 msgid "Date order was issued" msgstr "" -#: order/models.py:325 +#: order/models.py:330 msgid "Target Delivery Date" msgstr "" -#: order/models.py:326 +#: order/models.py:331 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:332 +#: order/models.py:337 msgid "Date order was completed" msgstr "" -#: order/models.py:368 +#: order/models.py:373 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:512 +#: order/models.py:517 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:650 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer Reference " msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer order reference code" msgstr "" -#: order/models.py:661 +#: order/models.py:677 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:664 order/models.py:1190 +#: order/models.py:680 order/models.py:1206 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:671 +#: order/models.py:687 msgid "shipped by" msgstr "" -#: order/models.py:726 +#: order/models.py:742 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:730 +#: order/models.py:746 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:733 +#: order/models.py:749 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:736 +#: order/models.py:752 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:910 +#: order/models.py:926 msgid "Item quantity" msgstr "" -#: order/models.py:916 +#: order/models.py:932 msgid "Line item reference" msgstr "" -#: order/models.py:918 +#: order/models.py:934 msgid "Line item notes" msgstr "" -#: order/models.py:923 +#: order/models.py:939 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:941 +#: order/models.py:957 msgid "Context" msgstr "" -#: order/models.py:942 +#: order/models.py:958 msgid "Additional context for this line" msgstr "" -#: order/models.py:950 +#: order/models.py:966 msgid "Unit price" msgstr "" -#: order/models.py:980 +#: order/models.py:996 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:988 +#: order/models.py:1004 msgid "deleted" msgstr "" -#: order/models.py:994 order/models.py:1074 order/models.py:1099 -#: order/models.py:1184 order/models.py:1320 +#: order/models.py:1010 order/models.py:1090 order/models.py:1115 +#: order/models.py:1200 order/models.py:1336 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:995 order/models.py:1074 +#: order/models.py:1011 order/models.py:1090 #: 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/email/overdue_purchase_order.html:15 #: 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 +#: templates/js/translated/part.js:943 templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:2422 msgid "Purchase Order" msgstr "Đơn hàng" -#: order/models.py:1013 +#: order/models.py:1029 msgid "Supplier part" msgstr "" -#: order/models.py:1020 order/templates/order/order_base.html:169 +#: order/models.py:1036 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/part.js:1037 templates/js/translated/part.js:1064 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1021 +#: order/models.py:1037 msgid "Number of items received" msgstr "" -#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: order/models.py:1044 part/templates/part/prices.html:181 stock/models.py:722 #: stock/serializers.py:153 stock/templates/stock/item_base.html:191 -#: templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:1910 msgid "Purchase Price" msgstr "Giá mua" -#: order/models.py:1029 +#: order/models.py:1045 msgid "Unit purchase price" msgstr "" -#: order/models.py:1037 +#: order/models.py:1053 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1109 part/templates/part/part_pricing.html:112 -#: part/templates/part/prices.html:119 part/templates/part/prices.html:288 +#: order/models.py:1125 part/templates/part/part_pricing.html:115 +#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 msgid "Sale Price" msgstr "" -#: order/models.py:1110 +#: order/models.py:1126 msgid "Unit sale price" msgstr "" -#: order/models.py:1115 +#: order/models.py:1131 msgid "Shipped quantity" msgstr "" -#: order/models.py:1191 +#: order/models.py:1207 msgid "Date of shipment" msgstr "" -#: order/models.py:1198 +#: order/models.py:1214 msgid "Checked By" msgstr "" -#: order/models.py:1199 +#: order/models.py:1215 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1207 +#: order/models.py:1223 msgid "Shipment number" msgstr "" -#: order/models.py:1214 +#: order/models.py:1230 msgid "Shipment notes" msgstr "" -#: order/models.py:1221 +#: order/models.py:1237 msgid "Tracking Number" msgstr "" -#: order/models.py:1222 +#: order/models.py:1238 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1229 +#: order/models.py:1245 msgid "Invoice Number" msgstr "" -#: order/models.py:1230 +#: order/models.py:1246 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1248 +#: order/models.py:1264 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1251 +#: order/models.py:1267 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1354 order/models.py:1356 +#: order/models.py:1370 order/models.py:1372 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1360 +#: order/models.py:1376 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1362 +#: order/models.py:1378 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1365 +#: order/models.py:1381 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1369 +#: order/models.py:1385 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1375 order/serializers.py:1045 +#: order/models.py:1391 order/serializers.py:1047 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1378 +#: order/models.py:1394 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1379 +#: order/models.py:1395 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1387 +#: order/models.py:1403 msgid "Line" msgstr "" -#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 +#: order/models.py:1411 order/serializers.py:1151 order/serializers.py:1275 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1396 +#: order/models.py:1412 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1424 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1409 +#: order/models.py:1425 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Enter stock allocation quantity" msgstr "" @@ -3662,7 +3692,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1117 +#: order/serializers.py:406 order/serializers.py:1119 msgid "Line Item" msgstr "" @@ -3710,42 +3740,60 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:866 +#: order/serializers.py:868 msgid "Sale price currency" msgstr "" -#: order/serializers.py:947 +#: order/serializers.py:949 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1006 order/serializers.py:1126 +#: order/serializers.py:1008 order/serializers.py:1128 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1028 +#: order/serializers.py:1030 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1139 +#: order/serializers.py:1141 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1161 order/serializers.py:1281 +#: order/serializers.py:1163 order/serializers.py:1283 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1164 order/serializers.py:1284 +#: order/serializers.py:1166 order/serializers.py:1286 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1216 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1224 +#: order/serializers.py:1226 msgid "The following serial numbers are already allocated" msgstr "" +#: order/tasks.py:26 +msgid "Overdue Purchase Order" +msgstr "" + +#: order/tasks.py:31 +#, python-brace-format +msgid "Purchase order {po} is now overdue" +msgstr "" + +#: order/tasks.py:88 +msgid "Overdue Sales Order" +msgstr "" + +#: order/tasks.py:93 +#, python-brace-format +msgid "Sales order {so} is now overdue" +msgstr "" + #: order/templates/order/order_base.html:33 msgid "Print purchase order report" msgstr "" @@ -3870,8 +3918,8 @@ msgstr "" #: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: 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:2731 templates/js/translated/stock.js:570 -#: templates/js/translated/stock.js:738 +#: templates/js/translated/order.js:2731 templates/js/translated/stock.js:569 +#: templates/js/translated/stock.js:737 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -3990,7 +4038,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1047 #: templates/js/translated/build.js:1880 msgid "Actions" msgstr "" @@ -4021,47 +4069,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:481 +#: part/api.py:482 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:501 +#: part/api.py:502 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:519 +#: part/api.py:520 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:551 +#: part/api.py:552 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:637 +#: part/api.py:638 msgid "Valid" msgstr "" -#: part/api.py:638 +#: part/api.py:639 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:644 +#: part/api.py:645 msgid "This option must be selected" msgstr "" -#: part/api.py:1010 +#: part/api.py:1011 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1014 +#: part/api.py:1015 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1029 +#: part/api.py:1030 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1060 part/api.py:1064 part/api.py:1079 part/api.py:1083 +#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 msgid "This field is required" msgstr "" @@ -4080,17 +4128,13 @@ msgid "Available Stock" msgstr "" #: 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 +#: templates/js/translated/part.js:561 templates/js/translated/part.js:581 +#: templates/js/translated/part.js:1273 templates/js/translated/part.js:1445 +#: templates/js/translated/part.js:1461 msgid "On Order" msgstr "" -#: part/forms.py:59 -msgid "Select part category" -msgstr "" - -#: part/forms.py:69 +#: part/forms.py:60 msgid "Input quantity for price calculation" msgstr "" @@ -4106,7 +4150,7 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:115 part/models.py:2415 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2403 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -4123,7 +4167,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:144 +#: templates/js/translated/part.js:1864 templates/js/translated/search.js:144 #: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "Nguyên liệu" @@ -4153,7 +4197,7 @@ msgstr "" msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:738 part/models.py:2469 +#: part/models.py:738 part/models.py:2457 msgid "Part name" msgstr "" @@ -4186,12 +4230,11 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:776 part/models.py:2171 part/models.py:2414 +#: part/models.py:776 part/models.py:2159 part/models.py:2402 #: part/templates/part/part_base.html:257 -#: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 #: templates/InvenTree/settings/settings.html:231 -#: templates/js/translated/part.js:1369 +#: templates/js/translated/part.js:1413 templates/js/translated/part.js:1639 msgid "Category" msgstr "" @@ -4200,8 +4243,8 @@ msgid "Part category" msgstr "" #: 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 +#: templates/js/translated/part.js:710 templates/js/translated/part.js:1366 +#: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" @@ -4214,7 +4257,7 @@ msgid "Part revision or version number" msgstr "" #: part/models.py:790 part/templates/part/part_base.html:273 -#: report/models.py:170 templates/js/translated/part.js:670 +#: report/models.py:170 templates/js/translated/part.js:714 msgid "Revision" msgstr "" @@ -4302,317 +4345,321 @@ msgstr "" msgid "Creation User" msgstr "" -#: part/models.py:1690 +#: part/models.py:1685 msgid "Sell multiple" msgstr "" -#: part/models.py:2218 +#: part/models.py:2206 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2235 +#: part/models.py:2223 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2255 templates/js/translated/part.js:1819 -#: templates/js/translated/stock.js:1274 +#: part/models.py:2243 templates/js/translated/part.js:1915 +#: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2256 +#: part/models.py:2244 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2261 +#: part/models.py:2249 msgid "Test Description" msgstr "" -#: part/models.py:2262 +#: part/models.py:2250 msgid "Enter description for this test" msgstr "" -#: part/models.py:2267 templates/js/translated/part.js:1828 +#: part/models.py:2255 templates/js/translated/part.js:1924 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2268 +#: part/models.py:2256 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2273 templates/js/translated/part.js:1836 +#: part/models.py:2261 templates/js/translated/part.js:1932 msgid "Requires Value" msgstr "" -#: part/models.py:2274 +#: part/models.py:2262 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2279 templates/js/translated/part.js:1843 +#: part/models.py:2267 templates/js/translated/part.js:1939 msgid "Requires Attachment" msgstr "" -#: part/models.py:2280 +#: part/models.py:2268 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2288 +#: part/models.py:2276 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2324 +#: part/models.py:2312 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2332 +#: part/models.py:2320 msgid "Parameter Name" msgstr "" -#: part/models.py:2339 +#: part/models.py:2327 msgid "Parameter Units" msgstr "" -#: part/models.py:2370 +#: part/models.py:2358 msgid "Parent Part" msgstr "" -#: part/models.py:2372 part/models.py:2420 part/models.py:2421 +#: part/models.py:2360 part/models.py:2408 part/models.py:2409 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Data" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Parameter Value" msgstr "" -#: part/models.py:2425 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2413 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "" -#: part/models.py:2426 +#: part/models.py:2414 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2461 +#: part/models.py:2449 msgid "Part ID or part name" msgstr "" -#: part/models.py:2464 templates/js/translated/model_renderers.js:200 +#: part/models.py:2452 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "" -#: part/models.py:2465 +#: part/models.py:2453 msgid "Unique part ID value" msgstr "" -#: part/models.py:2468 +#: part/models.py:2456 msgid "Part Name" msgstr "" -#: part/models.py:2472 +#: part/models.py:2460 msgid "Part IPN" msgstr "" -#: part/models.py:2473 +#: part/models.py:2461 msgid "Part IPN value" msgstr "" -#: part/models.py:2476 +#: part/models.py:2464 msgid "Level" msgstr "" -#: part/models.py:2477 +#: part/models.py:2465 msgid "BOM level" msgstr "" -#: part/models.py:2546 +#: part/models.py:2534 msgid "Select parent part" msgstr "" -#: part/models.py:2554 +#: part/models.py:2542 msgid "Sub part" msgstr "" -#: part/models.py:2555 +#: part/models.py:2543 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2561 +#: part/models.py:2549 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2563 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 +#: part/models.py:2551 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:871 templates/js/translated/bom.js:965 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "" -#: part/models.py:2563 +#: part/models.py:2551 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2566 part/templates/part/upload_bom.html:55 +#: part/models.py:2554 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2567 +#: part/models.py:2555 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2570 +#: part/models.py:2558 msgid "BOM item reference" msgstr "" -#: part/models.py:2573 +#: part/models.py:2561 msgid "BOM item notes" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "Checksum" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "BOM line checksum" msgstr "" -#: part/models.py:2579 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:988 +#: part/models.py:2567 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:982 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "" -#: part/models.py:2580 +#: part/models.py:2568 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2585 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:980 +#: part/models.py:2573 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:974 msgid "Allow Variants" msgstr "" -#: part/models.py:2586 +#: part/models.py:2574 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2664 stock/models.py:460 +#: part/models.py:2652 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2673 part/models.py:2675 +#: part/models.py:2661 part/models.py:2663 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2780 +#: part/models.py:2768 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2801 +#: part/models.py:2789 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2814 +#: part/models.py:2802 msgid "Parent BOM item" msgstr "" -#: part/models.py:2822 +#: part/models.py:2810 msgid "Substitute part" msgstr "" -#: part/models.py:2833 +#: part/models.py:2825 msgid "Part 1" msgstr "" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Part 2" msgstr "" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Select Related Part" msgstr "" -#: part/models.py:2868 -msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" +#: part/models.py:2847 +msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 +#: part/models.py:2851 +msgid "Duplicate relationship already exists" +msgstr "" + +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:794 +#: part/serializers.py:796 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:804 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:805 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:810 msgid "Include Inherited" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:811 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:816 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:817 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:820 +#: part/serializers.py:822 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:821 +#: part/serializers.py:823 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:861 +#: part/serializers.py:863 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:864 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:894 msgid "No part column specified" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:937 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:938 +#: part/serializers.py:940 msgid "No matching part found" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:943 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:950 +#: part/serializers.py:952 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:958 +#: part/serializers.py:960 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:979 +#: part/serializers.py:981 msgid "At least one BOM item is required" msgstr "" @@ -5088,10 +5135,10 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:143 -#: templates/js/translated/company.js:623 -#: templates/js/translated/company.js:882 +#: templates/js/translated/company.js:608 +#: templates/js/translated/company.js:867 #: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:658 +#: templates/js/translated/part.js:625 templates/js/translated/part.js:702 msgid "Inactive" msgstr "" @@ -5120,13 +5167,13 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1009 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1003 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/part.js:520 -#: templates/js/translated/part.js:540 templates/js/translated/part.js:1233 -#: templates/js/translated/part.js:1405 templates/js/translated/part.js:1421 +#: part/templates/part/part_base.html:238 templates/js/translated/part.js:564 +#: templates/js/translated/part.js:584 templates/js/translated/part.js:1277 +#: templates/js/translated/part.js:1449 templates/js/translated/part.js:1465 msgid "Building" msgstr "" @@ -5143,7 +5190,7 @@ msgstr "Số seri mới nhất" msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:443 part/templates/part/prices.html:147 +#: part/templates/part/part_base.html:443 part/templates/part/prices.html:149 msgid "Calculate" msgstr "" @@ -5161,54 +5208,55 @@ msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:106 -#: part/templates/part/prices.html:123 +#: part/templates/part/part_pricing.html:103 +#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 +#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:104 -#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:111 -#: part/templates/part/prices.html:128 +#: part/templates/part/part_pricing.html:107 +#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 +#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 +#: part/templates/part/prices.html:130 msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:963 +#: templates/js/translated/bom.js:957 msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:246 +#: part/templates/part/prices.html:248 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:89 +#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:96 +#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:105 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/prices.html:107 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:128 -#: part/templates/part/prices.html:137 +#: part/templates/part/part_pricing.html:131 +#: part/templates/part/prices.html:139 msgid "No pricing information is available for this part." msgstr "" @@ -5232,43 +5280,6 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:9 -#, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" -"
Disable the \"Active\" part attribute and re-try.\n" -" " -msgstr "" - -#: part/templates/part/partial_delete.html:17 -#, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" -msgstr "" - -#: part/templates/part/partial_delete.html:22 -#, python-format -msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" -msgstr "" - -#: part/templates/part/partial_delete.html:32 -#, python-format -msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:43 -#, python-format -msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:54 -#, python-format -msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:67 -#, python-format -msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." -msgstr "" - #: part/templates/part/prices.html:19 msgid "Pricing ranges" msgstr "" @@ -5285,66 +5296,58 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:120 +#: part/templates/part/prices.html:122 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:123 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:143 +#: part/templates/part/prices.html:145 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:957 +#: part/templates/part/prices.html:160 templates/js/translated/bom.js:951 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:159 part/templates/part/prices.html:180 -#: part/templates/part/prices.html:204 part/templates/part/prices.html:234 -#: part/templates/part/prices.html:260 part/templates/part/prices.html:289 +#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 +#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 +#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:184 +#: part/templates/part/prices.html:186 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:193 +#: part/templates/part/prices.html:195 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:203 +#: part/templates/part/prices.html:205 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:218 +#: part/templates/part/prices.html:220 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:233 +#: part/templates/part/prices.html:235 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:259 +#: part/templates/part/prices.html:261 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:300 +#: part/templates/part/prices.html:302 msgid "No sale pice history available for this part." msgstr "" -#: part/templates/part/set_category.html:9 -msgid "Set category for the following parts" -msgstr "" - -#: part/templates/part/set_category.html:32 -msgid "Remove part" -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543 -#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:587 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:1469 msgid "No Stock" msgstr "" @@ -5407,56 +5410,39 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:74 -msgid "Set Part Category" -msgstr "" - -#: part/views.py:122 -#, python-brace-format -msgid "Set category for {n} parts" -msgstr "" - -#: part/views.py:193 +#: part/views.py:118 msgid "Match References" msgstr "" -#: part/views.py:494 +#: part/views.py:419 msgid "None" msgstr "" -#: part/views.py:556 +#: part/views.py:481 msgid "Part QR Code" msgstr "" -#: part/views.py:650 +#: part/views.py:575 msgid "Select Part Image" msgstr "" -#: part/views.py:676 +#: part/views.py:601 msgid "Updated part image" msgstr "" -#: part/views.py:679 +#: part/views.py:604 msgid "Part image not found" msgstr "" -#: part/views.py:768 -msgid "Confirm Part Deletion" -msgstr "" - -#: part/views.py:776 -msgid "Part was deleted" -msgstr "" - -#: part/views.py:785 +#: part/views.py:693 msgid "Part Pricing" msgstr "" -#: part/views.py:976 +#: part/views.py:884 msgid "Delete Part Category" msgstr "" -#: part/views.py:983 +#: part/views.py:891 msgid "Part category was deleted" msgstr "" @@ -5516,21 +5502,21 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:28 +#: plugin/builtin/integration/core_notifications.py:29 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 +#: plugin/builtin/integration/core_notifications.py:30 msgid "Integrated outgoing notificaton methods" msgstr "" -#: 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:34 #: plugin/builtin/integration/core_notifications.py:53 +msgid "Enable email notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:35 +#: plugin/builtin/integration/core_notifications.py:54 msgid "Allow sending of emails for event notifications" msgstr "" @@ -5646,15 +5632,19 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:166 +#: report/api.py:179 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:198 report/api.py:239 +#: report/api.py:215 report/api.py:256 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" +#: report/api.py:359 +msgid "Test report" +msgstr "" + #: report/models.py:152 msgid "Template name" msgstr "" @@ -5757,7 +5747,7 @@ msgstr "" #: 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:3229 -#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:434 msgid "Serial Number" msgstr "" @@ -5766,19 +5756,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2068 +#: stock/models.py:2072 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2074 +#: stock/models.py:2078 msgid "Result" 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:1669 templates/js/translated/stock.js:2340 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2350 msgid "Date" msgstr "" @@ -5796,20 +5786,20 @@ msgid "Installed Items" 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:2589 +#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724 +#: templates/js/translated/stock.js:2599 msgid "Serial" msgstr "" -#: stock/api.py:504 +#: stock/api.py:505 msgid "Quantity is required" msgstr "" -#: stock/api.py:511 +#: stock/api.py:512 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:536 +#: stock/api.py:537 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5917,7 +5907,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1826 msgid "Expiry Date" msgstr "" @@ -5971,79 +5961,79 @@ msgstr "" msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1325 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1324 +#: stock/models.py:1328 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1327 +#: stock/models.py:1331 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1334 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1333 +#: stock/models.py:1337 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1340 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1343 stock/serializers.py:908 +#: stock/models.py:1347 stock/serializers.py:895 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1347 +#: stock/models.py:1351 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1355 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1359 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1524 +#: stock/models.py:1528 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1986 +#: stock/models.py:1990 msgid "Entry notes" msgstr "" -#: stock/models.py:2044 +#: stock/models.py:2048 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2050 +#: stock/models.py:2054 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2069 +#: stock/models.py:2073 msgid "Test name" msgstr "" -#: stock/models.py:2075 +#: stock/models.py:2079 msgid "Test result" msgstr "" -#: stock/models.py:2081 +#: stock/models.py:2085 msgid "Test output value" msgstr "" -#: stock/models.py:2088 +#: stock/models.py:2092 msgid "Test result attachment" msgstr "" -#: stock/models.py:2094 +#: stock/models.py:2098 msgid "Test notes" msgstr "" @@ -6064,7 +6054,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:865 stock/serializers.py:1098 +#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 msgid "Destination stock location" msgstr "" @@ -6104,63 +6094,63 @@ msgstr "" msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:707 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:724 +#: stock/serializers.py:711 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:728 +#: stock/serializers.py:715 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:759 +#: stock/serializers.py:746 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:765 +#: stock/serializers.py:752 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:773 +#: stock/serializers.py:760 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:783 stock/serializers.py:1014 +#: stock/serializers.py:770 stock/serializers.py:1001 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:872 +#: stock/serializers.py:859 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:877 +#: stock/serializers.py:864 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:878 +#: stock/serializers.py:865 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:883 +#: stock/serializers.py:870 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:884 +#: stock/serializers.py:871 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:894 +#: stock/serializers.py:881 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:976 +#: stock/serializers.py:963 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1004 +#: stock/serializers.py:991 msgid "Stock transaction notes" msgstr "" @@ -6185,7 +6175,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:298 msgid "Delete Test Data" msgstr "" @@ -6197,11 +6187,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2733 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2743 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:292 templates/js/translated/stock.js:1455 +#: stock/templates/stock/item.html:290 +msgid "Delete all test results for this stock item" +msgstr "" + +#: stock/templates/stock/item.html:323 templates/js/translated/stock.js:1465 msgid "Add Test Result" msgstr "" @@ -6388,7 +6382,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/stock.js:1842 msgid "Last Updated" msgstr "" @@ -6529,7 +6523,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:182 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:144 msgid "Convert Stock Item" msgstr "" @@ -6550,31 +6544,19 @@ msgstr "" msgid "This action cannot be easily undone" msgstr "" -#: stock/views.py:113 +#: stock/views.py:111 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:131 -msgid "Delete All Test Data" -msgstr "" - -#: stock/views.py:149 -msgid "Confirm test data deletion" -msgstr "" - -#: stock/views.py:150 -msgid "Check the confirmation box" -msgstr "" - -#: stock/views.py:165 +#: stock/views.py:127 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:216 +#: stock/views.py:178 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:229 +#: stock/views.py:191 msgid "Delete Stock Item" msgstr "" @@ -7317,8 +7299,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:56 templates/js/translated/modals.js:595 -#: templates/js/translated/modals.js:689 templates/js/translated/modals.js:997 +#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 +#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 #: templates/js/translated/order.js:928 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7390,6 +7372,10 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:630 +msgid "Confirm" +msgstr "" + #: templates/account/email_confirm.html:27 #, python-format msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." @@ -7562,7 +7548,7 @@ msgstr "" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:112 msgid "Delete Attachments" msgstr "" @@ -7596,15 +7582,15 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1425 +#: templates/js/translated/bom.js:1419 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: 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/bom.js:884 templates/js/translated/build.js:1787 +#: templates/js/translated/build.js:2650 templates/js/translated/part.js:571 +#: templates/js/translated/part.js:574 #: templates/js/translated/table_filters.js:178 msgid "Available" msgstr "" @@ -7622,6 +7608,13 @@ msgstr "" msgid "Minimum Quantity" msgstr "" +#: templates/email/new_order_assigned.html:9 +#: templates/email/overdue_build_order.html:9 +#: templates/email/overdue_purchase_order.html:9 +#: templates/email/overdue_sales_order.html:9 +msgid "Click on the following link to view this order" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -7638,91 +7631,91 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:235 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1073 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1074 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:242 +#: templates/js/translated/api.js:202 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:243 +#: templates/js/translated/api.js:203 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1083 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1084 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:252 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1088 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:253 templates/js/translated/modals.js:1083 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1089 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1093 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1088 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1094 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:262 +#: templates/js/translated/api.js:222 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:263 +#: templates/js/translated/api.js:223 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:267 templates/js/translated/modals.js:1092 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1098 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:268 templates/js/translated/modals.js:1093 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1099 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:271 +#: templates/js/translated/api.js:231 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:272 +#: templates/js/translated/api.js:232 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:96 +#: templates/js/translated/attachment.js:98 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:156 +#: templates/js/translated/attachment.js:152 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:180 +#: templates/js/translated/attachment.js:176 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:246 +#: templates/js/translated/attachment.js:242 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:262 +#: templates/js/translated/attachment.js:264 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:269 +#: templates/js/translated/attachment.js:271 msgid "Delete attachment" msgstr "" @@ -7755,7 +7748,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "Invalid server response" msgstr "" @@ -7783,7 +7776,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999 +#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:998 msgid "Remove stock item" msgstr "" @@ -7918,89 +7911,89 @@ msgstr "" msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:682 +#: templates/js/translated/bom.js:684 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:697 +#: templates/js/translated/bom.js:699 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:824 +#: templates/js/translated/bom.js:818 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:834 +#: templates/js/translated/bom.js:828 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:838 templates/js/translated/build.js:1769 +#: templates/js/translated/bom.js:832 templates/js/translated/build.js:1769 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/bom.js:900 templates/js/translated/build.js:1814 #: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:910 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:904 templates/js/translated/build.js:1818 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:912 templates/js/translated/build.js:1820 -#: templates/js/translated/part.js:690 +#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1820 +#: templates/js/translated/part.js:734 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:914 templates/js/translated/build.js:1822 +#: templates/js/translated/bom.js:908 templates/js/translated/build.js:1822 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:928 +#: templates/js/translated/bom.js:922 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:943 +#: templates/js/translated/bom.js:937 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:950 +#: templates/js/translated/bom.js:944 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:999 templates/js/translated/bom.js:1090 +#: templates/js/translated/bom.js:993 templates/js/translated/bom.js:1084 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1061 +#: templates/js/translated/bom.js:1055 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1063 +#: templates/js/translated/bom.js:1057 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1065 +#: templates/js/translated/bom.js:1059 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1067 templates/js/translated/bom.js:1228 +#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1222 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1069 +#: templates/js/translated/bom.js:1063 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1164 templates/js/translated/build.js:1615 +#: templates/js/translated/bom.js:1158 templates/js/translated/build.js:1615 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1408 templates/js/translated/build.js:1753 +#: templates/js/translated/bom.js:1402 templates/js/translated/build.js:1753 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1430 +#: templates/js/translated/bom.js:1424 msgid "Inherited from parent BOM" msgstr "" @@ -8040,13 +8033,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91 -#: templates/js/translated/stock.js:181 +#: templates/js/translated/build.js:259 templates/js/translated/stock.js:90 +#: templates/js/translated/stock.js:180 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93 -#: templates/js/translated/stock.js:183 +#: templates/js/translated/build.js:261 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:182 msgid "Latest serial number" msgstr "Số seri mới nhất" @@ -8259,9 +8252,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: 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 +#: templates/js/translated/build.js:2448 templates/js/translated/part.js:1358 +#: templates/js/translated/part.js:1825 templates/js/translated/stock.js:1629 +#: templates/js/translated/stock.js:2287 msgid "Select" msgstr "" @@ -8273,7 +8266,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2519 +#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2529 msgid "No user information" msgstr "" @@ -8285,107 +8278,107 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:169 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:168 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:157 templates/js/translated/order.js:506 +#: templates/js/translated/company.js:156 templates/js/translated/order.js:506 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:185 +#: templates/js/translated/company.js:184 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:200 +#: templates/js/translated/company.js:199 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:249 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:263 +#: templates/js/translated/company.js:264 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:342 +#: templates/js/translated/company.js:336 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:413 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:428 +#: templates/js/translated/company.js:422 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:443 +#: templates/js/translated/company.js:437 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:478 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:492 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:526 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:548 +#: templates/js/translated/company.js:539 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:595 +#: templates/js/translated/company.js:580 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:615 -#: templates/js/translated/company.js:874 templates/js/translated/part.js:565 -#: templates/js/translated/part.js:650 +#: templates/js/translated/company.js:600 +#: templates/js/translated/company.js:859 templates/js/translated/part.js:609 +#: templates/js/translated/part.js:694 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:619 -#: templates/js/translated/company.js:878 templates/js/translated/part.js:569 -#: templates/js/translated/part.js:654 +#: templates/js/translated/company.js:604 +#: templates/js/translated/company.js:863 templates/js/translated/part.js:613 +#: templates/js/translated/part.js:698 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:747 templates/js/translated/part.js:757 +#: templates/js/translated/company.js:732 templates/js/translated/part.js:801 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:799 +#: templates/js/translated/company.js:769 templates/js/translated/part.js:843 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:785 templates/js/translated/part.js:800 +#: templates/js/translated/company.js:770 templates/js/translated/part.js:844 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:804 templates/js/translated/part.js:817 +#: templates/js/translated/company.js:789 templates/js/translated/part.js:861 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:815 templates/js/translated/part.js:829 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:873 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:854 +#: templates/js/translated/company.js:839 msgid "No supplier parts found" msgstr "" @@ -8448,36 +8441,36 @@ msgstr "" msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:756 +#: templates/js/translated/forms.js:757 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1248 templates/modals.html:19 +#: templates/js/translated/forms.js:1249 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1681 +#: templates/js/translated/forms.js:1682 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1896 templates/search.html:29 +#: templates/js/translated/forms.js:1897 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2149 +#: templates/js/translated/forms.js:2150 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2627 +#: templates/js/translated/forms.js:2628 msgid "Select Columns" msgstr "" @@ -8498,7 +8491,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1023 +#: templates/js/translated/stock.js:1022 msgid "Select Stock Items" msgstr "" @@ -8552,12 +8545,12 @@ msgid "Select Label Template" msgstr "" #: templates/js/translated/modals.js:82 templates/js/translated/modals.js:142 -#: templates/js/translated/modals.js:621 +#: templates/js/translated/modals.js:627 msgid "Cancel" msgstr "" #: 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/js/translated/modals.js:694 templates/js/translated/modals.js:1002 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" @@ -8566,47 +8559,47 @@ msgstr "" msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:403 +#: templates/js/translated/modals.js:421 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:562 +#: templates/js/translated/modals.js:568 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:620 +#: templates/js/translated/modals.js:626 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:677 +#: templates/js/translated/modals.js:683 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:960 +#: templates/js/translated/modals.js:966 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1072 +#: templates/js/translated/modals.js:1078 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1073 +#: templates/js/translated/modals.js:1079 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1096 +#: templates/js/translated/modals.js:1102 msgid "Error requesting form data" msgstr "" @@ -8656,11 +8649,11 @@ msgstr "" msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:259 +#: templates/js/translated/notification.js:260 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:300 templates/notifications.html:10 +#: templates/js/translated/notification.js:302 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" @@ -8804,7 +8797,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2080 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2090 msgid "Stock Status" msgstr "" @@ -8828,7 +8821,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1602 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1602 templates/js/translated/part.js:914 msgid "No purchase orders found" msgstr "" @@ -8863,7 +8856,7 @@ msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 #: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 -#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 +#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2397 msgid "Unit Price" msgstr "" @@ -8873,11 +8866,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:1993 templates/js/translated/order.js:3525 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:1023 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1069 msgid "Receive line item" msgstr "" @@ -8998,7 +8991,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1535 +#: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" @@ -9138,165 +9131,209 @@ msgstr "" msgid "Create Part Variant" msgstr "" +#: templates/js/translated/part.js:405 +msgid "Active Part" +msgstr "" + +#: templates/js/translated/part.js:406 +msgid "Part cannot be deleted as it is currently active" +msgstr "" + +#: templates/js/translated/part.js:420 +msgid "Deleting this part cannot be reversed" +msgstr "" + +#: templates/js/translated/part.js:422 +msgid "Any stock items for this part will be deleted" +msgstr "" + #: templates/js/translated/part.js:423 +msgid "This part will be removed from any Bills of Material" +msgstr "" + +#: templates/js/translated/part.js:424 +msgid "All manufacturer and supplier information for this part will be deleted" +msgstr "" + +#: templates/js/translated/part.js:431 +msgid "Delete Part" +msgstr "" + +#: templates/js/translated/part.js:467 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:425 +#: templates/js/translated/part.js:469 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:474 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:476 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:493 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:503 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:506 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:487 +#: templates/js/translated/part.js:531 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:513 templates/js/translated/part.js:1397 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1441 #: templates/js/translated/table_filters.js:452 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:523 templates/js/translated/part.js:1409 +#: templates/js/translated/part.js:567 templates/js/translated/part.js:1453 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:557 templates/js/translated/part.js:642 +#: templates/js/translated/part.js:601 templates/js/translated/part.js:686 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:561 templates/js/translated/part.js:646 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:690 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:617 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:577 +#: templates/js/translated/part.js:621 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:705 +#: templates/js/translated/part.js:749 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1095 +#: templates/js/translated/part.js:1139 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1119 +#: templates/js/translated/part.js:1163 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1184 templates/js/translated/part.js:1480 +#: templates/js/translated/part.js:1228 templates/js/translated/part.js:1524 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1223 +#: templates/js/translated/part.js:1267 msgid "Not available" msgstr "" -#: templates/js/translated/part.js:1374 +#: templates/js/translated/part.js:1418 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664 -#: templates/js/translated/stock.js:2238 +#: templates/js/translated/part.js:1548 templates/js/translated/part.js:1760 +#: templates/js/translated/stock.js:2248 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1520 +#: templates/js/translated/part.js:1564 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2257 +#: templates/js/translated/part.js:1630 +msgid "Set the part category for the selected parts" +msgstr "" + +#: templates/js/translated/part.js:1635 +msgid "Set Part Category" +msgstr "" + +#: templates/js/translated/part.js:1640 +msgid "Select Part Category" +msgstr "" + +#: templates/js/translated/part.js:1653 +msgid "Category is required" +msgstr "" + +#: templates/js/translated/part.js:1779 templates/js/translated/stock.js:2267 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1747 +#: templates/js/translated/part.js:1843 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2301 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2311 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:1901 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1233 +#: templates/js/translated/part.js:1952 templates/js/translated/stock.js:1243 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1234 -#: templates/js/translated/stock.js:1493 +#: templates/js/translated/part.js:1953 templates/js/translated/stock.js:1244 +#: templates/js/translated/stock.js:1503 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1863 +#: templates/js/translated/part.js:1959 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1885 +#: templates/js/translated/part.js:1981 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:1995 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1924 +#: templates/js/translated/part.js:2020 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1981 +#: templates/js/translated/part.js:2077 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1982 +#: templates/js/translated/part.js:2078 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:2096 +#: templates/js/translated/part.js:2192 msgid "Current Stock" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2225 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2155 +#: templates/js/translated/part.js:2251 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2225 +#: templates/js/translated/part.js:2321 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:2244 +#: templates/js/translated/part.js:2340 msgid "Single Price Difference" msgstr "" @@ -9378,360 +9415,360 @@ msgstr "" msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:72 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:101 +#: templates/js/translated/stock.js:100 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:109 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:139 +#: templates/js/translated/stock.js:138 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:153 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:194 +#: templates/js/translated/stock.js:193 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:233 +#: templates/js/translated/stock.js:232 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:239 +#: templates/js/translated/stock.js:238 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:303 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:324 +#: templates/js/translated/stock.js:323 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:344 +#: templates/js/translated/stock.js:343 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:394 +#: templates/js/translated/stock.js:393 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:407 +#: templates/js/translated/stock.js:406 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:431 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:453 +#: templates/js/translated/stock.js:452 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:472 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:481 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:605 +#: templates/js/translated/stock.js:604 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:606 +#: templates/js/translated/stock.js:605 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:683 +#: templates/js/translated/stock.js:682 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:684 +#: templates/js/translated/stock.js:683 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:686 +#: templates/js/translated/stock.js:685 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:687 +#: templates/js/translated/stock.js:686 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:772 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:774 +#: templates/js/translated/stock.js:773 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:869 +#: templates/js/translated/stock.js:868 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:869 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:876 +#: templates/js/translated/stock.js:875 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:876 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:881 +#: templates/js/translated/stock.js:880 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:882 +#: templates/js/translated/stock.js:881 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:886 +#: templates/js/translated/stock.js:885 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:887 users/models.py:215 +#: templates/js/translated/stock.js:886 users/models.py:215 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1024 +#: templates/js/translated/stock.js:1023 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1047 +#: templates/js/translated/stock.js:1046 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1172 +#: templates/js/translated/stock.js:1182 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1174 +#: templates/js/translated/stock.js:1184 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1179 +#: templates/js/translated/stock.js:1189 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1226 +#: templates/js/translated/stock.js:1236 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1229 +#: templates/js/translated/stock.js:1239 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1255 +#: templates/js/translated/stock.js:1265 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1321 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1476 +#: templates/js/translated/stock.js:1486 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1498 +#: templates/js/translated/stock.js:1508 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1527 +#: templates/js/translated/stock.js:1537 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1531 +#: templates/js/translated/stock.js:1541 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1539 +#: templates/js/translated/stock.js:1549 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1545 +#: templates/js/translated/stock.js:1555 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1712 +#: templates/js/translated/stock.js:1722 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1727 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1720 +#: templates/js/translated/stock.js:1730 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1723 +#: templates/js/translated/stock.js:1733 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1725 +#: templates/js/translated/stock.js:1735 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1727 +#: templates/js/translated/stock.js:1737 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1730 +#: templates/js/translated/stock.js:1740 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1734 +#: templates/js/translated/stock.js:1744 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1746 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1743 +#: templates/js/translated/stock.js:1753 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1755 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:1757 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1751 +#: templates/js/translated/stock.js:1761 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1802 +#: templates/js/translated/stock.js:1812 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1894 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1932 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2095 +#: templates/js/translated/stock.js:2105 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2109 +#: templates/js/translated/stock.js:2119 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2120 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2375 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2381 +#: templates/js/translated/stock.js:2391 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2403 +#: templates/js/translated/stock.js:2413 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2422 +#: templates/js/translated/stock.js:2432 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2441 +#: templates/js/translated/stock.js:2451 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2459 +#: templates/js/translated/stock.js:2469 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2482 +#: templates/js/translated/stock.js:2492 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2490 +#: templates/js/translated/stock.js:2500 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2566 +#: templates/js/translated/stock.js:2576 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2617 templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2663 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2666 +#: templates/js/translated/stock.js:2676 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2697 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2688 +#: templates/js/translated/stock.js:2698 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2690 +#: templates/js/translated/stock.js:2700 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/stock.js:2701 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2702 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2693 +#: templates/js/translated/stock.js:2703 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2716 msgid "Select part to install" msgstr "" diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po index 44c1742543..399933245c 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-06-05 14:26+0000\n" -"PO-Revision-Date: 2022-06-05 14:34\n" +"POT-Creation-Date: 2022-06-06 22:59+0000\n" +"PO-Revision-Date: 2022-06-07 14:34\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:46 +#: InvenTree/api.py:49 msgid "API endpoint not found" msgstr "未找到 API 端点" @@ -29,275 +29,273 @@ msgstr "" msgid "Enter date" msgstr "输入日期" -#: InvenTree/forms.py:117 templates/account/email_confirm.html:20 -#: templates/js/translated/forms.js:630 -msgid "Confirm" -msgstr "确认" - -#: InvenTree/forms.py:134 +#: InvenTree/forms.py:117 msgid "Confirm delete" msgstr "确认删除" -#: InvenTree/forms.py:135 +#: InvenTree/forms.py:118 msgid "Confirm item deletion" msgstr "确认删除" -#: InvenTree/forms.py:167 +#: InvenTree/forms.py:150 msgid "Enter password" msgstr "输入密码" -#: InvenTree/forms.py:168 +#: InvenTree/forms.py:151 msgid "Enter new password" msgstr "输入新密码" -#: InvenTree/forms.py:175 +#: InvenTree/forms.py:158 msgid "Confirm password" msgstr "确认密码" -#: InvenTree/forms.py:176 +#: InvenTree/forms.py:159 msgid "Confirm new password" msgstr "确认新密码" -#: InvenTree/forms.py:213 -msgid "Select Category" -msgstr "选择分类" - -#: InvenTree/forms.py:234 +#: InvenTree/forms.py:184 msgid "Email (again)" msgstr "Email (再次)" -#: InvenTree/forms.py:238 +#: InvenTree/forms.py:188 msgid "Email address confirmation" msgstr "Email 地址确认" -#: InvenTree/forms.py:259 +#: InvenTree/forms.py:209 msgid "You must type the same email each time." msgstr "您必须输入相同的 Email 。" -#: InvenTree/helpers.py:402 +#: InvenTree/helpers.py:404 #, python-brace-format msgid "Duplicate serial: {sn}" msgstr "" -#: InvenTree/helpers.py:409 order/models.py:365 order/models.py:517 +#: InvenTree/helpers.py:411 order/models.py:370 order/models.py:522 msgid "Invalid quantity provided" msgstr "提供的数量无效" -#: InvenTree/helpers.py:412 +#: InvenTree/helpers.py:414 msgid "Empty serial number string" msgstr "空序列号字符串" -#: InvenTree/helpers.py:444 +#: InvenTree/helpers.py:446 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:447 +#: InvenTree/helpers.py:449 #, python-brace-format msgid "Invalid group: {g}" msgstr "无效的群组: {g}" -#: InvenTree/helpers.py:475 +#: InvenTree/helpers.py:477 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:483 +#: InvenTree/helpers.py:485 #, python-brace-format msgid "Invalid/no group {group}" msgstr "" -#: InvenTree/helpers.py:489 +#: InvenTree/helpers.py:491 msgid "No serial numbers found" msgstr "未找到序列号" -#: InvenTree/helpers.py:493 +#: InvenTree/helpers.py:495 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:174 +#: InvenTree/models.py:178 msgid "Missing file" msgstr "缺少文件" -#: InvenTree/models.py:175 +#: InvenTree/models.py:179 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:187 stock/models.py:2087 -#: templates/js/translated/attachment.js:101 -#: templates/js/translated/attachment.js:198 +#: InvenTree/models.py:191 stock/models.py:2091 +#: templates/js/translated/attachment.js:103 +#: templates/js/translated/attachment.js:194 msgid "Attachment" msgstr "附件" -#: InvenTree/models.py:188 +#: InvenTree/models.py:192 msgid "Select file to attach" msgstr "选择附件" -#: InvenTree/models.py:194 company/models.py:123 company/models.py:272 -#: company/models.py:506 order/models.py:135 order/models.py:1235 +#: InvenTree/models.py:198 company/models.py:123 company/models.py:272 +#: company/models.py:506 order/models.py:136 order/models.py:1251 #: 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 -#: templates/js/translated/part.js:1441 +#: templates/js/translated/company.js:640 +#: templates/js/translated/company.js:931 templates/js/translated/order.js:2676 +#: templates/js/translated/part.js:1485 msgid "Link" msgstr "链接" -#: InvenTree/models.py:195 build/models.py:320 part/models.py:796 +#: InvenTree/models.py:199 build/models.py:320 part/models.py:796 #: stock/models.py:642 msgid "Link to external URL" msgstr "链接到外部 URL" -#: InvenTree/models.py:198 templates/js/translated/attachment.js:102 -#: templates/js/translated/attachment.js:242 +#: InvenTree/models.py:202 templates/js/translated/attachment.js:104 +#: templates/js/translated/attachment.js:238 msgid "Comment" msgstr "注释" -#: InvenTree/models.py:198 +#: InvenTree/models.py:202 msgid "File comment" msgstr "文件注释" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1506 +#: common/models.py:1507 common/models.py:1735 common/models.py:1736 +#: common/models.py:1998 common/models.py:1999 part/models.py:2141 +#: part/models.py:2161 plugin/models.py:238 plugin/models.py:239 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2513 +#: templates/js/translated/stock.js:2523 msgid "User" msgstr "用户" -#: InvenTree/models.py:208 +#: InvenTree/models.py:212 msgid "upload date" msgstr "上传日期" -#: InvenTree/models.py:230 +#: InvenTree/models.py:234 msgid "Filename must not be empty" msgstr "文件名不能为空!" -#: InvenTree/models.py:253 +#: InvenTree/models.py:257 msgid "Invalid attachment directory" msgstr "非法的附件目录" -#: InvenTree/models.py:263 +#: InvenTree/models.py:267 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "文件名包含非法字符 '{c}'" -#: InvenTree/models.py:266 +#: InvenTree/models.py:270 msgid "Filename missing extension" msgstr "缺少文件名扩展" -#: InvenTree/models.py:273 +#: InvenTree/models.py:277 msgid "Attachment with this filename already exists" msgstr "使用此文件名的附件已存在" -#: InvenTree/models.py:280 +#: InvenTree/models.py:284 msgid "Error renaming file" msgstr "重命名文件出错" -#: InvenTree/models.py:314 +#: InvenTree/models.py:318 msgid "Invalid choice" msgstr "选择无效" -#: InvenTree/models.py:333 InvenTree/models.py:334 common/models.py:1714 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 #: company/models.py:354 label/models.py:101 part/models.py:739 -#: part/models.py:2331 plugin/models.py:93 report/models.py:151 +#: part/models.py:2319 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 #: templates/InvenTree/settings/plugin.html:132 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:346 -#: 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:2283 +#: templates/js/translated/company.js:530 +#: templates/js/translated/company.js:742 templates/js/translated/part.js:659 +#: templates/js/translated/part.js:811 templates/js/translated/part.js:1832 +#: templates/js/translated/stock.js:2293 msgid "Name" msgstr "名称" -#: InvenTree/models.py:340 build/models.py:197 +#: InvenTree/models.py:344 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: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:164 +#: order/models.py:134 part/models.py:762 part/templates/part/category.html:74 +#: part/templates/part/part_base.html:167 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 -#: 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/bom.js:553 templates/js/translated/bom.js:845 +#: templates/js/translated/build.js:2476 templates/js/translated/company.js:395 +#: templates/js/translated/company.js:651 +#: templates/js/translated/company.js:942 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:1676 -#: templates/js/translated/stock.js:2295 templates/js/translated/stock.js:2350 +#: templates/js/translated/part.js:718 templates/js/translated/part.js:1126 +#: templates/js/translated/part.js:1399 templates/js/translated/part.js:1851 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:1686 +#: templates/js/translated/stock.js:2305 templates/js/translated/stock.js:2360 msgid "Description" msgstr "描述信息" -#: InvenTree/models.py:341 +#: InvenTree/models.py:345 msgid "Description (optional)" msgstr "描述 (可选)" -#: InvenTree/models.py:349 +#: InvenTree/models.py:353 msgid "parent" msgstr "上级项" -#: InvenTree/serializers.py:52 part/models.py:2652 +#: InvenTree/models.py:466 +msgid "Server Error" +msgstr "" + +#: InvenTree/models.py:467 +msgid "An error has been logged by the server." +msgstr "" + +#: InvenTree/serializers.py:52 part/models.py:2640 msgid "Must be a valid number" msgstr "必须是有效数字" -#: InvenTree/serializers.py:271 +#: InvenTree/serializers.py:263 msgid "Filename" msgstr "文件名" -#: InvenTree/serializers.py:306 +#: InvenTree/serializers.py:298 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:328 +#: InvenTree/serializers.py:320 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:329 +#: InvenTree/serializers.py:321 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:342 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:356 +#: InvenTree/serializers.py:348 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:377 +#: InvenTree/serializers.py:369 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:380 +#: InvenTree/serializers.py:372 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:503 +#: InvenTree/serializers.py:495 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:506 +#: InvenTree/serializers.py:498 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:583 +#: InvenTree/serializers.py:575 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:592 +#: InvenTree/serializers.py:584 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" @@ -440,7 +438,7 @@ msgstr "丢失" msgid "Returned" msgstr "已退回" -#: InvenTree/status_codes.py:141 order/models.py:1114 +#: InvenTree/status_codes.py:141 order/models.py:1130 #: templates/js/translated/order.js:3264 templates/js/translated/order.js:3607 msgid "Shipped" msgstr "已发货" @@ -525,7 +523,7 @@ msgstr "从父项拆分" msgid "Split child item" msgstr "拆分子项" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2020 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2030 msgid "Merged stock items" msgstr "" @@ -597,27 +595,27 @@ msgstr "备损不能超过 100%" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:522 +#: InvenTree/views.py:521 msgid "Delete Item" msgstr "删除项" -#: InvenTree/views.py:571 +#: InvenTree/views.py:570 msgid "Check box to confirm item deletion" msgstr "选中方框以确认项目删除" -#: InvenTree/views.py:586 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:585 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "编辑用户信息" -#: InvenTree/views.py:598 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:597 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "设置密码" -#: InvenTree/views.py:618 +#: InvenTree/views.py:617 msgid "Password fields must match" msgstr "密码字段必须相匹配。" -#: InvenTree/views.py:842 templates/navbar.html:152 +#: InvenTree/views.py:807 templates/navbar.html:152 msgid "System Information" msgstr "系统信息" @@ -628,6 +626,7 @@ msgstr "上级生产选项无效" #: 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/email/overdue_build_order.html:15 #: templates/js/translated/build.js:727 msgid "Build Order" msgstr "生产订单" @@ -646,12 +645,12 @@ msgstr "生产订单" msgid "Build Order Reference" msgstr "相关生产订单" -#: build/models.py:189 order/models.py:288 order/models.py:638 -#: order/models.py:916 part/models.py:2570 +#: build/models.py:189 order/models.py:293 order/models.py:654 +#: order/models.py:932 part/models.py:2558 #: 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/bom.js:690 templates/js/translated/bom.js:852 #: 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:3959 @@ -673,13 +672,12 @@ msgstr "此次生产匹配的订单" #: 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:2460 part/models.py:2545 part/models.py:2821 -#: part/serializers.py:793 part/templates/part/part_app_base.html:8 +#: order/models.py:1028 order/models.py:1119 part/models.py:336 +#: part/models.py:2087 part/models.py:2102 part/models.py:2121 +#: part/models.py:2139 part/models.py:2238 part/models.py:2358 +#: part/models.py:2448 part/models.py:2533 part/models.py:2809 +#: part/serializers.py:795 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 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 @@ -687,22 +685,23 @@ msgstr "此次生产匹配的订单" #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 +#: templates/email/overdue_build_order.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:805 +#: templates/js/translated/bom.js:689 templates/js/translated/bom.js:799 #: 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/company.js:253 +#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:592 +#: templates/js/translated/company.js:851 templates/js/translated/order.js:100 #: templates/js/translated/order.js:883 templates/js/translated/order.js:1315 #: 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:1633 templates/js/translated/stock.js:2376 -#: templates/js/translated/stock.js:2571 templates/js/translated/stock.js:2705 +#: templates/js/translated/part.js:1111 templates/js/translated/part.js:1181 +#: templates/js/translated/part.js:1377 templates/js/translated/stock.js:530 +#: templates/js/translated/stock.js:695 templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2386 +#: templates/js/translated/stock.js:2581 templates/js/translated/stock.js:2715 msgid "Part" msgstr "商品" @@ -768,12 +767,12 @@ msgstr "批量代码" msgid "Batch code for this build output" msgstr "此生产产出的批量代码" -#: build/models.py:282 order/models.py:137 part/models.py:932 +#: build/models.py:282 order/models.py:138 part/models.py:932 #: part/templates/part/part_base.html:305 templates/js/translated/order.js:2489 msgid "Creation Date" msgstr "创建日期" -#: build/models.py:286 order/models.py:660 +#: build/models.py:286 order/models.py:676 msgid "Target completion date" msgstr "预计完成日期" @@ -781,7 +780,7 @@ msgstr "预计完成日期" msgid "Target date for build completion. Build will be overdue after this date." msgstr "生产完成的目标日期。生产将在此日期之后逾期。" -#: build/models.py:290 order/models.py:331 +#: build/models.py:290 order/models.py:336 #: templates/js/translated/build.js:2558 msgid "Completion Date" msgstr "完成日期:" @@ -799,7 +798,7 @@ msgid "User who issued this build order" msgstr "发布此生产订单的用户" #: build/models.py:313 build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:115 order/models.py:151 +#: build/templates/build/detail.html:115 order/models.py:152 #: order/templates/order/order_base.html:176 #: order/templates/order/sales_order_base.html:183 part/models.py:936 #: report/templates/report/inventree_build_order_base.html:159 @@ -822,20 +821,20 @@ msgstr "外部链接" #: build/models.py:324 build/serializers.py:374 #: build/templates/build/sidebar.html:21 company/models.py:134 #: company/models.py:519 company/templates/company/sidebar.html:25 -#: order/models.py:155 order/models.py:918 order/models.py:1213 +#: order/models.py:156 order/models.py:934 order/models.py:1229 #: order/templates/order/po_sidebar.html:11 #: 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:713 stock/models.py:1985 stock/models.py:2093 +#: stock/models.py:713 stock/models.py:1989 stock/models.py:2097 #: stock/serializers.py:315 stock/serializers.py:444 stock/serializers.py:486 -#: stock/serializers.py:772 stock/serializers.py:871 stock/serializers.py:1003 +#: stock/serializers.py:759 stock/serializers.py:858 stock/serializers.py:990 #: 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/barcode.js:100 templates/js/translated/bom.js:1038 +#: templates/js/translated/company.js:947 templates/js/translated/order.js:2040 #: templates/js/translated/order.js:2191 templates/js/translated/order.js:2687 #: templates/js/translated/order.js:3632 templates/js/translated/order.js:4030 -#: templates/js/translated/stock.js:1307 templates/js/translated/stock.js:1916 +#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1926 msgid "Notes" msgstr "备注" @@ -855,44 +854,44 @@ msgstr "生产产出已完成" msgid "Build output does not match Build Order" msgstr "生产产出与订单不匹配" -#: build/models.py:1108 +#: build/models.py:1111 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1117 +#: build/models.py:1120 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1127 +#: build/models.py:1130 msgid "Stock item is over-allocated" msgstr "库存物品分配过度!" -#: build/models.py:1133 order/models.py:1372 +#: build/models.py:1136 order/models.py:1388 msgid "Allocation quantity must be greater than zero" msgstr "分配数量必须大于0" -#: build/models.py:1139 +#: build/models.py:1142 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1196 +#: build/models.py:1199 msgid "Selected stock item not found in BOM" msgstr "" -#: build/models.py:1265 stock/templates/stock/item_base.html:177 +#: build/models.py:1268 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:1266 +#: build/models.py:1269 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1282 build/serializers.py:603 order/serializers.py:994 -#: order/serializers.py:1015 stock/serializers.py:382 stock/serializers.py:703 -#: stock/serializers.py:829 stock/templates/stock/item_base.html:10 +#: build/models.py:1285 build/serializers.py:603 order/serializers.py:996 +#: order/serializers.py:1017 stock/serializers.py:382 stock/serializers.py:690 +#: stock/serializers.py:816 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 @@ -900,22 +899,22 @@ msgstr "" #: 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:2449 +#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696 +#: templates/js/translated/stock.js:2459 msgid "Stock Item" msgstr "库存项" -#: build/models.py:1283 +#: build/models.py:1286 msgid "Source stock item" msgstr "源库存项" -#: build/models.py:1295 build/serializers.py:183 +#: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1536 +#: build/templates/build/detail.html:34 common/models.py:1543 #: 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:68 -#: part/forms.py:83 part/forms.py:98 part/models.py:2561 +#: order/models.py:925 order/models.py:1428 order/serializers.py:1136 +#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 +#: part/forms.py:74 part/forms.py:89 part/models.py:2549 #: 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 @@ -926,8 +925,8 @@ msgstr "源库存项" #: report/templates/report/inventree_test_report_base.html:139 #: 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 +#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:691 +#: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 #: templates/js/translated/build.js:574 templates/js/translated/build.js:765 #: templates/js/translated/build.js:1175 templates/js/translated/build.js:1673 #: templates/js/translated/build.js:2086 @@ -937,23 +936,23 @@ msgstr "源库存项" #: 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: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 -#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727 -#: templates/js/translated/stock.js:2498 templates/js/translated/stock.js:2583 +#: templates/js/translated/part.js:1011 templates/js/translated/part.js:2065 +#: templates/js/translated/part.js:2296 templates/js/translated/part.js:2330 +#: templates/js/translated/part.js:2408 templates/js/translated/stock.js:402 +#: templates/js/translated/stock.js:556 templates/js/translated/stock.js:726 +#: templates/js/translated/stock.js:2508 templates/js/translated/stock.js:2593 msgid "Quantity" msgstr "数量" -#: build/models.py:1296 +#: build/models.py:1299 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1304 +#: build/models.py:1307 msgid "Install into" msgstr "安装到" -#: build/models.py:1305 +#: build/models.py:1308 msgid "Destination stock item" msgstr "" @@ -982,9 +981,9 @@ msgstr "" msgid "Enter quantity for build output" msgstr "输入生产产出数量" -#: 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:1239 +#: build/serializers.py:198 build/serializers.py:623 order/models.py:368 +#: order/serializers.py:280 order/serializers.py:435 part/serializers.py:514 +#: part/serializers.py:958 stock/models.py:470 stock/models.py:1239 #: stock/serializers.py:288 msgid "Quantity must be greater than zero" msgstr "" @@ -997,9 +996,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1138 +#: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 #: stock/serializers.py:297 templates/js/translated/order.js:1186 -#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404 +#: templates/js/translated/stock.js:237 templates/js/translated/stock.js:403 msgid "Serial Numbers" msgstr "序列号" @@ -1015,7 +1014,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:552 +#: build/serializers.py:268 stock/api.py:553 msgid "The following serial numbers already exist" msgstr "" @@ -1025,16 +1024,16 @@ msgstr "" #: build/serializers.py:356 order/serializers.py:421 order/serializers.py:525 #: stock/serializers.py:308 stock/serializers.py:439 stock/serializers.py:481 -#: stock/serializers.py:864 stock/serializers.py:1097 +#: stock/serializers.py:851 stock/serializers.py:1084 #: 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 #: 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:1787 templates/js/translated/stock.js:2390 +#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532 +#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904 +#: templates/js/translated/stock.js:1797 templates/js/translated/stock.js:2400 msgid "Location" msgstr "地点" @@ -1043,12 +1042,12 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:363 build/templates/build/build_base.html:142 -#: build/templates/build/detail.html:62 order/models.py:654 +#: build/templates/build/detail.html:62 order/models.py:670 #: 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 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1772 +#: templates/js/translated/stock.js:2477 templates/js/translated/stock.js:2609 msgid "Status" msgstr "状态" @@ -1108,8 +1107,8 @@ msgstr "" msgid "No build outputs have been created for this build order" msgstr "" -#: build/serializers.py:535 build/serializers.py:580 part/models.py:2679 -#: part/models.py:2813 +#: build/serializers.py:535 build/serializers.py:580 part/models.py:2667 +#: part/models.py:2801 msgid "BOM Item" msgstr "" @@ -1125,11 +1124,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:716 +#: build/serializers.py:609 stock/serializers.py:703 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:667 order/serializers.py:1052 +#: build/serializers.py:667 order/serializers.py:1054 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1146,7 +1145,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:708 order/serializers.py:1298 +#: build/serializers.py:708 order/serializers.py:1300 msgid "Allocation items must be provided" msgstr "" @@ -1178,10 +1177,19 @@ msgstr "" msgid "Allow allocation of substitute parts" msgstr "" -#: build/tasks.py:96 +#: build/tasks.py:100 msgid "Stock required for build order" msgstr "" +#: build/tasks.py:118 +msgid "Overdue Build Order" +msgstr "" + +#: build/tasks.py:123 +#, python-brace-format +msgid "Build order {bo} is now overdue" +msgstr "" + #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 #: order/templates/order/sales_order_base.html:38 @@ -1244,13 +1252,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:922 +#: build/templates/build/detail.html:131 order/models.py:938 #: 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: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 +#: templates/js/translated/order.js:3517 templates/js/translated/part.js:1015 msgid "Target Date" msgstr "预计日期" @@ -1277,13 +1285,14 @@ msgid "Completed" msgstr "已完成" #: build/templates/build/build_base.html:176 -#: build/templates/build/detail.html:94 order/models.py:1100 -#: order/models.py:1185 order/models.py:1320 +#: build/templates/build/detail.html:94 order/models.py:1116 +#: order/models.py:1201 order/models.py:1336 #: 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/email/overdue_sales_order.html:15 #: templates/js/translated/order.js:2436 msgid "Sales Order" msgstr "销售订单" @@ -1319,7 +1328,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1034 +#: build/templates/build/detail.html:49 order/models.py:1050 #: templates/js/translated/order.js:1321 templates/js/translated/order.js:2029 msgid "Destination" msgstr "" @@ -1336,8 +1345,8 @@ msgstr "" #: stock/templates/stock/item_base.html:170 #: templates/js/translated/build.js:1179 #: templates/js/translated/model_renderers.js:112 -#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1776 -#: templates/js/translated/stock.js:2606 +#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:2616 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1716,7 +1725,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:820 part/models.py:2372 report/models.py:157 +#: common/models.py:820 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" @@ -1726,7 +1735,7 @@ msgstr "模板" msgid "Parts are templates by default" msgstr "" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1390 +#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 #: templates/js/translated/table_filters.js:168 #: templates/js/translated/table_filters.js:460 msgid "Assembly" @@ -1880,576 +1889,584 @@ msgid "Default page size for PDF reports" msgstr "PDF 报表默认页面大小" #: common/models.py:968 -msgid "Test Reports" -msgstr "测试报表" +msgid "Enable Test Reports" +msgstr "" #: common/models.py:969 msgid "Enable generation of test reports" msgstr "启用生成测试报表" #: common/models.py:975 -msgid "Batch Code Template" +msgid "Attach Test Reports" msgstr "" #: common/models.py:976 +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" +msgstr "" + +#: common/models.py:982 +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:983 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:981 +#: common/models.py:988 msgid "Stock Expiry" msgstr "库存到期" -#: common/models.py:982 +#: common/models.py:989 msgid "Enable stock expiry functionality" msgstr "启用库存到期功能" -#: common/models.py:988 +#: common/models.py:995 msgid "Sell Expired Stock" msgstr "销售过期库存" -#: common/models.py:989 +#: common/models.py:996 msgid "Allow sale of expired stock" msgstr "允许销售过期库存" -#: common/models.py:995 +#: common/models.py:1002 msgid "Stock Stale Time" msgstr "" -#: common/models.py:996 +#: common/models.py:1003 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:998 +#: common/models.py:1005 msgid "days" msgstr "天" -#: common/models.py:1003 +#: common/models.py:1010 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1004 +#: common/models.py:1011 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1010 +#: common/models.py:1017 msgid "Stock Ownership Control" msgstr "库存所有权控制" -#: common/models.py:1011 +#: common/models.py:1018 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1017 +#: common/models.py:1024 msgid "Build Order Reference Prefix" msgstr "生产订单参考前缀" -#: common/models.py:1018 +#: common/models.py:1025 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1023 +#: common/models.py:1030 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1024 +#: common/models.py:1031 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1028 +#: common/models.py:1035 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1029 +#: common/models.py:1036 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1034 +#: common/models.py:1041 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1035 +#: common/models.py:1042 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1041 +#: common/models.py:1048 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1042 +#: common/models.py:1049 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1048 +#: common/models.py:1055 msgid "Enable password forgot" msgstr "" -#: common/models.py:1049 +#: common/models.py:1056 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1055 +#: common/models.py:1062 msgid "Enable registration" msgstr "" -#: common/models.py:1056 +#: common/models.py:1063 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1069 msgid "Enable SSO" msgstr "" -#: common/models.py:1063 +#: common/models.py:1070 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1069 +#: common/models.py:1076 msgid "Email required" msgstr "" -#: common/models.py:1070 +#: common/models.py:1077 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1076 +#: common/models.py:1083 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1077 +#: common/models.py:1084 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1083 +#: common/models.py:1090 msgid "Mail twice" msgstr "" -#: common/models.py:1084 +#: common/models.py:1091 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1090 +#: common/models.py:1097 msgid "Password twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1098 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1097 +#: common/models.py:1104 msgid "Group on signup" msgstr "" -#: common/models.py:1098 +#: common/models.py:1105 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1104 +#: common/models.py:1111 msgid "Enforce MFA" msgstr "" -#: common/models.py:1105 +#: common/models.py:1112 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1111 +#: common/models.py:1118 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1112 +#: common/models.py:1119 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1120 +#: common/models.py:1127 msgid "Enable URL integration" msgstr "" -#: common/models.py:1121 +#: common/models.py:1128 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1128 +#: common/models.py:1135 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1129 +#: common/models.py:1136 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1136 +#: common/models.py:1143 msgid "Enable app integration" msgstr "" -#: common/models.py:1137 +#: common/models.py:1144 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1144 +#: common/models.py:1151 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1145 +#: common/models.py:1152 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1152 +#: common/models.py:1159 msgid "Enable event integration" msgstr "" -#: common/models.py:1153 +#: common/models.py:1160 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1170 common/models.py:1492 +#: common/models.py:1177 common/models.py:1499 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1192 +#: common/models.py:1199 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1193 +#: common/models.py:1200 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1199 +#: common/models.py:1206 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1200 +#: common/models.py:1207 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1213 msgid "Show latest parts" msgstr "显示最近商品" -#: common/models.py:1207 +#: common/models.py:1214 msgid "Show latest parts on the homepage" msgstr "在主页上显示最近商品" -#: common/models.py:1213 +#: common/models.py:1220 msgid "Recent Part Count" msgstr "" -#: common/models.py:1214 +#: common/models.py:1221 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1220 +#: common/models.py:1227 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1221 +#: common/models.py:1228 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1227 +#: common/models.py:1234 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1228 +#: common/models.py:1235 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1241 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1235 +#: common/models.py:1242 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1241 +#: common/models.py:1248 msgid "Show low stock" msgstr "" -#: common/models.py:1242 +#: common/models.py:1249 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1248 +#: common/models.py:1255 msgid "Show depleted stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1256 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1262 msgid "Show needed stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1263 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1269 msgid "Show expired stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1270 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1276 msgid "Show stale stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1277 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Show pending builds" msgstr "" -#: common/models.py:1277 +#: common/models.py:1284 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Show overdue builds" msgstr "显示逾期生产" -#: common/models.py:1284 +#: common/models.py:1291 msgid "Show overdue builds on the homepage" msgstr "在主页上显示逾期的生产" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1291 +#: common/models.py:1298 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Show overdue POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1305 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1311 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1312 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1318 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1319 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1317 +#: common/models.py:1324 msgid "Enable label printing" msgstr "" -#: common/models.py:1318 +#: common/models.py:1325 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1324 +#: common/models.py:1331 msgid "Inline label display" msgstr "内嵌标签显示" -#: common/models.py:1325 +#: common/models.py:1332 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 标签,而不是以文件形式下载" -#: common/models.py:1331 +#: common/models.py:1338 msgid "Inline report display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 报告,而不是以文件形式下载" -#: common/models.py:1338 +#: common/models.py:1345 msgid "Search Parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1345 +#: common/models.py:1352 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1359 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1366 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1367 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1373 msgid "Search Categories" msgstr "" -#: common/models.py:1367 +#: common/models.py:1374 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1380 msgid "Search Stock" msgstr "" -#: common/models.py:1374 +#: common/models.py:1381 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1387 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1381 +#: common/models.py:1388 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1394 msgid "Search Locations" msgstr "" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1401 msgid "Search Companies" msgstr "" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1408 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1415 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1422 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1429 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Search Preview Results" msgstr "搜索预览结果" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Show Quantity in Forms" msgstr "在表格中显示数量" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Display available part quantity in some forms" msgstr "在某些表格中显示可用的商品数量" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1457 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1457 +#: common/models.py:1464 msgid "Date Format" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1472 part/templates/part/detail.html:39 +#: common/models.py:1479 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1473 +#: common/models.py:1480 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1537 company/forms.py:37 +#: common/models.py:1544 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: 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 +#: common/models.py:1551 company/serializers.py:290 +#: company/templates/company/supplier_part.html:263 order/models.py:965 +#: templates/js/translated/part.js:1042 templates/js/translated/part.js:2070 msgid "Price" msgstr "价格" -#: common/models.py:1545 +#: common/models.py:1552 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1705 common/models.py:1883 +#: common/models.py:1712 common/models.py:1890 msgid "Endpoint" msgstr "" -#: common/models.py:1706 +#: common/models.py:1713 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1715 +#: common/models.py:1722 msgid "Name for this webhook" msgstr "" -#: common/models.py:1720 part/models.py:911 plugin/models.py:99 +#: common/models.py:1727 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 @@ -2457,79 +2474,89 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1721 +#: common/models.py:1728 msgid "Is this webhook active" msgstr "" -#: common/models.py:1735 +#: common/models.py:1742 msgid "Token" msgstr "" -#: common/models.py:1736 +#: common/models.py:1743 msgid "Token for access" msgstr "" -#: common/models.py:1743 +#: common/models.py:1750 msgid "Secret" msgstr "" -#: common/models.py:1744 +#: common/models.py:1751 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Message ID" msgstr "" -#: common/models.py:1851 +#: common/models.py:1858 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1859 +#: common/models.py:1866 msgid "Host" msgstr "" -#: common/models.py:1860 +#: common/models.py:1867 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1867 +#: common/models.py:1874 msgid "Header" msgstr "" -#: common/models.py:1868 +#: common/models.py:1875 msgid "Header of this message" msgstr "" -#: common/models.py:1874 +#: common/models.py:1881 msgid "Body" msgstr "" -#: common/models.py:1875 +#: common/models.py:1882 msgid "Body of this message" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1889 +#: common/models.py:1896 msgid "Worked on" msgstr "" -#: common/models.py:1890 +#: common/models.py:1897 msgid "Was the work on this message finished?" msgstr "" +#: common/notifications.py:292 +#, python-brace-format +msgid "New {verbose_name}" +msgstr "" + +#: common/notifications.py:294 +#, python-brace-format +msgid "A new {verbose_name} has been created and ,assigned to you" +msgstr "" + #: common/views.py:87 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:191 +#: order/views.py:102 part/views.py:116 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "上传文件" #: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:192 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:117 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "匹配字段" @@ -2545,19 +2572,19 @@ msgstr "字段匹配失败" msgid "Parts imported" msgstr "已导入商品" -#: common/views.py:507 order/templates/order/order_wizard/match_parts.html:19 +#: common/views.py:511 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:16 part/forms.py:21 +#: company/forms.py:16 part/forms.py:18 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: company/forms.py:17 part/forms.py:22 +#: company/forms.py:17 part/forms.py:19 msgid "Image URL" msgstr "图片URL" @@ -2571,7 +2598,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:405 +#: templates/js/translated/company.js:399 msgid "Website" msgstr "网站" @@ -2644,9 +2671,9 @@ msgstr "是制造商" msgid "Does this company manufacture parts?" msgstr "该公司制造商品吗?" -#: 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 +#: company/models.py:144 company/serializers.py:296 +#: company/templates/company/company_base.html:106 part/serializers.py:139 +#: part/serializers.py:170 stock/serializers.py:162 msgid "Currency" msgstr "货币" @@ -2667,10 +2694,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: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/company.js:383 +#: templates/js/translated/company.js:484 +#: templates/js/translated/company.js:617 +#: templates/js/translated/company.js:902 templates/js/translated/part.js:235 #: templates/js/translated/table_filters.js:411 msgid "Manufacturer" msgstr "制造商" @@ -2681,11 +2708,11 @@ msgstr "选择制造商" #: 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 -#: 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 +#: templates/js/translated/company.js:256 +#: templates/js/translated/company.js:483 +#: templates/js/translated/company.js:633 +#: templates/js/translated/company.js:920 templates/js/translated/order.js:1907 +#: templates/js/translated/part.js:246 templates/js/translated/part.js:1000 msgid "MPN" msgstr "" @@ -2714,9 +2741,9 @@ msgstr "参数名称" #: company/models.py:361 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2080 templates/js/translated/company.js:540 -#: templates/js/translated/company.js:763 templates/js/translated/part.js:776 -#: templates/js/translated/stock.js:1294 +#: stock/models.py:2084 templates/js/translated/company.js:531 +#: templates/js/translated/company.js:748 templates/js/translated/part.js:820 +#: templates/js/translated/stock.js:1304 msgid "Value" msgstr "数值" @@ -2724,10 +2751,10 @@ msgstr "数值" msgid "Parameter value" msgstr "参数值" -#: company/models.py:368 part/models.py:878 part/models.py:2339 +#: company/models.py:368 part/models.py:878 part/models.py:2327 #: part/templates/part/part_base.html:280 #: templates/InvenTree/settings/settings.html:351 -#: templates/js/translated/company.js:769 templates/js/translated/part.js:782 +#: templates/js/translated/company.js:754 templates/js/translated/part.js:826 msgid "Units" msgstr "单位" @@ -2740,13 +2767,14 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:487 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:87 order/models.py:303 +#: company/templates/company/supplier_part.html:87 order/models.py:308 #: 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 -#: 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/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:255 +#: templates/js/translated/company.js:387 +#: templates/js/translated/company.js:876 templates/js/translated/order.js:1643 +#: templates/js/translated/part.js:216 templates/js/translated/part.js:968 #: templates/js/translated/table_filters.js:415 msgid "Supplier" msgstr "供应商" @@ -2756,9 +2784,9 @@ msgid "Select supplier" msgstr "选择供应商" #: 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 +#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:254 #: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 -#: templates/js/translated/part.js:942 +#: templates/js/translated/part.js:986 msgid "SKU" msgstr "" @@ -2779,23 +2807,23 @@ msgid "Supplier part description" msgstr "供应商商品描述" #: company/models.py:518 company/templates/company/supplier_part.html:125 -#: part/models.py:2573 part/templates/part/upload_bom.html:59 +#: part/models.py:2561 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:387 msgid "Note" msgstr "备注" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "base cost" msgstr "" -#: company/models.py:522 part/models.py:1688 +#: company/models.py:522 part/models.py:1683 msgid "Minimum charge (e.g. stocking fee)" msgstr "最低收费(例如库存费)" #: 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 +#: templates/js/translated/company.js:952 templates/js/translated/stock.js:1922 msgid "Packaging" msgstr "打包" @@ -2803,7 +2831,7 @@ msgstr "打包" msgid "Part packaging" msgstr "商品打包" -#: company/models.py:526 part/models.py:1690 +#: company/models.py:526 part/models.py:1685 msgid "multiple" msgstr "" @@ -2825,7 +2853,7 @@ msgstr "货币代码" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:177 templates/js/translated/company.js:378 +#: templates/InvenTree/search.html:177 templates/js/translated/company.js:372 msgid "Company" msgstr "公司" @@ -2843,7 +2871,7 @@ msgid "Edit company information" msgstr "编辑公司信息" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:321 +#: templates/js/translated/company.js:315 msgid "Edit Company" msgstr "编辑公司信息" @@ -2866,12 +2894,13 @@ msgstr "上传新图片" msgid "Download image from URL" msgstr "从 URL 下载图片" -#: company/templates/company/company_base.html:86 order/models.py:649 +#: company/templates/company/company_base.html:86 order/models.py:665 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:758 +#: stock/models.py:628 stock/serializers.py:745 #: 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 +#: templates/email/overdue_sales_order.html:16 +#: templates/js/translated/company.js:379 templates/js/translated/order.js:2458 +#: templates/js/translated/stock.js:2441 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "客户" @@ -2999,7 +3028,7 @@ msgid "Supplier List" msgstr "供应商列表" #: company/templates/company/manufacturer_part.html:15 company/views.py:45 -#: part/templates/part/prices.html:170 templates/InvenTree/search.html:179 +#: part/templates/part/prices.html:172 templates/InvenTree/search.html:179 #: templates/navbar.html:49 msgid "Manufacturers" msgstr "制造商" @@ -3012,12 +3041,12 @@ msgid "Order part" msgstr "订购商品" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:680 +#: templates/js/translated/company.js:665 msgid "Edit manufacturer part" msgstr "编辑制造商商品" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:681 +#: templates/js/translated/company.js:666 msgid "Delete manufacturer part" msgstr "删除生产商商品" @@ -3032,7 +3061,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:39 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166 +#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 #: templates/InvenTree/search.html:189 templates/navbar.html:48 msgid "Suppliers" msgstr "供应商" @@ -3092,18 +3121,18 @@ msgstr "" #: company/templates/company/supplier_part.html:7 #: 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 +#: templates/js/translated/company.js:892 templates/js/translated/order.js:884 +#: templates/js/translated/stock.js:1879 msgid "Supplier Part" msgstr "供应商商品" #: company/templates/company/supplier_part.html:38 -#: templates/js/translated/company.js:980 +#: templates/js/translated/company.js:965 msgid "Edit supplier part" msgstr "编辑供应商商品" #: company/templates/company/supplier_part.html:42 -#: templates/js/translated/company.js:981 +#: templates/js/translated/company.js:966 msgid "Delete supplier part" msgstr "删除供应商商品" @@ -3123,7 +3152,7 @@ msgstr "" #: company/templates/company/supplier_part.html:148 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 -#: templates/js/translated/stock.js:380 +#: templates/js/translated/stock.js:379 msgid "New Stock Item" msgstr "" @@ -3144,7 +3173,7 @@ msgstr "价格信息" #: company/templates/company/supplier_part.html:191 #: company/templates/company/supplier_part.html:305 -#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046 +#: part/templates/part/prices.html:276 templates/js/translated/part.js:2142 msgid "Add Price Break" msgstr "" @@ -3153,12 +3182,12 @@ msgid "No price break information found" msgstr "" #: company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2152 msgid "Delete Price Break" msgstr "" #: company/templates/company/supplier_part.html:245 -#: templates/js/translated/part.js:2070 +#: templates/js/translated/part.js:2166 msgid "Edit Price Break" msgstr "" @@ -3180,9 +3209,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: 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:1687 +#: templates/js/translated/bom.js:554 templates/js/translated/part.js:722 +#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1431 +#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1697 #: templates/navbar.html:31 msgid "Stock" msgstr "库存" @@ -3209,7 +3238,7 @@ msgstr "定价" #: stock/templates/stock/location.html:173 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:153 templates/js/translated/search.js:223 -#: templates/js/translated/stock.js:2307 users/models.py:39 +#: templates/js/translated/stock.js:2317 users/models.py:39 msgid "Stock Items" msgstr "库存项" @@ -3238,20 +3267,20 @@ msgstr "公司" msgid "New Company" msgstr "新建公司信息" -#: company/views.py:112 part/views.py:576 +#: company/views.py:112 part/views.py:501 msgid "Download Image" msgstr "下载图片" -#: company/views.py:139 part/views.py:606 +#: company/views.py:139 part/views.py:531 msgid "Image size exceeds maximum allowable size for download" msgstr "图像大小超过下载允许的最大尺寸" -#: company/views.py:146 part/views.py:613 +#: company/views.py:146 part/views.py:538 #, python-brace-format msgid "Invalid response: {code}" msgstr "无效响应: {code}" -#: company/views.py:155 part/views.py:622 +#: company/views.py:155 part/views.py:547 msgid "Supplied URL is not a valid image file" msgstr "提供的 URL 不是一个有效的图片文件" @@ -3320,313 +3349,314 @@ msgstr "查询筛选器 (逗号分隔的键值对列表" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "商品查询筛选器 (逗号分隔的键值对列表)" -#: order/models.py:133 +#: order/models.py:134 msgid "Order description" msgstr "" -#: order/models.py:135 order/models.py:1236 +#: order/models.py:136 order/models.py:1252 msgid "Link to external page" msgstr "" -#: order/models.py:143 +#: order/models.py:144 msgid "Created By" msgstr "" -#: order/models.py:150 +#: order/models.py:151 msgid "User or group responsible for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:155 +#: order/models.py:156 msgid "Order notes" msgstr "" -#: order/models.py:289 order/models.py:639 +#: order/models.py:294 order/models.py:655 msgid "Order reference" msgstr "" -#: order/models.py:294 order/models.py:654 +#: order/models.py:299 order/models.py:670 msgid "Purchase order status" msgstr "" -#: order/models.py:304 +#: order/models.py:309 msgid "Company from which the items are being ordered" msgstr "订购该商品的公司" -#: order/models.py:307 order/templates/order/order_base.html:124 +#: order/models.py:312 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 msgid "Supplier Reference" msgstr "" -#: order/models.py:307 +#: order/models.py:312 msgid "Supplier order reference code" msgstr "" -#: order/models.py:314 +#: order/models.py:319 msgid "received by" msgstr "" -#: order/models.py:319 +#: order/models.py:324 msgid "Issue Date" msgstr "" -#: order/models.py:320 +#: order/models.py:325 msgid "Date order was issued" msgstr "" -#: order/models.py:325 +#: order/models.py:330 msgid "Target Delivery Date" msgstr "" -#: order/models.py:326 +#: order/models.py:331 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:332 +#: order/models.py:337 msgid "Date order was completed" msgstr "" -#: order/models.py:368 +#: order/models.py:373 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:512 +#: order/models.py:517 msgid "Quantity must be a positive number" msgstr "数量必须大于0" -#: order/models.py:650 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "向其出售该商品的公司" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer Reference " msgstr "" -#: order/models.py:656 +#: order/models.py:672 msgid "Customer order reference code" msgstr "" -#: order/models.py:661 +#: order/models.py:677 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:664 order/models.py:1190 +#: order/models.py:680 order/models.py:1206 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" msgstr "" -#: order/models.py:671 +#: order/models.py:687 msgid "shipped by" msgstr "" -#: order/models.py:726 +#: order/models.py:742 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:730 +#: order/models.py:746 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:733 +#: order/models.py:749 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:736 +#: order/models.py:752 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:910 +#: order/models.py:926 msgid "Item quantity" msgstr "" -#: order/models.py:916 +#: order/models.py:932 msgid "Line item reference" msgstr "" -#: order/models.py:918 +#: order/models.py:934 msgid "Line item notes" msgstr "" -#: order/models.py:923 +#: order/models.py:939 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:941 +#: order/models.py:957 msgid "Context" msgstr "" -#: order/models.py:942 +#: order/models.py:958 msgid "Additional context for this line" msgstr "" -#: order/models.py:950 +#: order/models.py:966 msgid "Unit price" msgstr "" -#: order/models.py:980 +#: order/models.py:996 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:988 +#: order/models.py:1004 msgid "deleted" msgstr "" -#: order/models.py:994 order/models.py:1074 order/models.py:1099 -#: order/models.py:1184 order/models.py:1320 +#: order/models.py:1010 order/models.py:1090 order/models.py:1115 +#: order/models.py:1200 order/models.py:1336 #: templates/js/translated/order.js:3112 msgid "Order" msgstr "" -#: order/models.py:995 order/models.py:1074 +#: order/models.py:1011 order/models.py:1090 #: 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/email/overdue_purchase_order.html:15 #: 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 +#: templates/js/translated/part.js:943 templates/js/translated/stock.js:1856 +#: templates/js/translated/stock.js:2422 msgid "Purchase Order" msgstr "" -#: order/models.py:1013 +#: order/models.py:1029 msgid "Supplier part" msgstr "供应商商品" -#: order/models.py:1020 order/templates/order/order_base.html:169 +#: order/models.py:1036 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/part.js:1037 templates/js/translated/part.js:1064 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" -#: order/models.py:1021 +#: order/models.py:1037 msgid "Number of items received" msgstr "" -#: order/models.py:1028 part/templates/part/prices.html:179 stock/models.py:722 +#: order/models.py:1044 part/templates/part/prices.html:181 stock/models.py:722 #: stock/serializers.py:153 stock/templates/stock/item_base.html:191 -#: templates/js/translated/stock.js:1900 +#: templates/js/translated/stock.js:1910 msgid "Purchase Price" msgstr "采购价格" -#: order/models.py:1029 +#: order/models.py:1045 msgid "Unit purchase price" msgstr "" -#: order/models.py:1037 +#: order/models.py:1053 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1109 part/templates/part/part_pricing.html:112 -#: part/templates/part/prices.html:119 part/templates/part/prices.html:288 +#: order/models.py:1125 part/templates/part/part_pricing.html:115 +#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 msgid "Sale Price" msgstr "销售价格" -#: order/models.py:1110 +#: order/models.py:1126 msgid "Unit sale price" msgstr "" -#: order/models.py:1115 +#: order/models.py:1131 msgid "Shipped quantity" msgstr "" -#: order/models.py:1191 +#: order/models.py:1207 msgid "Date of shipment" msgstr "" -#: order/models.py:1198 +#: order/models.py:1214 msgid "Checked By" msgstr "" -#: order/models.py:1199 +#: order/models.py:1215 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1207 +#: order/models.py:1223 msgid "Shipment number" msgstr "" -#: order/models.py:1214 +#: order/models.py:1230 msgid "Shipment notes" msgstr "" -#: order/models.py:1221 +#: order/models.py:1237 msgid "Tracking Number" msgstr "" -#: order/models.py:1222 +#: order/models.py:1238 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1229 +#: order/models.py:1245 msgid "Invoice Number" msgstr "" -#: order/models.py:1230 +#: order/models.py:1246 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1248 +#: order/models.py:1264 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1251 +#: order/models.py:1267 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1354 order/models.py:1356 +#: order/models.py:1370 order/models.py:1372 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1360 +#: order/models.py:1376 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1362 +#: order/models.py:1378 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1365 +#: order/models.py:1381 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1369 +#: order/models.py:1385 msgid "StockItem is over-allocated" msgstr "" -#: order/models.py:1375 order/serializers.py:1045 +#: order/models.py:1391 order/serializers.py:1047 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1378 +#: order/models.py:1394 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1379 +#: order/models.py:1395 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1387 +#: order/models.py:1403 msgid "Line" msgstr "" -#: order/models.py:1395 order/serializers.py:1149 order/serializers.py:1273 +#: order/models.py:1411 order/serializers.py:1151 order/serializers.py:1275 #: templates/js/translated/model_renderers.js:301 msgid "Shipment" msgstr "" -#: order/models.py:1396 +#: order/models.py:1412 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1408 templates/InvenTree/notifications/notifications.html:70 +#: order/models.py:1424 templates/InvenTree/notifications/notifications.html:70 msgid "Item" msgstr "" -#: order/models.py:1409 +#: order/models.py:1425 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1412 +#: order/models.py:1428 msgid "Enter stock allocation quantity" msgstr "" @@ -3662,7 +3692,7 @@ msgstr "" msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:406 order/serializers.py:1117 +#: order/serializers.py:406 order/serializers.py:1119 msgid "Line Item" msgstr "" @@ -3710,42 +3740,60 @@ msgstr "" msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:866 +#: order/serializers.py:868 msgid "Sale price currency" msgstr "" -#: order/serializers.py:947 +#: order/serializers.py:949 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1006 order/serializers.py:1126 +#: order/serializers.py:1008 order/serializers.py:1128 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1028 +#: order/serializers.py:1030 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1139 +#: order/serializers.py:1141 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1161 order/serializers.py:1281 +#: order/serializers.py:1163 order/serializers.py:1283 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1164 order/serializers.py:1284 +#: order/serializers.py:1166 order/serializers.py:1286 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1214 +#: order/serializers.py:1216 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1224 +#: order/serializers.py:1226 msgid "The following serial numbers are already allocated" msgstr "" +#: order/tasks.py:26 +msgid "Overdue Purchase Order" +msgstr "" + +#: order/tasks.py:31 +#, python-brace-format +msgid "Purchase order {po} is now overdue" +msgstr "" + +#: order/tasks.py:88 +msgid "Overdue Sales Order" +msgstr "" + +#: order/tasks.py:93 +#, python-brace-format +msgid "Sales order {so} is now overdue" +msgstr "" + #: order/templates/order/order_base.html:33 msgid "Print purchase order report" msgstr "" @@ -3870,8 +3918,8 @@ msgstr "选择供应商商品" #: templates/js/translated/bom.js:77 templates/js/translated/build.js:427 #: 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:2731 templates/js/translated/stock.js:570 -#: templates/js/translated/stock.js:738 +#: templates/js/translated/order.js:2731 templates/js/translated/stock.js:569 +#: templates/js/translated/stock.js:737 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "移除行" @@ -3990,7 +4038,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:70 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1053 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1047 #: templates/js/translated/build.js:1880 msgid "Actions" msgstr "" @@ -4021,47 +4069,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:481 +#: part/api.py:482 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:501 +#: part/api.py:502 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:519 +#: part/api.py:520 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:551 +#: part/api.py:552 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:637 +#: part/api.py:638 msgid "Valid" msgstr "" -#: part/api.py:638 +#: part/api.py:639 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:644 +#: part/api.py:645 msgid "This option must be selected" msgstr "" -#: part/api.py:1010 +#: part/api.py:1011 msgid "Must be greater than zero" msgstr "必须大于0" -#: part/api.py:1014 +#: part/api.py:1015 msgid "Must be a valid quantity" msgstr "必须是有效的数量" -#: part/api.py:1029 +#: part/api.py:1030 msgid "Specify location for initial part stock" msgstr "指定初始初始商品仓储地点" -#: part/api.py:1060 part/api.py:1064 part/api.py:1079 part/api.py:1083 +#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 msgid "This field is required" msgstr "此字段为必填" @@ -4080,17 +4128,13 @@ msgid "Available Stock" msgstr "可用库存" #: 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 +#: templates/js/translated/part.js:561 templates/js/translated/part.js:581 +#: templates/js/translated/part.js:1273 templates/js/translated/part.js:1445 +#: templates/js/translated/part.js:1461 msgid "On Order" msgstr "" -#: part/forms.py:59 -msgid "Select part category" -msgstr "选择类别" - -#: part/forms.py:69 +#: part/forms.py:60 msgid "Input quantity for price calculation" msgstr "" @@ -4106,7 +4150,7 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "此类别商品的默认关键字" -#: part/models.py:115 part/models.py:2415 part/templates/part/category.html:15 +#: part/models.py:115 part/models.py:2403 part/templates/part/category.html:15 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "商品类别" @@ -4123,7 +4167,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:144 +#: templates/js/translated/part.js:1864 templates/js/translated/search.js:144 #: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "商品" @@ -4153,7 +4197,7 @@ msgstr "" msgid "Duplicate IPN not allowed in part settings" msgstr "在商品设置中不允许重复的IPN" -#: part/models.py:738 part/models.py:2469 +#: part/models.py:738 part/models.py:2457 msgid "Part name" msgstr "商品名称" @@ -4186,12 +4230,11 @@ msgstr "关键词" msgid "Part keywords to improve visibility in search results" msgstr "提高搜索结果可见性的关键字" -#: part/models.py:776 part/models.py:2171 part/models.py:2414 +#: part/models.py:776 part/models.py:2159 part/models.py:2402 #: part/templates/part/part_base.html:257 -#: part/templates/part/set_category.html:15 #: templates/InvenTree/notifications/notifications.html:65 #: templates/InvenTree/settings/settings.html:231 -#: templates/js/translated/part.js:1369 +#: templates/js/translated/part.js:1413 templates/js/translated/part.js:1639 msgid "Category" msgstr "类别" @@ -4200,8 +4243,8 @@ msgid "Part category" msgstr "商品类别" #: 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 +#: templates/js/translated/part.js:710 templates/js/translated/part.js:1366 +#: templates/js/translated/stock.js:1669 msgid "IPN" msgstr "" @@ -4214,7 +4257,7 @@ msgid "Part revision or version number" msgstr "商品版本号" #: part/models.py:790 part/templates/part/part_base.html:273 -#: report/models.py:170 templates/js/translated/part.js:670 +#: report/models.py:170 templates/js/translated/part.js:714 msgid "Revision" msgstr "" @@ -4302,317 +4345,321 @@ msgstr "" msgid "Creation User" msgstr "新建用户" -#: part/models.py:1690 +#: part/models.py:1685 msgid "Sell multiple" msgstr "" -#: part/models.py:2218 +#: part/models.py:2206 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2235 +#: part/models.py:2223 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2255 templates/js/translated/part.js:1819 -#: templates/js/translated/stock.js:1274 +#: part/models.py:2243 templates/js/translated/part.js:1915 +#: templates/js/translated/stock.js:1284 msgid "Test Name" msgstr "" -#: part/models.py:2256 +#: part/models.py:2244 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2261 +#: part/models.py:2249 msgid "Test Description" msgstr "" -#: part/models.py:2262 +#: part/models.py:2250 msgid "Enter description for this test" msgstr "" -#: part/models.py:2267 templates/js/translated/part.js:1828 +#: part/models.py:2255 templates/js/translated/part.js:1924 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" -#: part/models.py:2268 +#: part/models.py:2256 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2273 templates/js/translated/part.js:1836 +#: part/models.py:2261 templates/js/translated/part.js:1932 msgid "Requires Value" msgstr "" -#: part/models.py:2274 +#: part/models.py:2262 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2279 templates/js/translated/part.js:1843 +#: part/models.py:2267 templates/js/translated/part.js:1939 msgid "Requires Attachment" msgstr "" -#: part/models.py:2280 +#: part/models.py:2268 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2288 +#: part/models.py:2276 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2324 +#: part/models.py:2312 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2332 +#: part/models.py:2320 msgid "Parameter Name" msgstr "" -#: part/models.py:2339 +#: part/models.py:2327 msgid "Parameter Units" msgstr "" -#: part/models.py:2370 +#: part/models.py:2358 msgid "Parent Part" msgstr "" -#: part/models.py:2372 part/models.py:2420 part/models.py:2421 +#: part/models.py:2360 part/models.py:2408 part/models.py:2409 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" msgstr "参数模板" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Data" msgstr "" -#: part/models.py:2374 +#: part/models.py:2362 msgid "Parameter Value" msgstr "" -#: part/models.py:2425 templates/InvenTree/settings/settings.html:235 +#: part/models.py:2413 templates/InvenTree/settings/settings.html:235 msgid "Default Value" msgstr "默认值" -#: part/models.py:2426 +#: part/models.py:2414 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2461 +#: part/models.py:2449 msgid "Part ID or part name" msgstr "" -#: part/models.py:2464 templates/js/translated/model_renderers.js:200 +#: part/models.py:2452 templates/js/translated/model_renderers.js:200 msgid "Part ID" msgstr "商品ID" -#: part/models.py:2465 +#: part/models.py:2453 msgid "Unique part ID value" msgstr "" -#: part/models.py:2468 +#: part/models.py:2456 msgid "Part Name" msgstr "" -#: part/models.py:2472 +#: part/models.py:2460 msgid "Part IPN" msgstr "" -#: part/models.py:2473 +#: part/models.py:2461 msgid "Part IPN value" msgstr "" -#: part/models.py:2476 +#: part/models.py:2464 msgid "Level" msgstr "" -#: part/models.py:2477 +#: part/models.py:2465 msgid "BOM level" msgstr "" -#: part/models.py:2546 +#: part/models.py:2534 msgid "Select parent part" msgstr "" -#: part/models.py:2554 +#: part/models.py:2542 msgid "Sub part" msgstr "" -#: part/models.py:2555 +#: part/models.py:2543 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2561 +#: part/models.py:2549 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2563 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:877 templates/js/translated/bom.js:971 +#: part/models.py:2551 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:871 templates/js/translated/bom.js:965 #: templates/js/translated/table_filters.js:92 msgid "Optional" msgstr "可选项" -#: part/models.py:2563 +#: part/models.py:2551 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2566 part/templates/part/upload_bom.html:55 +#: part/models.py:2554 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2567 +#: part/models.py:2555 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2570 +#: part/models.py:2558 msgid "BOM item reference" msgstr "" -#: part/models.py:2573 +#: part/models.py:2561 msgid "BOM item notes" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "Checksum" msgstr "" -#: part/models.py:2575 +#: part/models.py:2563 msgid "BOM line checksum" msgstr "" -#: part/models.py:2579 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:988 +#: part/models.py:2567 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:982 #: templates/js/translated/table_filters.js:68 #: templates/js/translated/table_filters.js:88 msgid "Inherited" msgstr "继承项" -#: part/models.py:2580 +#: part/models.py:2568 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2585 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:980 +#: part/models.py:2573 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:974 msgid "Allow Variants" msgstr "" -#: part/models.py:2586 +#: part/models.py:2574 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2664 stock/models.py:460 +#: part/models.py:2652 stock/models.py:460 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2673 part/models.py:2675 +#: part/models.py:2661 part/models.py:2663 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2780 +#: part/models.py:2768 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2801 +#: part/models.py:2789 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2814 +#: part/models.py:2802 msgid "Parent BOM item" msgstr "" -#: part/models.py:2822 +#: part/models.py:2810 msgid "Substitute part" msgstr "" -#: part/models.py:2833 +#: part/models.py:2825 msgid "Part 1" msgstr "" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Part 2" msgstr "" -#: part/models.py:2837 +#: part/models.py:2829 msgid "Select Related Part" msgstr "" -#: part/models.py:2868 -msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" +#: part/models.py:2847 +msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/serializers.py:138 part/serializers.py:169 stock/serializers.py:163 +#: part/models.py:2851 +msgid "Duplicate relationship already exists" +msgstr "" + +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:794 +#: part/serializers.py:796 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:802 +#: part/serializers.py:804 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:803 +#: part/serializers.py:805 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:810 msgid "Include Inherited" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:811 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:816 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:817 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:820 +#: part/serializers.py:822 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:821 +#: part/serializers.py:823 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:861 +#: part/serializers.py:863 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:862 +#: part/serializers.py:864 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:894 msgid "No part column specified" msgstr "" -#: part/serializers.py:935 +#: part/serializers.py:937 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:938 +#: part/serializers.py:940 msgid "No matching part found" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:943 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:950 +#: part/serializers.py:952 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:958 +#: part/serializers.py:960 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:979 +#: part/serializers.py:981 msgid "At least one BOM item is required" msgstr "" @@ -5088,10 +5135,10 @@ msgid "Part is virtual (not a physical part)" msgstr "商品是虚拟的(不是实体零件)" #: part/templates/part/part_base.html:143 -#: templates/js/translated/company.js:623 -#: templates/js/translated/company.js:882 +#: templates/js/translated/company.js:608 +#: templates/js/translated/company.js:867 #: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:658 +#: templates/js/translated/part.js:625 templates/js/translated/part.js:702 msgid "Inactive" msgstr "" @@ -5120,13 +5167,13 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1009 +#: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1003 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/part.js:520 -#: templates/js/translated/part.js:540 templates/js/translated/part.js:1233 -#: templates/js/translated/part.js:1405 templates/js/translated/part.js:1421 +#: part/templates/part/part_base.html:238 templates/js/translated/part.js:564 +#: templates/js/translated/part.js:584 templates/js/translated/part.js:1277 +#: templates/js/translated/part.js:1449 templates/js/translated/part.js:1465 msgid "Building" msgstr "" @@ -5143,7 +5190,7 @@ msgstr "" msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:443 part/templates/part/prices.html:147 +#: part/templates/part/part_base.html:443 part/templates/part/prices.html:149 msgid "Calculate" msgstr "" @@ -5161,54 +5208,55 @@ msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:106 -#: part/templates/part/prices.html:123 +#: part/templates/part/part_pricing.html:103 +#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 +#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:104 -#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:111 -#: part/templates/part/prices.html:128 +#: part/templates/part/part_pricing.html:107 +#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 +#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 +#: part/templates/part/prices.html:130 msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:963 +#: templates/js/translated/bom.js:957 msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:246 +#: part/templates/part/prices.html:248 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:89 +#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 msgid "Note: BOM pricing is incomplete for this part" msgstr "注:此商品BOM价格不完整。" -#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:96 +#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:105 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/prices.html:107 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:128 -#: part/templates/part/prices.html:137 +#: part/templates/part/part_pricing.html:131 +#: part/templates/part/prices.html:139 msgid "No pricing information is available for this part." msgstr "此商品无价格信息可用。" @@ -5232,43 +5280,6 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/partial_delete.html:9 -#, python-format -msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n" -"
Disable the \"Active\" part attribute and re-try.\n" -" " -msgstr "" - -#: part/templates/part/partial_delete.html:17 -#, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" -msgstr "您确定要删除商品 '%(full_name)s '吗?" - -#: part/templates/part/partial_delete.html:22 -#, python-format -msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated" -msgstr "" - -#: part/templates/part/partial_delete.html:32 -#, python-format -msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:43 -#, python-format -msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:54 -#, python-format -msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:" -msgstr "" - -#: part/templates/part/partial_delete.html:67 -#, python-format -msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information." -msgstr "" - #: part/templates/part/prices.html:19 msgid "Pricing ranges" msgstr "" @@ -5285,66 +5296,58 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:120 +#: part/templates/part/prices.html:122 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:123 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:143 +#: part/templates/part/prices.html:145 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:158 templates/js/translated/bom.js:957 +#: part/templates/part/prices.html:160 templates/js/translated/bom.js:951 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:159 part/templates/part/prices.html:180 -#: part/templates/part/prices.html:204 part/templates/part/prices.html:234 -#: part/templates/part/prices.html:260 part/templates/part/prices.html:289 +#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 +#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 +#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:184 +#: part/templates/part/prices.html:186 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:193 +#: part/templates/part/prices.html:195 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:203 +#: part/templates/part/prices.html:205 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:218 +#: part/templates/part/prices.html:220 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:233 +#: part/templates/part/prices.html:235 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:259 +#: part/templates/part/prices.html:261 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:300 +#: part/templates/part/prices.html:302 msgid "No sale pice history available for this part." msgstr "" -#: part/templates/part/set_category.html:9 -msgid "Set category for the following parts" -msgstr "为以下商品设置类别" - -#: part/templates/part/set_category.html:32 -msgid "Remove part" -msgstr "移除商品" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543 -#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:587 +#: templates/js/translated/part.js:1265 templates/js/translated/part.js:1469 msgid "No Stock" msgstr "" @@ -5407,56 +5410,39 @@ msgstr "" msgid "{title} v{version}" msgstr "" -#: part/views.py:74 -msgid "Set Part Category" -msgstr "设置商品类别" - -#: part/views.py:122 -#, python-brace-format -msgid "Set category for {n} parts" -msgstr "为 {n} 个商品设置类别" - -#: part/views.py:193 +#: part/views.py:118 msgid "Match References" msgstr "" -#: part/views.py:494 +#: part/views.py:419 msgid "None" msgstr "" -#: part/views.py:556 +#: part/views.py:481 msgid "Part QR Code" msgstr "商品二维码" -#: part/views.py:650 +#: part/views.py:575 msgid "Select Part Image" msgstr "选择商品图像" -#: part/views.py:676 +#: part/views.py:601 msgid "Updated part image" msgstr "更新商品图像" -#: part/views.py:679 +#: part/views.py:604 msgid "Part image not found" msgstr "未找到商品图像" -#: part/views.py:768 -msgid "Confirm Part Deletion" -msgstr "确认删除商品" - -#: part/views.py:776 -msgid "Part was deleted" -msgstr "商品已删除" - -#: part/views.py:785 +#: part/views.py:693 msgid "Part Pricing" msgstr "商品价格" -#: part/views.py:976 +#: part/views.py:884 msgid "Delete Part Category" msgstr "删除商品类别" -#: part/views.py:983 +#: part/views.py:891 msgid "Part category was deleted" msgstr "商品类别已删除" @@ -5516,21 +5502,21 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:28 +#: plugin/builtin/integration/core_notifications.py:29 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:29 +#: plugin/builtin/integration/core_notifications.py:30 msgid "Integrated outgoing notificaton methods" msgstr "" -#: 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:34 #: plugin/builtin/integration/core_notifications.py:53 +msgid "Enable email notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:35 +#: plugin/builtin/integration/core_notifications.py:54 msgid "Allow sending of emails for event notifications" msgstr "" @@ -5646,15 +5632,19 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: report/api.py:166 +#: report/api.py:179 msgid "No valid objects provided to template" msgstr "没有为模板提供有效对象" -#: report/api.py:198 report/api.py:239 +#: report/api.py:215 report/api.py:256 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" +#: report/api.py:359 +msgid "Test report" +msgstr "" + #: report/models.py:152 msgid "Template name" msgstr "" @@ -5757,7 +5747,7 @@ msgstr "" #: 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:3229 -#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:435 +#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:434 msgid "Serial Number" msgstr "序列号" @@ -5766,19 +5756,19 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2068 +#: stock/models.py:2072 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2074 +#: stock/models.py:2078 msgid "Result" 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:1669 templates/js/translated/stock.js:2340 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2350 msgid "Date" msgstr "" @@ -5796,20 +5786,20 @@ msgid "Installed Items" 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:2589 +#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724 +#: templates/js/translated/stock.js:2599 msgid "Serial" msgstr "" -#: stock/api.py:504 +#: stock/api.py:505 msgid "Quantity is required" msgstr "" -#: stock/api.py:511 +#: stock/api.py:512 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:536 +#: stock/api.py:537 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5917,7 +5907,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1826 msgid "Expiry Date" msgstr "" @@ -5971,79 +5961,79 @@ msgstr "" msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1321 +#: stock/models.py:1325 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1324 +#: stock/models.py:1328 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1327 +#: stock/models.py:1331 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1330 +#: stock/models.py:1334 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1333 +#: stock/models.py:1337 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1336 +#: stock/models.py:1340 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1343 stock/serializers.py:908 +#: stock/models.py:1347 stock/serializers.py:895 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1347 +#: stock/models.py:1351 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1355 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1355 +#: stock/models.py:1359 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1524 +#: stock/models.py:1528 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1986 +#: stock/models.py:1990 msgid "Entry notes" msgstr "" -#: stock/models.py:2044 +#: stock/models.py:2048 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2050 +#: stock/models.py:2054 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2069 +#: stock/models.py:2073 msgid "Test name" msgstr "" -#: stock/models.py:2075 +#: stock/models.py:2079 msgid "Test result" msgstr "" -#: stock/models.py:2081 +#: stock/models.py:2085 msgid "Test output value" msgstr "" -#: stock/models.py:2088 +#: stock/models.py:2092 msgid "Test result attachment" msgstr "" -#: stock/models.py:2094 +#: stock/models.py:2098 msgid "Test notes" msgstr "" @@ -6064,7 +6054,7 @@ msgstr "" msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:865 stock/serializers.py:1098 +#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 msgid "Destination stock location" msgstr "" @@ -6104,63 +6094,63 @@ msgstr "" msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:720 +#: stock/serializers.py:707 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:724 +#: stock/serializers.py:711 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:728 +#: stock/serializers.py:715 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:759 +#: stock/serializers.py:746 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:765 +#: stock/serializers.py:752 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:773 +#: stock/serializers.py:760 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:783 stock/serializers.py:1014 +#: stock/serializers.py:770 stock/serializers.py:1001 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:872 +#: stock/serializers.py:859 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:877 +#: stock/serializers.py:864 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:878 +#: stock/serializers.py:865 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:883 +#: stock/serializers.py:870 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:884 +#: stock/serializers.py:871 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:894 +#: stock/serializers.py:881 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:976 +#: stock/serializers.py:963 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1004 +#: stock/serializers.py:991 msgid "Stock transaction notes" msgstr "" @@ -6185,7 +6175,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 +#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:298 msgid "Delete Test Data" msgstr "" @@ -6197,11 +6187,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2733 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2743 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:292 templates/js/translated/stock.js:1455 +#: stock/templates/stock/item.html:290 +msgid "Delete all test results for this stock item" +msgstr "" + +#: stock/templates/stock/item.html:323 templates/js/translated/stock.js:1465 msgid "Add Test Result" msgstr "" @@ -6388,7 +6382,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/stock.js:1832 +#: templates/js/translated/stock.js:1842 msgid "Last Updated" msgstr "" @@ -6529,7 +6523,7 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:182 +#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:144 msgid "Convert Stock Item" msgstr "" @@ -6550,31 +6544,19 @@ msgstr "警告" msgid "This action cannot be easily undone" msgstr "" -#: stock/views.py:113 +#: stock/views.py:111 msgid "Stock Location QR code" msgstr "仓储地点二维码" -#: stock/views.py:131 -msgid "Delete All Test Data" -msgstr "" - -#: stock/views.py:149 -msgid "Confirm test data deletion" -msgstr "" - -#: stock/views.py:150 -msgid "Check the confirmation box" -msgstr "选中确认框" - -#: stock/views.py:165 +#: stock/views.py:127 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:216 +#: stock/views.py:178 msgid "Delete Stock Location" msgstr "删除仓储地点" -#: stock/views.py:229 +#: stock/views.py:191 msgid "Delete Stock Item" msgstr "" @@ -7317,8 +7299,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:56 templates/js/translated/modals.js:595 -#: templates/js/translated/modals.js:689 templates/js/translated/modals.js:997 +#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 +#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 #: templates/js/translated/order.js:928 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -7390,6 +7372,10 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:630 +msgid "Confirm" +msgstr "确认" + #: templates/account/email_confirm.html:27 #, python-format msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." @@ -7562,7 +7548,7 @@ msgstr "添加附件" msgid "Delete selected attachments" msgstr "" -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:110 +#: templates/attachment_table.html:12 templates/js/translated/attachment.js:112 msgid "Delete Attachments" msgstr "" @@ -7596,15 +7582,15 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1425 +#: templates/js/translated/bom.js:1419 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: 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/bom.js:884 templates/js/translated/build.js:1787 +#: templates/js/translated/build.js:2650 templates/js/translated/part.js:571 +#: templates/js/translated/part.js:574 #: templates/js/translated/table_filters.js:178 msgid "Available" msgstr "空闲" @@ -7622,6 +7608,13 @@ msgstr "" msgid "Minimum Quantity" msgstr "" +#: templates/email/new_order_assigned.html:9 +#: templates/email/overdue_build_order.html:9 +#: templates/email/overdue_purchase_order.html:9 +#: templates/email/overdue_sales_order.html:9 +msgid "Click on the following link to view this order" +msgstr "" + #: templates/image_download.html:8 msgid "Specify URL for downloading image" msgstr "" @@ -7638,91 +7631,91 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/translated/api.js:235 templates/js/translated/modals.js:1067 +#: templates/js/translated/api.js:195 templates/js/translated/modals.js:1073 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1068 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1074 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:242 +#: templates/js/translated/api.js:202 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:243 +#: templates/js/translated/api.js:203 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1077 +#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1083 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1078 +#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1084 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:252 templates/js/translated/modals.js:1082 +#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1088 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:253 templates/js/translated/modals.js:1083 +#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1089 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1087 +#: templates/js/translated/api.js:217 templates/js/translated/modals.js:1093 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1088 +#: templates/js/translated/api.js:218 templates/js/translated/modals.js:1094 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:262 +#: templates/js/translated/api.js:222 msgid "Error 405: Method Not Allowed" msgstr "" -#: templates/js/translated/api.js:263 +#: templates/js/translated/api.js:223 msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:267 templates/js/translated/modals.js:1092 +#: templates/js/translated/api.js:227 templates/js/translated/modals.js:1098 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:268 templates/js/translated/modals.js:1093 +#: templates/js/translated/api.js:228 templates/js/translated/modals.js:1099 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:271 +#: templates/js/translated/api.js:231 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:272 +#: templates/js/translated/api.js:232 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:96 +#: templates/js/translated/attachment.js:98 msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:156 +#: templates/js/translated/attachment.js:152 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:180 +#: templates/js/translated/attachment.js:176 msgid "Edit Attachment" msgstr "编辑附件" -#: templates/js/translated/attachment.js:246 +#: templates/js/translated/attachment.js:242 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:262 +#: templates/js/translated/attachment.js:264 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:269 +#: templates/js/translated/attachment.js:271 msgid "Delete attachment" msgstr "" @@ -7755,7 +7748,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:182 -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "Invalid server response" msgstr "" @@ -7783,7 +7776,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999 +#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:998 msgid "Remove stock item" msgstr "" @@ -7918,89 +7911,89 @@ msgstr "" msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:682 +#: templates/js/translated/bom.js:684 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:697 +#: templates/js/translated/bom.js:699 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:824 +#: templates/js/translated/bom.js:818 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:834 +#: templates/js/translated/bom.js:828 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:838 templates/js/translated/build.js:1769 +#: templates/js/translated/bom.js:832 templates/js/translated/build.js:1769 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1814 +#: templates/js/translated/bom.js:900 templates/js/translated/build.js:1814 #: templates/js/translated/order.js:3562 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:910 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:904 templates/js/translated/build.js:1818 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:912 templates/js/translated/build.js:1820 -#: templates/js/translated/part.js:690 +#: templates/js/translated/bom.js:906 templates/js/translated/build.js:1820 +#: templates/js/translated/part.js:734 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:914 templates/js/translated/build.js:1822 +#: templates/js/translated/bom.js:908 templates/js/translated/build.js:1822 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:928 +#: templates/js/translated/bom.js:922 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:943 +#: templates/js/translated/bom.js:937 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:950 +#: templates/js/translated/bom.js:944 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:999 templates/js/translated/bom.js:1090 +#: templates/js/translated/bom.js:993 templates/js/translated/bom.js:1084 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1061 +#: templates/js/translated/bom.js:1055 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1063 +#: templates/js/translated/bom.js:1057 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1065 +#: templates/js/translated/bom.js:1059 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1067 templates/js/translated/bom.js:1228 +#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1222 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1069 +#: templates/js/translated/bom.js:1063 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1164 templates/js/translated/build.js:1615 +#: templates/js/translated/bom.js:1158 templates/js/translated/build.js:1615 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1408 templates/js/translated/build.js:1753 +#: templates/js/translated/bom.js:1402 templates/js/translated/build.js:1753 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1430 +#: templates/js/translated/bom.js:1424 msgid "Inherited from parent BOM" msgstr "" @@ -8040,13 +8033,13 @@ msgstr "生产订单未完成" msgid "Complete Build Order" msgstr "生产订单完成" -#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91 -#: templates/js/translated/stock.js:181 +#: templates/js/translated/build.js:259 templates/js/translated/stock.js:90 +#: templates/js/translated/stock.js:180 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93 -#: templates/js/translated/stock.js:183 +#: templates/js/translated/build.js:261 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:182 msgid "Latest serial number" msgstr "" @@ -8259,9 +8252,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: 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 +#: templates/js/translated/build.js:2448 templates/js/translated/part.js:1358 +#: templates/js/translated/part.js:1825 templates/js/translated/stock.js:1629 +#: templates/js/translated/stock.js:2287 msgid "Select" msgstr "" @@ -8273,7 +8266,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2519 +#: templates/js/translated/build.js:2532 templates/js/translated/stock.js:2529 msgid "No user information" msgstr "没有用户信息" @@ -8285,107 +8278,107 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "添加制造商" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:169 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:168 msgid "Add Manufacturer Part" msgstr "添加制造商商品" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "编辑制造商商品" -#: templates/js/translated/company.js:157 templates/js/translated/order.js:506 +#: templates/js/translated/company.js:156 templates/js/translated/order.js:506 msgid "Add Supplier" msgstr "添加供应商" -#: templates/js/translated/company.js:185 +#: templates/js/translated/company.js:184 msgid "Add Supplier Part" msgstr "添加供应商商品" -#: templates/js/translated/company.js:200 +#: templates/js/translated/company.js:199 msgid "Edit Supplier Part" msgstr "编辑供应商商品" -#: templates/js/translated/company.js:248 +#: templates/js/translated/company.js:249 msgid "All selected supplier parts will be deleted" msgstr "删除所有选定的供应商商品" -#: templates/js/translated/company.js:263 +#: templates/js/translated/company.js:264 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:342 +#: templates/js/translated/company.js:336 msgid "Add new Company" msgstr "增加新的公司信息" -#: templates/js/translated/company.js:419 +#: templates/js/translated/company.js:413 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:428 +#: templates/js/translated/company.js:422 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:443 +#: templates/js/translated/company.js:437 msgid "No company information found" msgstr "未找到该公司信息" -#: templates/js/translated/company.js:482 +#: templates/js/translated/company.js:478 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:496 +#: templates/js/translated/company.js:492 msgid "Delete Manufacturer Parts" msgstr "删除制造商商品" -#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:526 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:548 +#: templates/js/translated/company.js:539 msgid "Delete Parameters" msgstr "删除参数" -#: templates/js/translated/company.js:595 +#: templates/js/translated/company.js:580 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:615 -#: templates/js/translated/company.js:874 templates/js/translated/part.js:565 -#: templates/js/translated/part.js:650 +#: templates/js/translated/company.js:600 +#: templates/js/translated/company.js:859 templates/js/translated/part.js:609 +#: templates/js/translated/part.js:694 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:619 -#: templates/js/translated/company.js:878 templates/js/translated/part.js:569 -#: templates/js/translated/part.js:654 +#: templates/js/translated/company.js:604 +#: templates/js/translated/company.js:863 templates/js/translated/part.js:613 +#: templates/js/translated/part.js:698 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:747 templates/js/translated/part.js:757 +#: templates/js/translated/company.js:732 templates/js/translated/part.js:801 msgid "No parameters found" msgstr "无指定参数" -#: templates/js/translated/company.js:784 templates/js/translated/part.js:799 +#: templates/js/translated/company.js:769 templates/js/translated/part.js:843 msgid "Edit parameter" msgstr "编辑参数" -#: templates/js/translated/company.js:785 templates/js/translated/part.js:800 +#: templates/js/translated/company.js:770 templates/js/translated/part.js:844 msgid "Delete parameter" msgstr "删除参数" -#: templates/js/translated/company.js:804 templates/js/translated/part.js:817 +#: templates/js/translated/company.js:789 templates/js/translated/part.js:861 msgid "Edit Parameter" msgstr "编辑参数" -#: templates/js/translated/company.js:815 templates/js/translated/part.js:829 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:873 msgid "Delete Parameter" msgstr "删除参数" -#: templates/js/translated/company.js:854 +#: templates/js/translated/company.js:839 msgid "No supplier parts found" msgstr "未找到供应商商品" @@ -8448,36 +8441,36 @@ msgstr "" msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:756 +#: templates/js/translated/forms.js:757 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1248 templates/modals.html:19 +#: templates/js/translated/forms.js:1249 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1681 +#: templates/js/translated/forms.js:1682 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1896 templates/search.html:29 +#: templates/js/translated/forms.js:1897 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2149 +#: templates/js/translated/forms.js:2150 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2615 +#: templates/js/translated/forms.js:2616 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2627 +#: templates/js/translated/forms.js:2628 msgid "Select Columns" msgstr "" @@ -8498,7 +8491,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1023 +#: templates/js/translated/stock.js:1022 msgid "Select Stock Items" msgstr "选择库存项" @@ -8552,12 +8545,12 @@ msgid "Select Label Template" msgstr "选择标签模板" #: templates/js/translated/modals.js:82 templates/js/translated/modals.js:142 -#: templates/js/translated/modals.js:621 +#: templates/js/translated/modals.js:627 msgid "Cancel" msgstr "取消" #: 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/js/translated/modals.js:694 templates/js/translated/modals.js:1002 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" @@ -8566,47 +8559,47 @@ msgstr "" msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:403 +#: templates/js/translated/modals.js:421 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:562 +#: templates/js/translated/modals.js:568 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:620 +#: templates/js/translated/modals.js:626 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:677 +#: templates/js/translated/modals.js:683 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:948 +#: templates/js/translated/modals.js:954 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:960 +#: templates/js/translated/modals.js:966 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1057 +#: templates/js/translated/modals.js:1063 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1072 +#: templates/js/translated/modals.js:1078 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1073 +#: templates/js/translated/modals.js:1079 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1096 +#: templates/js/translated/modals.js:1102 msgid "Error requesting form data" msgstr "" @@ -8656,11 +8649,11 @@ msgstr "" msgid "Mark as read" msgstr "" -#: templates/js/translated/notification.js:259 +#: templates/js/translated/notification.js:260 msgid "No unread notifications" msgstr "" -#: templates/js/translated/notification.js:300 templates/notifications.html:10 +#: templates/js/translated/notification.js:302 templates/notifications.html:10 msgid "Notifications will load here" msgstr "" @@ -8804,7 +8797,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2080 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2090 msgid "Stock Status" msgstr "" @@ -8828,7 +8821,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1602 templates/js/translated/part.js:870 +#: templates/js/translated/order.js:1602 templates/js/translated/part.js:914 msgid "No purchase orders found" msgstr "" @@ -8863,7 +8856,7 @@ msgstr "" #: templates/js/translated/order.js:1937 templates/js/translated/order.js:2139 #: templates/js/translated/order.js:3467 templates/js/translated/order.js:3978 -#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301 +#: templates/js/translated/part.js:2044 templates/js/translated/part.js:2397 msgid "Unit Price" msgstr "单价" @@ -8873,11 +8866,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:1993 templates/js/translated/order.js:3525 -#: templates/js/translated/part.js:979 +#: templates/js/translated/part.js:1023 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1025 +#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1069 msgid "Receive line item" msgstr "" @@ -8998,7 +8991,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1535 +#: templates/js/translated/stock.js:1545 msgid "Shipped to customer" msgstr "" @@ -9138,165 +9131,209 @@ msgstr "" msgid "Create Part Variant" msgstr "" +#: templates/js/translated/part.js:405 +msgid "Active Part" +msgstr "" + +#: templates/js/translated/part.js:406 +msgid "Part cannot be deleted as it is currently active" +msgstr "" + +#: templates/js/translated/part.js:420 +msgid "Deleting this part cannot be reversed" +msgstr "" + +#: templates/js/translated/part.js:422 +msgid "Any stock items for this part will be deleted" +msgstr "" + #: templates/js/translated/part.js:423 +msgid "This part will be removed from any Bills of Material" +msgstr "" + +#: templates/js/translated/part.js:424 +msgid "All manufacturer and supplier information for this part will be deleted" +msgstr "" + +#: templates/js/translated/part.js:431 +msgid "Delete Part" +msgstr "" + +#: templates/js/translated/part.js:467 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:425 +#: templates/js/translated/part.js:469 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:430 +#: templates/js/translated/part.js:474 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:432 +#: templates/js/translated/part.js:476 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:493 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:459 +#: templates/js/translated/part.js:503 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:506 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:487 +#: templates/js/translated/part.js:531 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:513 templates/js/translated/part.js:1397 +#: templates/js/translated/part.js:557 templates/js/translated/part.js:1441 #: templates/js/translated/table_filters.js:452 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:523 templates/js/translated/part.js:1409 +#: templates/js/translated/part.js:567 templates/js/translated/part.js:1453 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:557 templates/js/translated/part.js:642 +#: templates/js/translated/part.js:601 templates/js/translated/part.js:686 msgid "Trackable part" msgstr "可追溯商品" -#: templates/js/translated/part.js:561 templates/js/translated/part.js:646 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:690 msgid "Virtual part" msgstr "虚拟商品" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:617 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:577 +#: templates/js/translated/part.js:621 msgid "Salable part" msgstr "可销售商品" -#: templates/js/translated/part.js:705 +#: templates/js/translated/part.js:749 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1095 +#: templates/js/translated/part.js:1139 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1119 +#: templates/js/translated/part.js:1163 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1184 templates/js/translated/part.js:1480 +#: templates/js/translated/part.js:1228 templates/js/translated/part.js:1524 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1223 +#: templates/js/translated/part.js:1267 msgid "Not available" msgstr "" -#: templates/js/translated/part.js:1374 +#: templates/js/translated/part.js:1418 msgid "No category" msgstr "没有分类" -#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664 -#: templates/js/translated/stock.js:2238 +#: templates/js/translated/part.js:1548 templates/js/translated/part.js:1760 +#: templates/js/translated/stock.js:2248 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1520 +#: templates/js/translated/part.js:1564 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2257 +#: templates/js/translated/part.js:1630 +msgid "Set the part category for the selected parts" +msgstr "" + +#: templates/js/translated/part.js:1635 +msgid "Set Part Category" +msgstr "设置商品类别" + +#: templates/js/translated/part.js:1640 +msgid "Select Part Category" +msgstr "" + +#: templates/js/translated/part.js:1653 +msgid "Category is required" +msgstr "" + +#: templates/js/translated/part.js:1779 templates/js/translated/stock.js:2267 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1747 +#: templates/js/translated/part.js:1843 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2301 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2311 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1805 +#: templates/js/translated/part.js:1901 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1233 +#: templates/js/translated/part.js:1952 templates/js/translated/stock.js:1243 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1234 -#: templates/js/translated/stock.js:1493 +#: templates/js/translated/part.js:1953 templates/js/translated/stock.js:1244 +#: templates/js/translated/stock.js:1503 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1863 +#: templates/js/translated/part.js:1959 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1885 +#: templates/js/translated/part.js:1981 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1899 +#: templates/js/translated/part.js:1995 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:1924 +#: templates/js/translated/part.js:2020 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1981 +#: templates/js/translated/part.js:2077 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1982 +#: templates/js/translated/part.js:2078 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:2096 +#: templates/js/translated/part.js:2192 msgid "Current Stock" msgstr "" -#: templates/js/translated/part.js:2129 +#: templates/js/translated/part.js:2225 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2155 +#: templates/js/translated/part.js:2251 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2225 +#: templates/js/translated/part.js:2321 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:2244 +#: templates/js/translated/part.js:2340 msgid "Single Price Difference" msgstr "" @@ -9378,360 +9415,360 @@ msgstr "" msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:73 +#: templates/js/translated/stock.js:72 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:101 +#: templates/js/translated/stock.js:100 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:109 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:139 +#: templates/js/translated/stock.js:138 msgid "Edit Stock Location" msgstr "编辑仓储地点" -#: templates/js/translated/stock.js:154 +#: templates/js/translated/stock.js:153 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:194 +#: templates/js/translated/stock.js:193 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:233 +#: templates/js/translated/stock.js:232 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:239 +#: templates/js/translated/stock.js:238 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:304 +#: templates/js/translated/stock.js:303 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:324 +#: templates/js/translated/stock.js:323 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:344 +#: templates/js/translated/stock.js:343 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:394 +#: templates/js/translated/stock.js:393 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:407 +#: templates/js/translated/stock.js:406 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:432 +#: templates/js/translated/stock.js:431 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437 +#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:453 +#: templates/js/translated/stock.js:452 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:473 +#: templates/js/translated/stock.js:472 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:482 +#: templates/js/translated/stock.js:481 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:605 +#: templates/js/translated/stock.js:604 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:606 +#: templates/js/translated/stock.js:605 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:683 +#: templates/js/translated/stock.js:682 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:684 +#: templates/js/translated/stock.js:683 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:686 +#: templates/js/translated/stock.js:685 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:687 +#: templates/js/translated/stock.js:686 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:772 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:774 +#: templates/js/translated/stock.js:773 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:869 +#: templates/js/translated/stock.js:868 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:870 +#: templates/js/translated/stock.js:869 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:876 +#: templates/js/translated/stock.js:875 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:877 +#: templates/js/translated/stock.js:876 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:881 +#: templates/js/translated/stock.js:880 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:882 +#: templates/js/translated/stock.js:881 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:886 +#: templates/js/translated/stock.js:885 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:887 users/models.py:215 +#: templates/js/translated/stock.js:886 users/models.py:215 msgid "Add" msgstr "添加" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:983 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1024 +#: templates/js/translated/stock.js:1023 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1047 +#: templates/js/translated/stock.js:1046 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1172 +#: templates/js/translated/stock.js:1182 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1174 +#: templates/js/translated/stock.js:1184 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1179 +#: templates/js/translated/stock.js:1189 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1226 +#: templates/js/translated/stock.js:1236 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1229 +#: templates/js/translated/stock.js:1239 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1255 +#: templates/js/translated/stock.js:1265 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1321 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1476 +#: templates/js/translated/stock.js:1486 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1498 +#: templates/js/translated/stock.js:1508 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1527 +#: templates/js/translated/stock.js:1537 msgid "In production" msgstr "正在生产" -#: templates/js/translated/stock.js:1531 +#: templates/js/translated/stock.js:1541 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1539 +#: templates/js/translated/stock.js:1549 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1545 +#: templates/js/translated/stock.js:1555 msgid "No stock location set" msgstr "未设置仓储地点" -#: templates/js/translated/stock.js:1712 +#: templates/js/translated/stock.js:1722 msgid "Stock item is in production" msgstr "库存品正在生产" -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1727 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1720 +#: templates/js/translated/stock.js:1730 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1723 +#: templates/js/translated/stock.js:1733 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1725 +#: templates/js/translated/stock.js:1735 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1727 +#: templates/js/translated/stock.js:1737 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1730 +#: templates/js/translated/stock.js:1740 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1734 +#: templates/js/translated/stock.js:1744 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1746 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1743 +#: templates/js/translated/stock.js:1753 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1755 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1747 +#: templates/js/translated/stock.js:1757 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1751 +#: templates/js/translated/stock.js:1761 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1802 +#: templates/js/translated/stock.js:1812 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1894 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1932 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2095 +#: templates/js/translated/stock.js:2105 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2109 +#: templates/js/translated/stock.js:2119 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2120 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2365 +#: templates/js/translated/stock.js:2375 msgid "Details" msgstr "详情" -#: templates/js/translated/stock.js:2381 +#: templates/js/translated/stock.js:2391 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2403 +#: templates/js/translated/stock.js:2413 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2422 +#: templates/js/translated/stock.js:2432 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2441 +#: templates/js/translated/stock.js:2451 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2459 +#: templates/js/translated/stock.js:2469 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2482 +#: templates/js/translated/stock.js:2492 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2490 +#: templates/js/translated/stock.js:2500 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2566 +#: templates/js/translated/stock.js:2576 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2617 templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2663 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2666 +#: templates/js/translated/stock.js:2676 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2697 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2688 +#: templates/js/translated/stock.js:2698 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2690 +#: templates/js/translated/stock.js:2700 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2691 +#: templates/js/translated/stock.js:2701 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2692 +#: templates/js/translated/stock.js:2702 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2693 +#: templates/js/translated/stock.js:2703 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2716 msgid "Select part to install" msgstr ""