From f8a2760955033f2654e6478ec059da12236cbd8e Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 16 Jun 2022 07:57:23 +1000 Subject: [PATCH 1/8] New Crowdin updates (#3187) * updated translation base * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- InvenTree/locale/cs/LC_MESSAGES/django.po | 929 +++++----- InvenTree/locale/de/LC_MESSAGES/django.po | 929 +++++----- InvenTree/locale/el/LC_MESSAGES/django.po | 929 +++++----- InvenTree/locale/en/LC_MESSAGES/django.po | 1430 +++++++-------- InvenTree/locale/es/LC_MESSAGES/django.po | 929 +++++----- InvenTree/locale/es_MX/LC_MESSAGES/django.po | 1430 +++++++-------- InvenTree/locale/fa/LC_MESSAGES/django.po | 929 +++++----- InvenTree/locale/fr/LC_MESSAGES/django.po | 929 +++++----- InvenTree/locale/he/LC_MESSAGES/django.po | 929 +++++----- InvenTree/locale/hu/LC_MESSAGES/django.po | 929 +++++----- InvenTree/locale/id/LC_MESSAGES/django.po | 929 +++++----- InvenTree/locale/it/LC_MESSAGES/django.po | 929 +++++----- InvenTree/locale/ja/LC_MESSAGES/django.po | 929 +++++----- InvenTree/locale/ko/LC_MESSAGES/django.po | 929 +++++----- InvenTree/locale/nl/LC_MESSAGES/django.po | 1723 +++++++++--------- InvenTree/locale/no/LC_MESSAGES/django.po | 929 +++++----- InvenTree/locale/pl/LC_MESSAGES/django.po | 929 +++++----- InvenTree/locale/pt/LC_MESSAGES/django.po | 929 +++++----- InvenTree/locale/pt_br/LC_MESSAGES/django.po | 1430 +++++++-------- InvenTree/locale/ru/LC_MESSAGES/django.po | 929 +++++----- InvenTree/locale/sv/LC_MESSAGES/django.po | 929 +++++----- InvenTree/locale/th/LC_MESSAGES/django.po | 929 +++++----- InvenTree/locale/tr/LC_MESSAGES/django.po | 929 +++++----- InvenTree/locale/vi/LC_MESSAGES/django.po | 929 +++++----- InvenTree/locale/zh/LC_MESSAGES/django.po | 991 +++++----- 25 files changed, 12732 insertions(+), 12852 deletions(-) diff --git a/InvenTree/locale/cs/LC_MESSAGES/django.po b/InvenTree/locale/cs/LC_MESSAGES/django.po index 620a2cf40e..7a150eb180 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-11 13:14+0000\n" -"PO-Revision-Date: 2022-06-11 15:03\n" +"POT-Creation-Date: 2022-06-15 08:34+0000\n" +"PO-Revision-Date: 2022-06-15 16:23\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -141,12 +141,12 @@ msgstr "Komentář" msgid "File comment" msgstr "Komentář k souboru" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1575 +#: common/models.py:1576 common/models.py:1799 common/models.py:1800 +#: common/models.py:2062 common/models.py:2063 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:2575 +#: templates/js/translated/stock.js:2576 msgid "User" msgstr "Uživatel" @@ -183,7 +183,7 @@ msgstr "Chyba při přejmenování souboru" msgid "Invalid choice" msgstr "Neplatný výběr" -#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1785 #: company/models.py:355 label/models.py:101 part/models.py:739 #: part/models.py:2319 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -195,7 +195,7 @@ msgstr "Neplatný výběr" #: templates/js/translated/company.js:744 #: templates/js/translated/notification.js:73 #: templates/js/translated/part.js:684 templates/js/translated/part.js:836 -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2345 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2346 msgid "Name" msgstr "Název" @@ -217,8 +217,8 @@ msgstr "Název" #: templates/js/translated/order.js:1888 templates/js/translated/order.js:2476 #: templates/js/translated/part.js:743 templates/js/translated/part.js:1151 #: templates/js/translated/part.js:1424 templates/js/translated/part.js:1876 -#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1738 -#: templates/js/translated/stock.js:2357 templates/js/translated/stock.js:2412 +#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1739 +#: templates/js/translated/stock.js:2358 templates/js/translated/stock.js:2413 msgid "Description" msgstr "Popis" @@ -292,99 +292,99 @@ msgstr "Chybí povinný sloupec: '{name}'" msgid "Duplicate column: '{col}'" msgstr "Duplicitní sloupec: '{col}'" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:689 msgid "Czech" msgstr "Čeština" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:690 msgid "German" msgstr "Němčina" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:691 msgid "Greek" msgstr "Řečtina" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:692 msgid "English" msgstr "Angličtina" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:693 msgid "Spanish" msgstr "Španělština" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:694 msgid "Spanish (Mexican)" msgstr "Španělština (Mexiko)" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:695 msgid "Farsi / Persian" msgstr "Farsi / Perština" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:696 msgid "French" msgstr "Francouzština" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:697 msgid "Hebrew" msgstr "Hebrejština" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:698 msgid "Hungarian" msgstr "Maďarština" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:699 msgid "Italian" msgstr "Italština" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:700 msgid "Japanese" msgstr "Japonština" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:701 msgid "Korean" msgstr "Korejština" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:702 msgid "Dutch" msgstr "Nizozemština" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:703 msgid "Norwegian" msgstr "Norština" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:704 msgid "Polish" msgstr "Polština" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:705 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:706 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:707 msgid "Russian" msgstr "Ruština" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:708 msgid "Swedish" msgstr "Švédština" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:709 msgid "Thai" msgstr "Thajština" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:710 msgid "Turkish" msgstr "Turečtina" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:711 msgid "Vietnamese" msgstr "Vietnamština" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:712 msgid "Chinese" msgstr "Čínština" @@ -515,7 +515,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2082 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2083 msgid "Merged stock items" msgstr "" @@ -669,7 +669,7 @@ msgstr "" #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:479 #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 @@ -688,8 +688,8 @@ msgstr "" #: templates/js/translated/part.js:1136 templates/js/translated/part.js:1206 #: templates/js/translated/part.js:1402 templates/js/translated/stock.js:582 #: templates/js/translated/stock.js:747 templates/js/translated/stock.js:954 -#: templates/js/translated/stock.js:1695 templates/js/translated/stock.js:2438 -#: templates/js/translated/stock.js:2633 templates/js/translated/stock.js:2767 +#: templates/js/translated/stock.js:1696 templates/js/translated/stock.js:2439 +#: templates/js/translated/stock.js:2634 templates/js/translated/stock.js:2768 msgid "Part" msgstr "" @@ -815,14 +815,14 @@ msgstr "" #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 #: 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:759 stock/serializers.py:858 stock/serializers.py:990 +#: stock/serializers.py:316 stock/serializers.py:445 stock/serializers.py:526 +#: stock/serializers.py:799 stock/serializers.py:898 stock/serializers.py:1030 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1038 #: templates/js/translated/company.js:949 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:1369 templates/js/translated/stock.js:1978 +#: templates/js/translated/stock.js:1370 templates/js/translated/stock.js:1979 msgid "Notes" msgstr "" @@ -878,8 +878,8 @@ msgid "Build to allocate parts" msgstr "" #: 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 +#: order/serializers.py:1017 stock/serializers.py:383 stock/serializers.py:730 +#: stock/serializers.py:856 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 @@ -888,7 +888,7 @@ msgstr "" #: 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:583 templates/js/translated/stock.js:748 -#: templates/js/translated/stock.js:2511 +#: templates/js/translated/stock.js:2512 msgid "Stock Item" msgstr "" @@ -898,7 +898,7 @@ msgstr "" #: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1543 +#: build/templates/build/detail.html:34 common/models.py:1607 #: company/forms.py:36 company/templates/company/supplier_part.html:279 #: order/models.py:911 order/models.py:1414 order/serializers.py:1136 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 @@ -911,7 +911,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:280 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:691 #: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 @@ -928,7 +928,7 @@ msgstr "" #: templates/js/translated/part.js:2321 templates/js/translated/part.js:2355 #: templates/js/translated/part.js:2433 templates/js/translated/stock.js:454 #: templates/js/translated/stock.js:608 templates/js/translated/stock.js:778 -#: templates/js/translated/stock.js:2560 templates/js/translated/stock.js:2645 +#: templates/js/translated/stock.js:2561 templates/js/translated/stock.js:2646 msgid "Quantity" msgstr "" @@ -972,7 +972,7 @@ msgstr "" #: build/serializers.py:198 build/serializers.py:623 order/models.py:354 #: 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 +#: stock/serializers.py:289 msgid "Quantity must be greater than zero" msgstr "" @@ -985,7 +985,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 -#: stock/serializers.py:297 templates/js/translated/order.js:1186 +#: stock/serializers.py:298 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:267 templates/js/translated/stock.js:455 msgid "Serial Numbers" msgstr "" @@ -1002,7 +1002,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:553 +#: build/serializers.py:268 stock/api.py:559 msgid "The following serial numbers already exist" msgstr "" @@ -1011,8 +1011,8 @@ msgid "A list of build outputs must be provided" 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:851 stock/serializers.py:1084 +#: stock/serializers.py:309 stock/serializers.py:440 stock/serializers.py:521 +#: stock/serializers.py:891 stock/serializers.py:1124 #: 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 @@ -1021,7 +1021,7 @@ msgstr "" #: templates/js/translated/order.js:3247 templates/js/translated/order.js:3328 #: templates/js/translated/part.js:181 templates/js/translated/stock.js:584 #: templates/js/translated/stock.js:749 templates/js/translated/stock.js:956 -#: templates/js/translated/stock.js:1849 templates/js/translated/stock.js:2452 +#: templates/js/translated/stock.js:1850 templates/js/translated/stock.js:2453 msgid "Location" msgstr "" @@ -1034,8 +1034,8 @@ msgstr "" #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2509 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 -#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1824 -#: templates/js/translated/stock.js:2529 templates/js/translated/stock.js:2661 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1825 +#: templates/js/translated/stock.js:2530 templates/js/translated/stock.js:2662 msgid "Status" msgstr "" @@ -1112,7 +1112,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:703 +#: build/serializers.py:609 stock/serializers.py:743 msgid "Item must be in stock" msgstr "" @@ -1333,8 +1333,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:1022 templates/js/translated/stock.js:1838 -#: templates/js/translated/stock.js:2668 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:1839 +#: templates/js/translated/stock.js:2669 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1545,912 +1545,912 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:365 +#: common/models.py:434 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:367 +#: common/models.py:436 msgid "Settings value" msgstr "" -#: common/models.py:408 +#: common/models.py:477 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:425 +#: common/models.py:494 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:436 +#: common/models.py:505 msgid "Value must be an integer value" msgstr "" -#: common/models.py:481 +#: common/models.py:550 msgid "Key string must be unique" msgstr "" -#: common/models.py:665 +#: common/models.py:734 msgid "No group" msgstr "" -#: common/models.py:704 +#: common/models.py:773 msgid "Restart required" msgstr "" -#: common/models.py:705 +#: common/models.py:774 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:712 +#: common/models.py:781 msgid "Server Instance Name" msgstr "" -#: common/models.py:714 +#: common/models.py:783 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:718 +#: common/models.py:787 msgid "Use instance name" msgstr "" -#: common/models.py:719 +#: common/models.py:788 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:725 +#: common/models.py:794 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:726 +#: common/models.py:795 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:732 company/models.py:93 company/models.py:94 +#: common/models.py:801 company/models.py:93 company/models.py:94 msgid "Company name" msgstr "" -#: common/models.py:733 +#: common/models.py:802 msgid "Internal company name" msgstr "" -#: common/models.py:738 +#: common/models.py:807 msgid "Base URL" msgstr "" -#: common/models.py:739 +#: common/models.py:808 msgid "Base URL for server instance" msgstr "" -#: common/models.py:745 +#: common/models.py:814 msgid "Default Currency" msgstr "" -#: common/models.py:746 +#: common/models.py:815 msgid "Default currency" msgstr "" -#: common/models.py:752 +#: common/models.py:821 msgid "Download from URL" msgstr "" -#: common/models.py:753 +#: common/models.py:822 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:828 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:760 +#: common/models.py:829 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:766 +#: common/models.py:835 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:767 +#: common/models.py:836 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:773 +#: common/models.py:842 msgid "IPN Regex" msgstr "" -#: common/models.py:774 +#: common/models.py:843 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:778 +#: common/models.py:847 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:779 +#: common/models.py:848 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:785 +#: common/models.py:854 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:786 +#: common/models.py:855 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:792 +#: common/models.py:861 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:793 +#: common/models.py:862 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:799 +#: common/models.py:868 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:800 +#: common/models.py:869 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:806 +#: common/models.py:875 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:807 +#: common/models.py:876 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:813 +#: common/models.py:882 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:814 +#: common/models.py:883 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:820 part/models.py:2360 report/models.py:157 +#: common/models.py:889 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:821 +#: common/models.py:890 msgid "Parts are templates by default" msgstr "" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 +#: common/models.py:896 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" msgstr "" -#: common/models.py:828 +#: common/models.py:897 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:834 part/models.py:890 +#: common/models.py:903 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:835 +#: common/models.py:904 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:841 part/models.py:901 +#: common/models.py:910 part/models.py:901 msgid "Purchaseable" msgstr "" -#: common/models.py:842 +#: common/models.py:911 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:848 part/models.py:906 +#: common/models.py:917 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:849 +#: common/models.py:918 msgid "Parts are salable by default" msgstr "" -#: common/models.py:855 part/models.py:896 +#: common/models.py:924 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:856 +#: common/models.py:925 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:862 part/models.py:916 +#: common/models.py:931 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:863 +#: common/models.py:932 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:869 +#: common/models.py:938 msgid "Show Import in Views" msgstr "" -#: common/models.py:870 +#: common/models.py:939 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:876 +#: common/models.py:945 msgid "Show Price in Forms" msgstr "" -#: common/models.py:877 +#: common/models.py:946 msgid "Display part price in some forms" msgstr "" -#: common/models.py:888 +#: common/models.py:957 msgid "Show Price in BOM" msgstr "" -#: common/models.py:889 +#: common/models.py:958 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:900 +#: common/models.py:969 msgid "Show Price History" msgstr "" -#: common/models.py:901 +#: common/models.py:970 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:907 +#: common/models.py:976 msgid "Show related parts" msgstr "" -#: common/models.py:908 +#: common/models.py:977 msgid "Display related parts for a part" msgstr "" -#: common/models.py:914 +#: common/models.py:983 msgid "Create initial stock" msgstr "" -#: common/models.py:915 +#: common/models.py:984 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:921 +#: common/models.py:990 msgid "Internal Prices" msgstr "" -#: common/models.py:922 +#: common/models.py:991 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:928 +#: common/models.py:997 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:929 +#: common/models.py:998 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:935 +#: common/models.py:1004 msgid "Part Name Display Format" msgstr "" -#: common/models.py:936 +#: common/models.py:1005 msgid "Format to display the part name" msgstr "" -#: common/models.py:943 +#: common/models.py:1012 msgid "Enable Reports" msgstr "" -#: common/models.py:944 +#: common/models.py:1013 msgid "Enable generation of reports" msgstr "" -#: common/models.py:950 templates/stats.html:25 +#: common/models.py:1019 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:951 +#: common/models.py:1020 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:957 +#: common/models.py:1026 msgid "Page Size" msgstr "" -#: common/models.py:958 +#: common/models.py:1027 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:968 +#: common/models.py:1037 msgid "Enable Test Reports" msgstr "" -#: common/models.py:969 +#: common/models.py:1038 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:975 +#: common/models.py:1044 msgid "Attach Test Reports" msgstr "" -#: common/models.py:976 +#: common/models.py:1045 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:982 +#: common/models.py:1051 msgid "Batch Code Template" msgstr "" -#: common/models.py:983 +#: common/models.py:1052 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:988 +#: common/models.py:1057 msgid "Stock Expiry" msgstr "" -#: common/models.py:989 +#: common/models.py:1058 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:995 +#: common/models.py:1064 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:996 +#: common/models.py:1065 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1002 +#: common/models.py:1071 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1003 +#: common/models.py:1072 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1005 +#: common/models.py:1074 msgid "days" msgstr "" -#: common/models.py:1010 +#: common/models.py:1079 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1011 +#: common/models.py:1080 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1017 +#: common/models.py:1086 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1018 +#: common/models.py:1087 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1024 +#: common/models.py:1093 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1025 +#: common/models.py:1094 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1030 +#: common/models.py:1099 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1031 +#: common/models.py:1100 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1035 +#: common/models.py:1104 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1036 +#: common/models.py:1105 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1041 +#: common/models.py:1110 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1042 +#: common/models.py:1111 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1048 +#: common/models.py:1117 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1049 +#: common/models.py:1118 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1055 +#: common/models.py:1124 msgid "Enable password forgot" msgstr "" -#: common/models.py:1056 +#: common/models.py:1125 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1131 msgid "Enable registration" msgstr "" -#: common/models.py:1063 +#: common/models.py:1132 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1069 +#: common/models.py:1138 msgid "Enable SSO" msgstr "" -#: common/models.py:1070 +#: common/models.py:1139 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1076 +#: common/models.py:1145 msgid "Email required" msgstr "" -#: common/models.py:1077 +#: common/models.py:1146 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1083 +#: common/models.py:1152 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1084 +#: common/models.py:1153 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1090 +#: common/models.py:1159 msgid "Mail twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1160 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1097 +#: common/models.py:1166 msgid "Password twice" msgstr "" -#: common/models.py:1098 +#: common/models.py:1167 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1104 +#: common/models.py:1173 msgid "Group on signup" msgstr "" -#: common/models.py:1105 +#: common/models.py:1174 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1111 +#: common/models.py:1180 msgid "Enforce MFA" msgstr "" -#: common/models.py:1112 +#: common/models.py:1181 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1118 +#: common/models.py:1187 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1119 +#: common/models.py:1188 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1127 +#: common/models.py:1196 msgid "Enable URL integration" msgstr "" -#: common/models.py:1128 +#: common/models.py:1197 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1135 +#: common/models.py:1204 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1136 +#: common/models.py:1205 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1143 +#: common/models.py:1212 msgid "Enable app integration" msgstr "" -#: common/models.py:1144 +#: common/models.py:1213 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1151 +#: common/models.py:1220 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1152 +#: common/models.py:1221 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1159 +#: common/models.py:1228 msgid "Enable event integration" msgstr "" -#: common/models.py:1160 +#: common/models.py:1229 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1177 common/models.py:1499 +#: common/models.py:1246 common/models.py:1568 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1199 +#: common/models.py:1268 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1200 +#: common/models.py:1269 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1275 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1207 +#: common/models.py:1276 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1213 +#: common/models.py:1282 msgid "Show latest parts" msgstr "" -#: common/models.py:1214 +#: common/models.py:1283 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1220 +#: common/models.py:1289 msgid "Recent Part Count" msgstr "" -#: common/models.py:1221 +#: common/models.py:1290 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1227 +#: common/models.py:1296 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1228 +#: common/models.py:1297 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1303 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1235 +#: common/models.py:1304 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1241 +#: common/models.py:1310 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1242 +#: common/models.py:1311 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1248 +#: common/models.py:1317 msgid "Show low stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1318 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1324 msgid "Show depleted stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1325 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1331 msgid "Show needed stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1332 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1338 msgid "Show expired stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1339 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1345 msgid "Show stale stock" msgstr "" -#: common/models.py:1277 +#: common/models.py:1346 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1352 msgid "Show pending builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1353 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1359 msgid "Show overdue builds" msgstr "" -#: common/models.py:1291 +#: common/models.py:1360 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1366 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1367 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1373 msgid "Show overdue POs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1374 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1380 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1381 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1387 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1319 +#: common/models.py:1388 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1324 +#: common/models.py:1393 msgid "Enable label printing" msgstr "" -#: common/models.py:1325 +#: common/models.py:1394 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1331 +#: common/models.py:1400 msgid "Inline label display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1401 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1407 msgid "Inline report display" msgstr "" -#: common/models.py:1339 +#: common/models.py:1408 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1345 +#: common/models.py:1414 msgid "Search Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1415 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1421 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1422 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1428 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1429 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1435 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1367 +#: common/models.py:1436 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1442 msgid "Search Categories" msgstr "" -#: common/models.py:1374 +#: common/models.py:1443 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1449 msgid "Search Stock" msgstr "" -#: common/models.py:1381 +#: common/models.py:1450 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1456 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1388 +#: common/models.py:1457 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1463 msgid "Search Locations" msgstr "" -#: common/models.py:1395 +#: common/models.py:1464 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1470 msgid "Search Companies" msgstr "" -#: common/models.py:1402 +#: common/models.py:1471 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1477 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1478 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1484 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1485 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1491 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1492 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1498 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1430 +#: common/models.py:1499 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1505 msgid "Search Preview Results" msgstr "" -#: common/models.py:1437 +#: common/models.py:1506 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1512 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1513 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1519 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1451 +#: common/models.py:1520 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1457 +#: common/models.py:1526 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1458 +#: common/models.py:1527 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1464 +#: common/models.py:1533 msgid "Date Format" msgstr "" -#: common/models.py:1465 +#: common/models.py:1534 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1479 part/templates/part/detail.html:39 +#: common/models.py:1548 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1480 +#: common/models.py:1549 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1544 company/forms.py:37 +#: common/models.py:1608 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1551 company/serializers.py:319 +#: common/models.py:1615 company/serializers.py:319 #: company/templates/company/supplier_part.html:284 order/models.py:951 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:2095 msgid "Price" msgstr "" -#: common/models.py:1552 +#: common/models.py:1616 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1712 common/models.py:1890 +#: common/models.py:1776 common/models.py:1954 msgid "Endpoint" msgstr "" -#: common/models.py:1713 +#: common/models.py:1777 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1722 +#: common/models.py:1786 msgid "Name for this webhook" msgstr "" -#: common/models.py:1727 part/models.py:911 plugin/models.py:99 +#: common/models.py:1791 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,67 +2458,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1728 +#: common/models.py:1792 msgid "Is this webhook active" msgstr "" -#: common/models.py:1742 +#: common/models.py:1806 msgid "Token" msgstr "" -#: common/models.py:1743 +#: common/models.py:1807 msgid "Token for access" msgstr "" -#: common/models.py:1750 +#: common/models.py:1814 msgid "Secret" msgstr "" -#: common/models.py:1751 +#: common/models.py:1815 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1857 +#: common/models.py:1921 msgid "Message ID" msgstr "" -#: common/models.py:1858 +#: common/models.py:1922 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1866 +#: common/models.py:1930 msgid "Host" msgstr "" -#: common/models.py:1867 +#: common/models.py:1931 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1874 +#: common/models.py:1938 msgid "Header" msgstr "" -#: common/models.py:1875 +#: common/models.py:1939 msgid "Header of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1945 msgid "Body" msgstr "" -#: common/models.py:1882 +#: common/models.py:1946 msgid "Body of this message" msgstr "" -#: common/models.py:1891 +#: common/models.py:1955 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1896 +#: common/models.py:1960 msgid "Worked on" msgstr "" -#: common/models.py:1897 +#: common/models.py:1961 msgid "Was the work on this message finished?" msgstr "" @@ -2657,7 +2657,7 @@ msgstr "" #: company/models.py:145 company/serializers.py:325 #: company/templates/company/company_base.html:106 part/serializers.py:139 -#: part/serializers.py:170 stock/serializers.py:162 +#: part/serializers.py:170 stock/serializers.py:163 msgid "Currency" msgstr "" @@ -2793,7 +2793,7 @@ msgstr "" #: company/models.py:519 company/templates/company/supplier_part.html:146 #: 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 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:388 msgid "Note" msgstr "" @@ -2807,7 +2807,7 @@ msgstr "" #: company/models.py:525 company/templates/company/supplier_part.html:139 #: stock/models.py:608 stock/templates/stock/item_base.html:245 -#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1974 +#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1975 msgid "Packaging" msgstr "" @@ -2902,11 +2902,11 @@ msgstr "" #: company/templates/company/company_base.html:86 order/models.py:651 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:745 +#: stock/models.py:628 stock/serializers.py:785 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:381 templates/js/translated/order.js:2458 -#: templates/js/translated/stock.js:2493 +#: templates/js/translated/stock.js:2494 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "" @@ -3079,7 +3079,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 -#: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:33 +#: templates/js/translated/forms.js:442 templates/js/translated/helpers.js:33 #: users/models.py:219 msgid "Delete" msgstr "" @@ -3127,7 +3127,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:894 templates/js/translated/order.js:884 -#: templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:1932 msgid "Supplier Part" msgstr "" @@ -3235,7 +3235,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:43 #: templates/js/translated/bom.js:554 templates/js/translated/part.js:747 #: templates/js/translated/part.js:1295 templates/js/translated/part.js:1456 -#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1749 +#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1750 #: templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3262,7 +3262,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:2369 users/models.py:39 +#: templates/js/translated/stock.js:2370 users/models.py:39 msgid "Stock Items" msgstr "" @@ -3536,8 +3536,8 @@ msgstr "" #: 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:968 templates/js/translated/stock.js:1908 -#: templates/js/translated/stock.js:2474 +#: templates/js/translated/part.js:968 templates/js/translated/stock.js:1909 +#: templates/js/translated/stock.js:2475 msgid "Purchase Order" msgstr "" @@ -3557,8 +3557,8 @@ msgid "Number of items received" msgstr "" #: order/models.py:1030 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:1962 +#: stock/serializers.py:154 stock/templates/stock/item_base.html:191 +#: templates/js/translated/stock.js:1963 msgid "Purchase Price" msgstr "" @@ -4121,19 +4121,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1011 +#: part/api.py:1058 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1015 +#: part/api.py:1062 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1030 +#: part/api.py:1077 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 +#: part/api.py:1108 part/api.py:1112 part/api.py:1127 part/api.py:1131 msgid "This field is required" msgstr "" @@ -4268,7 +4268,7 @@ msgstr "" #: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:735 templates/js/translated/part.js:1391 -#: templates/js/translated/stock.js:1721 +#: templates/js/translated/stock.js:1722 msgid "IPN" msgstr "" @@ -4611,7 +4611,7 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:164 msgid "Purchase currency of this stock item" msgstr "" @@ -5752,7 +5752,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2402 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2403 msgid "Date" msgstr "" @@ -5771,19 +5771,19 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: templates/js/translated/stock.js:606 templates/js/translated/stock.js:776 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2652 msgid "Serial" msgstr "" -#: stock/api.py:505 +#: stock/api.py:511 msgid "Quantity is required" msgstr "" -#: stock/api.py:512 +#: stock/api.py:518 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:537 +#: stock/api.py:543 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5891,7 +5891,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1879 msgid "Expiry Date" msgstr "" @@ -5969,7 +5969,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1347 stock/serializers.py:895 +#: stock/models.py:1347 stock/serializers.py:935 msgid "Duplicate stock items" msgstr "" @@ -6021,120 +6021,128 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:156 +#: stock/serializers.py:157 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:280 +#: stock/serializers.py:281 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:293 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:299 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 +#: stock/serializers.py:310 stock/serializers.py:892 stock/serializers.py:1125 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:316 +#: stock/serializers.py:317 msgid "Optional note field" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:327 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:344 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:383 +#: stock/serializers.py:384 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:397 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:404 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:440 +#: stock/serializers.py:441 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:445 stock/serializers.py:487 +#: stock/serializers.py:446 stock/serializers.py:527 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:482 +#: stock/serializers.py:480 +msgid "Select part to convert stock item into" +msgstr "" + +#: stock/serializers.py:491 +msgid "Selected part is not a valid option for conversion" +msgstr "" + +#: stock/serializers.py:522 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:707 +#: stock/serializers.py:747 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:711 +#: stock/serializers.py:751 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:755 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:786 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:752 +#: stock/serializers.py:792 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:760 +#: stock/serializers.py:800 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:770 stock/serializers.py:1001 +#: stock/serializers.py:810 stock/serializers.py:1041 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:859 +#: stock/serializers.py:899 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:864 +#: stock/serializers.py:904 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:865 +#: stock/serializers.py:905 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:870 +#: stock/serializers.py:910 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:871 +#: stock/serializers.py:911 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:881 +#: stock/serializers.py:921 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:963 +#: stock/serializers.py:1003 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:1031 msgid "Stock transaction notes" msgstr "" @@ -6171,7 +6179,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2795 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2796 msgid "Install Stock Item" msgstr "" @@ -6179,7 +6187,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1517 +#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1518 msgid "Add Test Result" msgstr "" @@ -6366,7 +6374,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1894 +#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1895 msgid "Last Updated" msgstr "" @@ -6382,7 +6390,23 @@ msgstr "" msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:642 +#: stock/templates/stock/item_base.html:594 +msgid "Select one of the part variants listed below." +msgstr "" + +#: stock/templates/stock/item_base.html:597 +msgid "Warning" +msgstr "" + +#: stock/templates/stock/item_base.html:598 +msgid "This action cannot be easily undone" +msgstr "" + +#: stock/templates/stock/item_base.html:606 +msgid "Convert Stock Item" +msgstr "" + +#: stock/templates/stock/item_base.html:664 msgid "Return to Stock" msgstr "" @@ -6466,32 +6490,11 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:143 -msgid "Convert Stock Item" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:8 -#, python-format -msgid "This stock item is current an instance of %(part)s" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:9 -msgid "It can be converted to one of the part variants listed below." -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:13 -msgid "Warning" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:14 -msgid "This action cannot be easily undone" -msgstr "" - -#: stock/views.py:110 +#: stock/views.py:109 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:126 +#: stock/views.py:125 msgid "Stock Item QR Code" msgstr "" @@ -7303,7 +7306,7 @@ 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 +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:633 msgid "Confirm" msgstr "Potvrdit" @@ -8175,8 +8178,8 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2447 templates/js/translated/part.js:1383 -#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1681 -#: templates/js/translated/stock.js:2339 +#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:2340 msgid "Select" msgstr "" @@ -8188,7 +8191,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2581 +#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2582 msgid "No user information" msgstr "" @@ -8342,61 +8345,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:353 templates/js/translated/forms.js:368 -#: templates/js/translated/forms.js:382 templates/js/translated/forms.js:396 +#: templates/js/translated/forms.js:356 templates/js/translated/forms.js:371 +#: templates/js/translated/forms.js:385 templates/js/translated/forms.js:399 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:355 +#: templates/js/translated/forms.js:358 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:370 +#: templates/js/translated/forms.js:373 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:384 +#: templates/js/translated/forms.js:387 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:398 +#: templates/js/translated/forms.js:401 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:656 +#: templates/js/translated/forms.js:659 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:757 +#: templates/js/translated/forms.js:760 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1249 templates/modals.html:19 +#: templates/js/translated/forms.js:1252 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1682 +#: templates/js/translated/forms.js:1685 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1897 templates/search.html:29 +#: templates/js/translated/forms.js:1900 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2150 +#: templates/js/translated/forms.js:2153 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2628 +#: templates/js/translated/forms.js:2631 msgid "Select Columns" msgstr "" @@ -8727,7 +8730,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2142 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2143 msgid "Stock Status" msgstr "" @@ -8921,7 +8924,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1597 +#: templates/js/translated/stock.js:1598 msgid "Shipped to customer" msgstr "" @@ -9187,7 +9190,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:1573 templates/js/translated/part.js:1785 -#: templates/js/translated/stock.js:2300 +#: templates/js/translated/stock.js:2301 msgid "Display as list" msgstr "" @@ -9211,7 +9214,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2319 +#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2320 msgid "Display as tree" msgstr "" @@ -9219,7 +9222,7 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2363 +#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2364 msgid "Path" msgstr "" @@ -9232,7 +9235,7 @@ msgid "Edit test result" msgstr "" #: templates/js/translated/part.js:1978 templates/js/translated/stock.js:1296 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1556 msgid "Delete test result" msgstr "" @@ -9565,180 +9568,180 @@ msgstr "" msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1374 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1538 +#: templates/js/translated/stock.js:1539 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/stock.js:1561 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1590 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1593 +#: templates/js/translated/stock.js:1594 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1601 +#: templates/js/translated/stock.js:1602 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1607 +#: templates/js/translated/stock.js:1608 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1775 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:1780 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1782 +#: templates/js/translated/stock.js:1783 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1785 +#: templates/js/translated/stock.js:1786 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1787 +#: templates/js/translated/stock.js:1788 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1790 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1793 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1797 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1799 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1806 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1807 +#: templates/js/translated/stock.js:1808 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1809 +#: templates/js/translated/stock.js:1810 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1813 +#: templates/js/translated/stock.js:1814 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1865 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1946 +#: templates/js/translated/stock.js:1947 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1984 +#: templates/js/translated/stock.js:1985 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2157 +#: templates/js/translated/stock.js:2158 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2171 +#: templates/js/translated/stock.js:2172 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2173 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2443 +#: templates/js/translated/stock.js:2444 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2465 +#: templates/js/translated/stock.js:2466 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2484 +#: templates/js/translated/stock.js:2485 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2504 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2521 +#: templates/js/translated/stock.js:2522 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2545 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2552 +#: templates/js/translated/stock.js:2553 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2629 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2679 templates/js/translated/stock.js:2715 +#: templates/js/translated/stock.js:2680 templates/js/translated/stock.js:2716 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2729 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2749 +#: templates/js/translated/stock.js:2750 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2751 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2753 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/stock.js:2754 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2755 +#: templates/js/translated/stock.js:2756 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2768 +#: templates/js/translated/stock.js:2769 msgid "Select part to install" msgstr "" @@ -9990,61 +9993,61 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:525 +#: templates/js/translated/tables.js:534 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:528 +#: templates/js/translated/tables.js:537 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:533 +#: templates/js/translated/tables.js:542 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "to" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "of" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:539 templates/navbar.html:102 +#: templates/js/translated/tables.js:548 templates/navbar.html:102 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" msgstr "" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:551 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:554 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:548 +#: templates/js/translated/tables.js:557 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:551 +#: templates/js/translated/tables.js:560 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:563 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:566 msgid "All" msgstr "" diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po index ac12f94b05..7b9db322d8 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-11 13:14+0000\n" -"PO-Revision-Date: 2022-06-11 15:03\n" +"POT-Creation-Date: 2022-06-15 08:34+0000\n" +"PO-Revision-Date: 2022-06-15 16:23\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -141,12 +141,12 @@ msgstr "Kommentar" msgid "File comment" msgstr "Datei-Kommentar" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1575 +#: common/models.py:1576 common/models.py:1799 common/models.py:1800 +#: common/models.py:2062 common/models.py:2063 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:2575 +#: templates/js/translated/stock.js:2576 msgid "User" msgstr "Benutzer" @@ -183,7 +183,7 @@ msgstr "Fehler beim Umbenennen" msgid "Invalid choice" msgstr "Ungültige Auswahl" -#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1785 #: company/models.py:355 label/models.py:101 part/models.py:739 #: part/models.py:2319 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -195,7 +195,7 @@ msgstr "Ungültige Auswahl" #: templates/js/translated/company.js:744 #: templates/js/translated/notification.js:73 #: templates/js/translated/part.js:684 templates/js/translated/part.js:836 -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2345 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2346 msgid "Name" msgstr "Name" @@ -217,8 +217,8 @@ msgstr "Name" #: templates/js/translated/order.js:1888 templates/js/translated/order.js:2476 #: templates/js/translated/part.js:743 templates/js/translated/part.js:1151 #: templates/js/translated/part.js:1424 templates/js/translated/part.js:1876 -#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1738 -#: templates/js/translated/stock.js:2357 templates/js/translated/stock.js:2412 +#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1739 +#: templates/js/translated/stock.js:2358 templates/js/translated/stock.js:2413 msgid "Description" msgstr "Beschreibung" @@ -292,99 +292,99 @@ msgstr "Erforderliche Spalte '{name}' fehlt" msgid "Duplicate column: '{col}'" msgstr "Doppelte Spalte: '{col}'" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:689 msgid "Czech" msgstr "Tschechisch" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:690 msgid "German" msgstr "Deutsch" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:691 msgid "Greek" msgstr "Griechisch" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:692 msgid "English" msgstr "Englisch" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:693 msgid "Spanish" msgstr "Spanisch" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:694 msgid "Spanish (Mexican)" msgstr "Spanisch (Mexikanisch)" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:695 msgid "Farsi / Persian" msgstr "Persisch" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:696 msgid "French" msgstr "Französisch" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:697 msgid "Hebrew" msgstr "Hebräisch" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:698 msgid "Hungarian" msgstr "Ungarisch" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:699 msgid "Italian" msgstr "Italienisch" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:700 msgid "Japanese" msgstr "Japanisch" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:701 msgid "Korean" msgstr "Koreanisch" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:702 msgid "Dutch" msgstr "Niederländisch" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:703 msgid "Norwegian" msgstr "Norwegisch" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:704 msgid "Polish" msgstr "Polnisch" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:705 msgid "Portuguese" msgstr "Portugiesisch" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:706 msgid "Portuguese (Brazilian)" msgstr "Portugiesisch (Brasilien)" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:707 msgid "Russian" msgstr "Russisch" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:708 msgid "Swedish" msgstr "Schwedisch" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:709 msgid "Thai" msgstr "Thailändisch" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:710 msgid "Turkish" msgstr "Türkisch" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:711 msgid "Vietnamese" msgstr "Vietnamesisch" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:712 msgid "Chinese" msgstr "Chinesisch" @@ -515,7 +515,7 @@ msgstr "Vom übergeordneten Element geteilt" msgid "Split child item" msgstr "Unterobjekt geteilt" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2082 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2083 msgid "Merged stock items" msgstr "Lagerartikel zusammengeführt" @@ -669,7 +669,7 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:479 #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 @@ -688,8 +688,8 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: templates/js/translated/part.js:1136 templates/js/translated/part.js:1206 #: templates/js/translated/part.js:1402 templates/js/translated/stock.js:582 #: templates/js/translated/stock.js:747 templates/js/translated/stock.js:954 -#: templates/js/translated/stock.js:1695 templates/js/translated/stock.js:2438 -#: templates/js/translated/stock.js:2633 templates/js/translated/stock.js:2767 +#: templates/js/translated/stock.js:1696 templates/js/translated/stock.js:2439 +#: templates/js/translated/stock.js:2634 templates/js/translated/stock.js:2768 msgid "Part" msgstr "Teil" @@ -815,14 +815,14 @@ msgstr "Externer Link" #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 #: 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:759 stock/serializers.py:858 stock/serializers.py:990 +#: stock/serializers.py:316 stock/serializers.py:445 stock/serializers.py:526 +#: stock/serializers.py:799 stock/serializers.py:898 stock/serializers.py:1030 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1038 #: templates/js/translated/company.js:949 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:1369 templates/js/translated/stock.js:1978 +#: templates/js/translated/stock.js:1370 templates/js/translated/stock.js:1979 msgid "Notes" msgstr "Notizen" @@ -878,8 +878,8 @@ msgid "Build to allocate parts" msgstr "Bauauftrag starten um Teile zuzuweisen" #: 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 +#: order/serializers.py:1017 stock/serializers.py:383 stock/serializers.py:730 +#: stock/serializers.py:856 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 @@ -888,7 +888,7 @@ msgstr "Bauauftrag starten um Teile zuzuweisen" #: 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:583 templates/js/translated/stock.js:748 -#: templates/js/translated/stock.js:2511 +#: templates/js/translated/stock.js:2512 msgid "Stock Item" msgstr "Lagerartikel" @@ -898,7 +898,7 @@ msgstr "Quell-Lagerartikel" #: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1543 +#: build/templates/build/detail.html:34 common/models.py:1607 #: company/forms.py:36 company/templates/company/supplier_part.html:279 #: order/models.py:911 order/models.py:1414 order/serializers.py:1136 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 @@ -911,7 +911,7 @@ msgstr "Quell-Lagerartikel" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:280 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:691 #: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 @@ -928,7 +928,7 @@ msgstr "Quell-Lagerartikel" #: templates/js/translated/part.js:2321 templates/js/translated/part.js:2355 #: templates/js/translated/part.js:2433 templates/js/translated/stock.js:454 #: templates/js/translated/stock.js:608 templates/js/translated/stock.js:778 -#: templates/js/translated/stock.js:2560 templates/js/translated/stock.js:2645 +#: templates/js/translated/stock.js:2561 templates/js/translated/stock.js:2646 msgid "Quantity" msgstr "Anzahl" @@ -972,7 +972,7 @@ msgstr "Menge der Endprodukte angeben" #: build/serializers.py:198 build/serializers.py:623 order/models.py:354 #: 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 +#: stock/serializers.py:289 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" @@ -985,7 +985,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "Ganzzahl erforderlich da die Stückliste nachverfolgbare Teile enthält" #: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 -#: stock/serializers.py:297 templates/js/translated/order.js:1186 +#: stock/serializers.py:298 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:267 templates/js/translated/stock.js:455 msgid "Serial Numbers" msgstr "Seriennummer" @@ -1002,7 +1002,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:553 +#: build/serializers.py:268 stock/api.py:559 msgid "The following serial numbers already exist" msgstr "Folgende Seriennummern existieren bereits" @@ -1011,8 +1011,8 @@ msgid "A list of build outputs must be provided" 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:851 stock/serializers.py:1084 +#: stock/serializers.py:309 stock/serializers.py:440 stock/serializers.py:521 +#: stock/serializers.py:891 stock/serializers.py:1124 #: 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 @@ -1021,7 +1021,7 @@ msgstr "Eine Liste von Endprodukten muss angegeben werden" #: templates/js/translated/order.js:3247 templates/js/translated/order.js:3328 #: templates/js/translated/part.js:181 templates/js/translated/stock.js:584 #: templates/js/translated/stock.js:749 templates/js/translated/stock.js:956 -#: templates/js/translated/stock.js:1849 templates/js/translated/stock.js:2452 +#: templates/js/translated/stock.js:1850 templates/js/translated/stock.js:2453 msgid "Location" msgstr "Lagerort" @@ -1034,8 +1034,8 @@ msgstr "Lagerort für fertige Endprodukte" #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2509 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 -#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1824 -#: templates/js/translated/stock.js:2529 templates/js/translated/stock.js:2661 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1825 +#: templates/js/translated/stock.js:2530 templates/js/translated/stock.js:2662 msgid "Status" msgstr "Status" @@ -1112,7 +1112,7 @@ 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:703 +#: build/serializers.py:609 stock/serializers.py:743 msgid "Item must be in stock" msgstr "Teil muss auf Lager sein" @@ -1333,8 +1333,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:1022 templates/js/translated/stock.js:1838 -#: templates/js/translated/stock.js:2668 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:1839 +#: templates/js/translated/stock.js:2669 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1545,912 +1545,912 @@ msgstr "{name.title()} Datei" msgid "Select {name} file to upload" msgstr "{name} Datei zum Hochladen auswählen" -#: common/models.py:365 +#: common/models.py:434 msgid "Settings key (must be unique - case insensitive)" msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)" -#: common/models.py:367 +#: common/models.py:436 msgid "Settings value" msgstr "Einstellungs-Wert" -#: common/models.py:408 +#: common/models.py:477 msgid "Chosen value is not a valid option" msgstr "Wert ist keine gültige Option" -#: common/models.py:425 +#: common/models.py:494 msgid "Value must be a boolean value" msgstr "Wahrheitswert erforderlich" -#: common/models.py:436 +#: common/models.py:505 msgid "Value must be an integer value" msgstr "Nur Ganzzahl eingeben" -#: common/models.py:481 +#: common/models.py:550 msgid "Key string must be unique" msgstr "Schlüsseltext muss eindeutig sein" -#: common/models.py:665 +#: common/models.py:734 msgid "No group" msgstr "Keine Gruppe" -#: common/models.py:704 +#: common/models.py:773 msgid "Restart required" msgstr "Neustart erforderlich" -#: common/models.py:705 +#: common/models.py:774 msgid "A setting has been changed which requires a server restart" msgstr "Eine Einstellung wurde geändert, die einen Neustart des Servers erfordert" -#: common/models.py:712 +#: common/models.py:781 msgid "Server Instance Name" msgstr "Name der Serverinstanz" -#: common/models.py:714 +#: common/models.py:783 msgid "String descriptor for the server instance" msgstr "Kurze Beschreibung der Instanz" -#: common/models.py:718 +#: common/models.py:787 msgid "Use instance name" msgstr "Name der Instanz verwenden" -#: common/models.py:719 +#: common/models.py:788 msgid "Use the instance name in the title-bar" msgstr "Den Namen der Instanz in der Titelleiste verwenden" -#: common/models.py:725 +#: common/models.py:794 msgid "Restrict showing `about`" msgstr "Anzeige von `Über` einschränken" -#: common/models.py:726 +#: common/models.py:795 msgid "Show the `about` modal only to superusers" msgstr "Zeige das `Über` Fenster nur Administratoren" -#: common/models.py:732 company/models.py:93 company/models.py:94 +#: common/models.py:801 company/models.py:93 company/models.py:94 msgid "Company name" msgstr "Firmenname" -#: common/models.py:733 +#: common/models.py:802 msgid "Internal company name" msgstr "interner Firmenname" -#: common/models.py:738 +#: common/models.py:807 msgid "Base URL" msgstr "Basis-URL" -#: common/models.py:739 +#: common/models.py:808 msgid "Base URL for server instance" msgstr "Basis-URL für dieses Instanz" -#: common/models.py:745 +#: common/models.py:814 msgid "Default Currency" msgstr "Standardwährung" -#: common/models.py:746 +#: common/models.py:815 msgid "Default currency" msgstr "Standardwährung" -#: common/models.py:752 +#: common/models.py:821 msgid "Download from URL" msgstr "Von URL herunterladen" -#: common/models.py:753 +#: common/models.py:822 msgid "Allow download of remote images and files from external URL" msgstr "Herunterladen von externen Bildern und Dateien von URLs erlaubt" -#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:828 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Bacode-Feature verwenden" -#: common/models.py:760 +#: common/models.py:829 msgid "Enable barcode scanner support" msgstr "Barcode-Scanner Unterstützung" -#: common/models.py:766 +#: common/models.py:835 msgid "Barcode Webcam Support" msgstr "Barcode Webcam-Unterstützung" -#: common/models.py:767 +#: common/models.py:836 msgid "Allow barcode scanning via webcam in browser" msgstr "Barcode-Scannen über Webcam im Browser erlauben" -#: common/models.py:773 +#: common/models.py:842 msgid "IPN Regex" msgstr "IPN Regex" -#: common/models.py:774 +#: common/models.py:843 msgid "Regular expression pattern for matching Part IPN" msgstr "RegEx Muster für die Zuordnung von Teil-IPN" -#: common/models.py:778 +#: common/models.py:847 msgid "Allow Duplicate IPN" msgstr "Mehrere Artikel mit gleicher IPN erlaubt" -#: common/models.py:779 +#: common/models.py:848 msgid "Allow multiple parts to share the same IPN" msgstr "Mehrere Artikel mit gleicher IPN erlaubt" -#: common/models.py:785 +#: common/models.py:854 msgid "Allow Editing IPN" msgstr "Ändern von IPN erlaubt" -#: common/models.py:786 +#: common/models.py:855 msgid "Allow changing the IPN value while editing a part" msgstr "Ändern der IPN während des Bearbeiten eines Teils erlaubt" -#: common/models.py:792 +#: common/models.py:861 msgid "Copy Part BOM Data" msgstr "Teil-Stückliste kopieren" -#: common/models.py:793 +#: common/models.py:862 msgid "Copy BOM data by default when duplicating a part" msgstr "Stückliste von Teil kopieren wenn das Teil dupliziert wird " -#: common/models.py:799 +#: common/models.py:868 msgid "Copy Part Parameter Data" msgstr "Teil-Parameter kopieren" -#: common/models.py:800 +#: common/models.py:869 msgid "Copy parameter data by default when duplicating a part" msgstr "Parameter-Daten für dieses Teil kopieren wenn das Teil dupliziert wird" -#: common/models.py:806 +#: common/models.py:875 msgid "Copy Part Test Data" msgstr "Teil-Testdaten kopieren" -#: common/models.py:807 +#: common/models.py:876 msgid "Copy test data by default when duplicating a part" msgstr "Test-Daten für dieses Teil kopieren wenn das Teil dupliziert wird" -#: common/models.py:813 +#: common/models.py:882 msgid "Copy Category Parameter Templates" msgstr "Kategorie-Parametervorlage kopieren" -#: common/models.py:814 +#: common/models.py:883 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:2360 report/models.py:157 +#: common/models.py:889 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "Vorlage" -#: common/models.py:821 +#: common/models.py:890 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:1384 +#: common/models.py:896 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" msgstr "Baugruppe" -#: common/models.py:828 +#: common/models.py:897 msgid "Parts can be assembled from other components by default" msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden" -#: common/models.py:834 part/models.py:890 +#: common/models.py:903 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "Komponente" -#: common/models.py:835 +#: common/models.py:904 msgid "Parts can be used as sub-components by default" msgstr "Teile können standardmäßig in Baugruppen benutzt werden" -#: common/models.py:841 part/models.py:901 +#: common/models.py:910 part/models.py:901 msgid "Purchaseable" msgstr "Kaufbar" -#: common/models.py:842 +#: common/models.py:911 msgid "Parts are purchaseable by default" msgstr "Artikel sind grundsätzlich kaufbar" -#: common/models.py:848 part/models.py:906 +#: common/models.py:917 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "Verkäuflich" -#: common/models.py:849 +#: common/models.py:918 msgid "Parts are salable by default" msgstr "Artikel sind grundsätzlich verkaufbar" -#: common/models.py:855 part/models.py:896 +#: common/models.py:924 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "Nachverfolgbar" -#: common/models.py:856 +#: common/models.py:925 msgid "Parts are trackable by default" msgstr "Artikel sind grundsätzlich verfolgbar" -#: common/models.py:862 part/models.py:916 +#: common/models.py:931 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Virtuell" -#: common/models.py:863 +#: common/models.py:932 msgid "Parts are virtual by default" msgstr "Teile sind grundsätzlich virtuell" -#: common/models.py:869 +#: common/models.py:938 msgid "Show Import in Views" msgstr "Import in Ansichten anzeigen" -#: common/models.py:870 +#: common/models.py:939 msgid "Display the import wizard in some part views" msgstr "Importassistent in einigen Teil-Ansichten anzeigen" -#: common/models.py:876 +#: common/models.py:945 msgid "Show Price in Forms" msgstr "Preis in Formularen anzeigen" -#: common/models.py:877 +#: common/models.py:946 msgid "Display part price in some forms" msgstr "Teilpreis in einigen Formularen anzeigen" -#: common/models.py:888 +#: common/models.py:957 msgid "Show Price in BOM" msgstr "Preis in Stückliste anzeigen" -#: common/models.py:889 +#: common/models.py:958 msgid "Include pricing information in BOM tables" msgstr "Preisinformationen in Stücklisten Tabellen einbeziehen" -#: common/models.py:900 +#: common/models.py:969 msgid "Show Price History" msgstr "Preisverlauf anzeigen" -#: common/models.py:901 +#: common/models.py:970 msgid "Display historical pricing for Part" msgstr "Historische Preise für Teil anzeigen" -#: common/models.py:907 +#: common/models.py:976 msgid "Show related parts" msgstr "Verwandte Teile anzeigen" -#: common/models.py:908 +#: common/models.py:977 msgid "Display related parts for a part" msgstr "Verwandte Teile eines Teils anzeigen" -#: common/models.py:914 +#: common/models.py:983 msgid "Create initial stock" msgstr "Ausgangsbestand erstellen" -#: common/models.py:915 +#: common/models.py:984 msgid "Create initial stock on part creation" msgstr "Ausgangsbestand beim Erstellen von Teilen erstellen" -#: common/models.py:921 +#: common/models.py:990 msgid "Internal Prices" msgstr "Interne Preise" -#: common/models.py:922 +#: common/models.py:991 msgid "Enable internal prices for parts" msgstr "Interne Preise für Teile aktivieren" -#: common/models.py:928 +#: common/models.py:997 msgid "Internal Price as BOM-Price" msgstr "Interner Preis als Stückliste-Preis" -#: common/models.py:929 +#: common/models.py:998 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "Interner Preis (falls vorhanden) in Stücklisten-Preisberechnungen verwenden" -#: common/models.py:935 +#: common/models.py:1004 msgid "Part Name Display Format" msgstr "Anzeigeformat für Teilenamen" -#: common/models.py:936 +#: common/models.py:1005 msgid "Format to display the part name" msgstr "Format für den Namen eines Teiles" -#: common/models.py:943 +#: common/models.py:1012 msgid "Enable Reports" msgstr "Berichte aktivieren" -#: common/models.py:944 +#: common/models.py:1013 msgid "Enable generation of reports" msgstr "Berichterstellung aktivieren" -#: common/models.py:950 templates/stats.html:25 +#: common/models.py:1019 templates/stats.html:25 msgid "Debug Mode" msgstr "Entwickler-Modus" -#: common/models.py:951 +#: common/models.py:1020 msgid "Generate reports in debug mode (HTML output)" msgstr "Berichte im Entwickler-Modus generieren (als HTML)" -#: common/models.py:957 +#: common/models.py:1026 msgid "Page Size" msgstr "Seitengröße" -#: common/models.py:958 +#: common/models.py:1027 msgid "Default page size for PDF reports" msgstr "Standardseitenformat für PDF-Bericht" -#: common/models.py:968 +#: common/models.py:1037 msgid "Enable Test Reports" msgstr "" -#: common/models.py:969 +#: common/models.py:1038 msgid "Enable generation of test reports" msgstr "Erstellung von Test-Berichten aktivieren" -#: common/models.py:975 +#: common/models.py:1044 msgid "Attach Test Reports" msgstr "" -#: common/models.py:976 +#: common/models.py:1045 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:982 +#: common/models.py:1051 msgid "Batch Code Template" msgstr "Losnummer Vorlage" -#: common/models.py:983 +#: common/models.py:1052 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:988 +#: common/models.py:1057 msgid "Stock Expiry" msgstr "Bestands-Ablauf" -#: common/models.py:989 +#: common/models.py:1058 msgid "Enable stock expiry functionality" msgstr "Ablaufen von Bestand ermöglichen" -#: common/models.py:995 +#: common/models.py:1064 msgid "Sell Expired Stock" msgstr "Abgelaufenen Bestand verkaufen" -#: common/models.py:996 +#: common/models.py:1065 msgid "Allow sale of expired stock" msgstr "Verkauf von abgelaufenem Bestand erlaubt" -#: common/models.py:1002 +#: common/models.py:1071 msgid "Stock Stale Time" msgstr "Bestands-Stehzeit" -#: common/models.py:1003 +#: common/models.py:1072 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:1005 +#: common/models.py:1074 msgid "days" msgstr "Tage" -#: common/models.py:1010 +#: common/models.py:1079 msgid "Build Expired Stock" msgstr "Abgelaufenen Bestand verbauen" -#: common/models.py:1011 +#: common/models.py:1080 msgid "Allow building with expired stock" msgstr "Verbauen von abgelaufenen Bestand erlaubt" -#: common/models.py:1017 +#: common/models.py:1086 msgid "Stock Ownership Control" msgstr "Bestands-Eigentümerkontrolle" -#: common/models.py:1018 +#: common/models.py:1087 msgid "Enable ownership control over stock locations and items" msgstr "Eigentümerkontrolle für Lagerorte und Teile aktivieren" -#: common/models.py:1024 +#: common/models.py:1093 msgid "Build Order Reference Prefix" msgstr "Bauauftrag-Referenz Präfix" -#: common/models.py:1025 +#: common/models.py:1094 msgid "Prefix value for build order reference" msgstr "Präfix für Bauauftrag-Referenz" -#: common/models.py:1030 +#: common/models.py:1099 msgid "Build Order Reference Regex" msgstr "Bauauftrag-Referenz RegEx" -#: common/models.py:1031 +#: common/models.py:1100 msgid "Regular expression pattern for matching build order reference" msgstr "RegEx Muster für die Zuordnung von Bauauftrag-Referenzen" -#: common/models.py:1035 +#: common/models.py:1104 msgid "Sales Order Reference Prefix" msgstr "Auftrags-Referenz Präfix" -#: common/models.py:1036 +#: common/models.py:1105 msgid "Prefix value for sales order reference" msgstr "Präfix für Auftrags-Referenz" -#: common/models.py:1041 +#: common/models.py:1110 msgid "Sales Order Default Shipment" msgstr "Auftrag Standardsendung" -#: common/models.py:1042 +#: common/models.py:1111 msgid "Enable creation of default shipment with sales orders" msgstr "Erstelle eine Standardsendung für Aufträge" -#: common/models.py:1048 +#: common/models.py:1117 msgid "Purchase Order Reference Prefix" msgstr "Bestellungs-Referenz Präfix" -#: common/models.py:1049 +#: common/models.py:1118 msgid "Prefix value for purchase order reference" msgstr "Präfix für Bestellungs-Referenz" -#: common/models.py:1055 +#: common/models.py:1124 msgid "Enable password forgot" msgstr "Passwort vergessen aktivieren" -#: common/models.py:1056 +#: common/models.py:1125 msgid "Enable password forgot function on the login pages" msgstr "Passwort-vergessen-Funktion auf den Anmeldeseiten aktivieren" -#: common/models.py:1062 +#: common/models.py:1131 msgid "Enable registration" msgstr "Anmeldung erlauben" -#: common/models.py:1063 +#: common/models.py:1132 msgid "Enable self-registration for users on the login pages" msgstr "Selbstregistrierung für Benutzer auf den Anmeldeseiten aktivieren" -#: common/models.py:1069 +#: common/models.py:1138 msgid "Enable SSO" msgstr "SSO aktivieren" -#: common/models.py:1070 +#: common/models.py:1139 msgid "Enable SSO on the login pages" msgstr "SSO auf den Anmeldeseiten aktivieren" -#: common/models.py:1076 +#: common/models.py:1145 msgid "Email required" msgstr "Email-Adresse erforderlich" -#: common/models.py:1077 +#: common/models.py:1146 msgid "Require user to supply mail on signup" msgstr "Benutzer müssen bei der Registrierung eine E-Mail angeben" -#: common/models.py:1083 +#: common/models.py:1152 msgid "Auto-fill SSO users" msgstr "SSO-Benutzer automatisch ausfüllen" -#: common/models.py:1084 +#: common/models.py:1153 msgid "Automatically fill out user-details from SSO account-data" msgstr "Benutzer-Details automatisch aus SSO-Konto ausfüllen" -#: common/models.py:1090 +#: common/models.py:1159 msgid "Mail twice" msgstr "E-Mail zweimal" -#: common/models.py:1091 +#: common/models.py:1160 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:1097 +#: common/models.py:1166 msgid "Password twice" msgstr "Passwort zweimal" -#: common/models.py:1098 +#: common/models.py:1167 msgid "On signup ask users twice for their password" msgstr "Bei der Registrierung den Benutzer zweimal nach dem Passwort fragen" -#: common/models.py:1104 +#: common/models.py:1173 msgid "Group on signup" msgstr "Gruppe bei Registrierung" -#: common/models.py:1105 +#: common/models.py:1174 msgid "Group to which new users are assigned on registration" msgstr "Gruppe der neue Benutzer bei der Registrierung zugewiesen werden" -#: common/models.py:1111 +#: common/models.py:1180 msgid "Enforce MFA" msgstr "MFA erzwingen" -#: common/models.py:1112 +#: common/models.py:1181 msgid "Users must use multifactor security." msgstr "Benutzer müssen Multifaktor-Authentifizierung verwenden." -#: common/models.py:1118 +#: common/models.py:1187 msgid "Check plugins on startup" msgstr "Plugins beim Start prüfen" -#: common/models.py:1119 +#: common/models.py:1188 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:1127 +#: common/models.py:1196 msgid "Enable URL integration" msgstr "URL-Integration aktivieren" -#: common/models.py:1128 +#: common/models.py:1197 msgid "Enable plugins to add URL routes" msgstr "Plugins zum Hinzufügen von URLs aktivieren" -#: common/models.py:1135 +#: common/models.py:1204 msgid "Enable navigation integration" msgstr "Navigations-Integration aktivieren" -#: common/models.py:1136 +#: common/models.py:1205 msgid "Enable plugins to integrate into navigation" msgstr "Plugins zur Integration in die Navigation aktivieren" -#: common/models.py:1143 +#: common/models.py:1212 msgid "Enable app integration" msgstr "App-Integration aktivieren" -#: common/models.py:1144 +#: common/models.py:1213 msgid "Enable plugins to add apps" msgstr "Plugins zum Hinzufügen von Apps aktivieren" -#: common/models.py:1151 +#: common/models.py:1220 msgid "Enable schedule integration" msgstr "Terminplan-Integration aktivieren" -#: common/models.py:1152 +#: common/models.py:1221 msgid "Enable plugins to run scheduled tasks" msgstr "Geplante Aufgaben aktivieren" -#: common/models.py:1159 +#: common/models.py:1228 msgid "Enable event integration" msgstr "Ereignis-Integration aktivieren" -#: common/models.py:1160 +#: common/models.py:1229 msgid "Enable plugins to respond to internal events" msgstr "Plugins ermöglichen auf interne Ereignisse zu reagieren" -#: common/models.py:1177 common/models.py:1499 +#: common/models.py:1246 common/models.py:1568 msgid "Settings key (must be unique - case insensitive" msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)" -#: common/models.py:1199 +#: common/models.py:1268 msgid "Show subscribed parts" msgstr "Abonnierte Teile anzeigen" -#: common/models.py:1200 +#: common/models.py:1269 msgid "Show subscribed parts on the homepage" msgstr "Zeige abonnierte Teile auf der Startseite" -#: common/models.py:1206 +#: common/models.py:1275 msgid "Show subscribed categories" msgstr "Abonnierte Kategorien anzeigen" -#: common/models.py:1207 +#: common/models.py:1276 msgid "Show subscribed part categories on the homepage" msgstr "Zeige abonnierte Teilkategorien auf der Startseite" -#: common/models.py:1213 +#: common/models.py:1282 msgid "Show latest parts" msgstr "Neueste Teile anzeigen" -#: common/models.py:1214 +#: common/models.py:1283 msgid "Show latest parts on the homepage" msgstr "Zeige neueste Teile auf der Startseite" -#: common/models.py:1220 +#: common/models.py:1289 msgid "Recent Part Count" msgstr "Aktuelle Teile-Stände" -#: common/models.py:1221 +#: common/models.py:1290 msgid "Number of recent parts to display on index page" msgstr "Anzahl der neusten Teile auf der Startseite" -#: common/models.py:1227 +#: common/models.py:1296 msgid "Show unvalidated BOMs" msgstr "Nicht validierte Stücklisten anzeigen" -#: common/models.py:1228 +#: common/models.py:1297 msgid "Show BOMs that await validation on the homepage" msgstr "Zeige Stücklisten, die noch nicht validiert sind, auf der Startseite" -#: common/models.py:1234 +#: common/models.py:1303 msgid "Show recent stock changes" msgstr "Neueste Bestandänderungen anzeigen" -#: common/models.py:1235 +#: common/models.py:1304 msgid "Show recently changed stock items on the homepage" msgstr "Zeige zuletzt geänderte Lagerbestände auf der Startseite" -#: common/models.py:1241 +#: common/models.py:1310 msgid "Recent Stock Count" msgstr "aktueller Bestand" -#: common/models.py:1242 +#: common/models.py:1311 msgid "Number of recent stock items to display on index page" msgstr "Anzahl des geänderten Bestands auf der Startseite" -#: common/models.py:1248 +#: common/models.py:1317 msgid "Show low stock" msgstr "Niedrigen Bestand anzeigen" -#: common/models.py:1249 +#: common/models.py:1318 msgid "Show low stock items on the homepage" msgstr "Zeige geringen Bestand auf der Startseite" -#: common/models.py:1255 +#: common/models.py:1324 msgid "Show depleted stock" msgstr "Lerren Bestand anzeigen" -#: common/models.py:1256 +#: common/models.py:1325 msgid "Show depleted stock items on the homepage" msgstr "Zeige aufgebrauchte Lagerartikel auf der Startseite" -#: common/models.py:1262 +#: common/models.py:1331 msgid "Show needed stock" msgstr "Benötigten Bestand anzeigen" -#: common/models.py:1263 +#: common/models.py:1332 msgid "Show stock items needed for builds on the homepage" msgstr "Zeige Bestand für Bauaufträge auf der Startseite" -#: common/models.py:1269 +#: common/models.py:1338 msgid "Show expired stock" msgstr "Abgelaufenen Bestand anzeigen" -#: common/models.py:1270 +#: common/models.py:1339 msgid "Show expired stock items on the homepage" msgstr "Zeige abgelaufene Lagerbestände auf der Startseite" -#: common/models.py:1276 +#: common/models.py:1345 msgid "Show stale stock" msgstr "Alten Bestand anzeigen" -#: common/models.py:1277 +#: common/models.py:1346 msgid "Show stale stock items on the homepage" msgstr "Zeige überfällige Lagerartikel auf der Startseite" -#: common/models.py:1283 +#: common/models.py:1352 msgid "Show pending builds" msgstr "Ausstehende Bauaufträge anzeigen" -#: common/models.py:1284 +#: common/models.py:1353 msgid "Show pending builds on the homepage" msgstr "Zeige ausstehende Bauaufträge auf der Startseite" -#: common/models.py:1290 +#: common/models.py:1359 msgid "Show overdue builds" msgstr "Zeige überfällige Bauaufträge" -#: common/models.py:1291 +#: common/models.py:1360 msgid "Show overdue builds on the homepage" msgstr "Zeige überfällige Bauaufträge auf der Startseite" -#: common/models.py:1297 +#: common/models.py:1366 msgid "Show outstanding POs" msgstr "Ausstehende POs anzeigen" -#: common/models.py:1298 +#: common/models.py:1367 msgid "Show outstanding POs on the homepage" msgstr "Zeige ausstehende POs auf der Startseite" -#: common/models.py:1304 +#: common/models.py:1373 msgid "Show overdue POs" msgstr "Überfällige POs anzeigen" -#: common/models.py:1305 +#: common/models.py:1374 msgid "Show overdue POs on the homepage" msgstr "Zeige überfällige POs auf der Startseite" -#: common/models.py:1311 +#: common/models.py:1380 msgid "Show outstanding SOs" msgstr "Ausstehende SOs anzeigen" -#: common/models.py:1312 +#: common/models.py:1381 msgid "Show outstanding SOs on the homepage" msgstr "Zeige ausstehende SOs auf der Startseite" -#: common/models.py:1318 +#: common/models.py:1387 msgid "Show overdue SOs" msgstr "Überfällige SOs anzeigen" -#: common/models.py:1319 +#: common/models.py:1388 msgid "Show overdue SOs on the homepage" msgstr "Zeige überfällige SOs auf der Startseite" -#: common/models.py:1324 +#: common/models.py:1393 msgid "Enable label printing" msgstr "Labeldruck aktivieren" -#: common/models.py:1325 +#: common/models.py:1394 msgid "Enable label printing from the web interface" msgstr "Labeldruck über die Website aktivieren" -#: common/models.py:1331 +#: common/models.py:1400 msgid "Inline label display" msgstr "Label inline anzeigen" -#: common/models.py:1332 +#: common/models.py:1401 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:1338 +#: common/models.py:1407 msgid "Inline report display" msgstr "Berichte inline anzeigen" -#: common/models.py:1339 +#: common/models.py:1408 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:1345 +#: common/models.py:1414 msgid "Search Parts" msgstr "Teile suchen" -#: common/models.py:1346 +#: common/models.py:1415 msgid "Display parts in search preview window" msgstr "Teile in der Suchvorschau anzeigen" -#: common/models.py:1352 +#: common/models.py:1421 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1422 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1428 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1429 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1435 msgid "Hide Inactive Parts" msgstr "Inaktive Teile ausblenden" -#: common/models.py:1367 +#: common/models.py:1436 msgid "Excluded inactive parts from search preview window" msgstr "Inaktive Teile in der Suchvorschau ausblenden" -#: common/models.py:1373 +#: common/models.py:1442 msgid "Search Categories" msgstr "Kategorien durchsuchen" -#: common/models.py:1374 +#: common/models.py:1443 msgid "Display part categories in search preview window" msgstr "Teilekategorien in der Suchvorschau anzeigen" -#: common/models.py:1380 +#: common/models.py:1449 msgid "Search Stock" msgstr "Bestand durchsuchen" -#: common/models.py:1381 +#: common/models.py:1450 msgid "Display stock items in search preview window" msgstr "Lagerartikel in Suchvorschau anzeigen" -#: common/models.py:1387 +#: common/models.py:1456 msgid "Hide Unavailable Stock Items" msgstr "Nicht verfügbare Artikel ausblenden" -#: common/models.py:1388 +#: common/models.py:1457 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:1394 +#: common/models.py:1463 msgid "Search Locations" msgstr "Lagerorte durchsuchen" -#: common/models.py:1395 +#: common/models.py:1464 msgid "Display stock locations in search preview window" msgstr "Lagerorte in Suchvorschau anzeigen" -#: common/models.py:1401 +#: common/models.py:1470 msgid "Search Companies" msgstr "Firmen durchsuchen" -#: common/models.py:1402 +#: common/models.py:1471 msgid "Display companies in search preview window" msgstr "Firmen in der Suchvorschau anzeigen" -#: common/models.py:1408 +#: common/models.py:1477 msgid "Search Purchase Orders" msgstr "Bestellungen durchsuchen" -#: common/models.py:1409 +#: common/models.py:1478 msgid "Display purchase orders in search preview window" msgstr "Bestellungen in der Suchvorschau anzeigen" -#: common/models.py:1415 +#: common/models.py:1484 msgid "Exclude Inactive Purchase Orders" msgstr "Inaktive Bestellungen ausblenden" -#: common/models.py:1416 +#: common/models.py:1485 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inaktive Bestellungen in der Suchvorschau ausblenden" -#: common/models.py:1422 +#: common/models.py:1491 msgid "Search Sales Orders" msgstr "Aufträge durchsuchen" -#: common/models.py:1423 +#: common/models.py:1492 msgid "Display sales orders in search preview window" msgstr "Aufträge in der Suchvorschau anzeigen" -#: common/models.py:1429 +#: common/models.py:1498 msgid "Exclude Inactive Sales Orders" msgstr "Inaktive Aufträge ausblenden" -#: common/models.py:1430 +#: common/models.py:1499 msgid "Exclude inactive sales orders from search preview window" msgstr "Inaktive Aufträge in der Suchvorschau ausblenden" -#: common/models.py:1436 +#: common/models.py:1505 msgid "Search Preview Results" msgstr "Anzahl Suchergebnisse" -#: common/models.py:1437 +#: common/models.py:1506 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:1443 +#: common/models.py:1512 msgid "Show Quantity in Forms" msgstr "zeige Bestand in Eingabemasken" -#: common/models.py:1444 +#: common/models.py:1513 msgid "Display available part quantity in some forms" msgstr "Zeige den verfügbaren Bestand in einigen Eingabemasken" -#: common/models.py:1450 +#: common/models.py:1519 msgid "Escape Key Closes Forms" msgstr "Esc-Taste schließt Formulare" -#: common/models.py:1451 +#: common/models.py:1520 msgid "Use the escape key to close modal forms" msgstr "Benutze die Esc-Taste, um Formulare zu schließen" -#: common/models.py:1457 +#: common/models.py:1526 msgid "Fixed Navbar" msgstr "Fixierter Navigationsleiste" -#: common/models.py:1458 +#: common/models.py:1527 msgid "The navbar position is fixed to the top of the screen" msgstr "Position der Navigationsleiste am oberen Bildschirmrand fixieren" -#: common/models.py:1464 +#: common/models.py:1533 msgid "Date Format" msgstr "Datumsformat" -#: common/models.py:1465 +#: common/models.py:1534 msgid "Preferred format for displaying dates" msgstr "Bevorzugtes Format für die Anzeige von Daten" -#: common/models.py:1479 part/templates/part/detail.html:39 +#: common/models.py:1548 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "Teilzeitplanung" -#: common/models.py:1480 +#: common/models.py:1549 msgid "Display part scheduling information" msgstr "Zeige Zeitplanung für Teile" -#: common/models.py:1544 company/forms.py:37 +#: common/models.py:1608 company/forms.py:37 msgid "Price break quantity" msgstr "Preisstaffelungs Anzahl" -#: common/models.py:1551 company/serializers.py:319 +#: common/models.py:1615 company/serializers.py:319 #: company/templates/company/supplier_part.html:284 order/models.py:951 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:2095 msgid "Price" msgstr "Preis" -#: common/models.py:1552 +#: common/models.py:1616 msgid "Unit price at specified quantity" msgstr "Stückpreis für die angegebene Anzahl" -#: common/models.py:1712 common/models.py:1890 +#: common/models.py:1776 common/models.py:1954 msgid "Endpoint" msgstr "Endpunkt" -#: common/models.py:1713 +#: common/models.py:1777 msgid "Endpoint at which this webhook is received" msgstr "Endpunkt, an dem dieser Webhook empfangen wird" -#: common/models.py:1722 +#: common/models.py:1786 msgid "Name for this webhook" msgstr "Name für diesen Webhook" -#: common/models.py:1727 part/models.py:911 plugin/models.py:99 +#: common/models.py:1791 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,67 +2458,67 @@ msgstr "Name für diesen Webhook" msgid "Active" msgstr "Aktiv" -#: common/models.py:1728 +#: common/models.py:1792 msgid "Is this webhook active" msgstr "Ist dieser Webhook aktiv" -#: common/models.py:1742 +#: common/models.py:1806 msgid "Token" msgstr "Token" -#: common/models.py:1743 +#: common/models.py:1807 msgid "Token for access" msgstr "Token für Zugang" -#: common/models.py:1750 +#: common/models.py:1814 msgid "Secret" msgstr "Geheimnis" -#: common/models.py:1751 +#: common/models.py:1815 msgid "Shared secret for HMAC" msgstr "Shared Secret für HMAC" -#: common/models.py:1857 +#: common/models.py:1921 msgid "Message ID" msgstr "Nachrichten-ID" -#: common/models.py:1858 +#: common/models.py:1922 msgid "Unique identifier for this message" msgstr "Eindeutige Kennung für diese Nachricht" -#: common/models.py:1866 +#: common/models.py:1930 msgid "Host" msgstr "Host" -#: common/models.py:1867 +#: common/models.py:1931 msgid "Host from which this message was received" msgstr "Host von dem diese Nachricht empfangen wurde" -#: common/models.py:1874 +#: common/models.py:1938 msgid "Header" msgstr "Kopfzeile" -#: common/models.py:1875 +#: common/models.py:1939 msgid "Header of this message" msgstr "Header dieser Nachricht" -#: common/models.py:1881 +#: common/models.py:1945 msgid "Body" msgstr "Body" -#: common/models.py:1882 +#: common/models.py:1946 msgid "Body of this message" msgstr "Body dieser Nachricht" -#: common/models.py:1891 +#: common/models.py:1955 msgid "Endpoint on which this message was received" msgstr "Endpunkt, über den diese Nachricht empfangen wurde" -#: common/models.py:1896 +#: common/models.py:1960 msgid "Worked on" msgstr "Bearbeitet" -#: common/models.py:1897 +#: common/models.py:1961 msgid "Was the work on this message finished?" msgstr "Wurde die Arbeit an dieser Nachricht abgeschlossen?" @@ -2657,7 +2657,7 @@ msgstr "Produziert diese Firma Teile?" #: company/models.py:145 company/serializers.py:325 #: company/templates/company/company_base.html:106 part/serializers.py:139 -#: part/serializers.py:170 stock/serializers.py:162 +#: part/serializers.py:170 stock/serializers.py:163 msgid "Currency" msgstr "Währung" @@ -2793,7 +2793,7 @@ msgstr "Zuliefererbeschreibung des Teils" #: company/models.py:519 company/templates/company/supplier_part.html:146 #: 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 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:388 msgid "Note" msgstr "Notiz" @@ -2807,7 +2807,7 @@ msgstr "Mindestpreis" #: company/models.py:525 company/templates/company/supplier_part.html:139 #: stock/models.py:608 stock/templates/stock/item_base.html:245 -#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1974 +#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1975 msgid "Packaging" msgstr "Verpackungen" @@ -2902,11 +2902,11 @@ msgstr "Bild von URL herunterladen" #: company/templates/company/company_base.html:86 order/models.py:651 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:745 +#: stock/models.py:628 stock/serializers.py:785 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:381 templates/js/translated/order.js:2458 -#: templates/js/translated/stock.js:2493 +#: templates/js/translated/stock.js:2494 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "Kunde" @@ -3079,7 +3079,7 @@ msgstr "Zuliefererteil entfernen" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 -#: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:33 +#: templates/js/translated/forms.js:442 templates/js/translated/helpers.js:33 #: users/models.py:219 msgid "Delete" msgstr "Löschen" @@ -3127,7 +3127,7 @@ msgstr "Zugewiesene Lagerartikel" #: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:894 templates/js/translated/order.js:884 -#: templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:1932 msgid "Supplier Part" msgstr "Zuliefererteil" @@ -3235,7 +3235,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:43 #: templates/js/translated/bom.js:554 templates/js/translated/part.js:747 #: templates/js/translated/part.js:1295 templates/js/translated/part.js:1456 -#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1749 +#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1750 #: templates/navbar.html:31 msgid "Stock" msgstr "Bestand" @@ -3262,7 +3262,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:2369 users/models.py:39 +#: templates/js/translated/stock.js:2370 users/models.py:39 msgid "Stock Items" msgstr "Lagerartikel" @@ -3536,8 +3536,8 @@ msgstr "Bestellung" #: 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:968 templates/js/translated/stock.js:1908 -#: templates/js/translated/stock.js:2474 +#: templates/js/translated/part.js:968 templates/js/translated/stock.js:1909 +#: templates/js/translated/stock.js:2475 msgid "Purchase Order" msgstr "Bestellung" @@ -3557,8 +3557,8 @@ msgid "Number of items received" msgstr "Empfangene Objekt-Anzahl" #: order/models.py:1030 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:1962 +#: stock/serializers.py:154 stock/templates/stock/item_base.html:191 +#: templates/js/translated/stock.js:1963 msgid "Purchase Price" msgstr "Preis" @@ -4121,19 +4121,19 @@ msgstr "Gesamte Stückliste validieren" msgid "This option must be selected" msgstr "Diese Option muss ausgewählt werden" -#: part/api.py:1011 +#: part/api.py:1058 msgid "Must be greater than zero" msgstr "Muss größer als 0 sein" -#: part/api.py:1015 +#: part/api.py:1062 msgid "Must be a valid quantity" msgstr "Muss eine gültige Nummer sein" -#: part/api.py:1030 +#: part/api.py:1077 msgid "Specify location for initial part stock" msgstr "Standort für anfänglichen Bestand angeben" -#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 +#: part/api.py:1108 part/api.py:1112 part/api.py:1127 part/api.py:1131 msgid "This field is required" msgstr "Dieses Feld ist erforderlich" @@ -4268,7 +4268,7 @@ msgstr "Teile-Kategorie" #: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:735 templates/js/translated/part.js:1391 -#: templates/js/translated/stock.js:1721 +#: templates/js/translated/stock.js:1722 msgid "IPN" msgstr "IPN (Interne Produktnummer)" @@ -4611,7 +4611,7 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:164 msgid "Purchase currency of this stock item" msgstr "Kaufwährung dieses Lagerartikels" @@ -5752,7 +5752,7 @@ 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:2402 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2403 msgid "Date" msgstr "Datum" @@ -5771,19 +5771,19 @@ msgstr "Verbaute Objekte" #: report/templates/report/inventree_test_report_base.html:137 #: templates/js/translated/stock.js:606 templates/js/translated/stock.js:776 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2652 msgid "Serial" msgstr "Seriennummer" -#: stock/api.py:505 +#: stock/api.py:511 msgid "Quantity is required" msgstr "Menge ist erforderlich" -#: stock/api.py:512 +#: stock/api.py:518 msgid "Valid part must be supplied" msgstr "Gültiges Teil muss angegeben werden" -#: stock/api.py:537 +#: stock/api.py:543 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Seriennummern können für nicht verfolgbare Teile nicht angegeben werden" @@ -5891,7 +5891,7 @@ msgid "Destination Sales Order" msgstr "Ziel-Auftrag" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1879 msgid "Expiry Date" msgstr "Ablaufdatum" @@ -5969,7 +5969,7 @@ msgstr "Lagerartikel wird aktuell produziert" msgid "Serialized stock cannot be merged" msgstr "Nachverfolgbare Lagerartikel können nicht zusammengeführt werden" -#: stock/models.py:1347 stock/serializers.py:895 +#: stock/models.py:1347 stock/serializers.py:935 msgid "Duplicate stock items" msgstr "Artikel duplizeren" @@ -6021,120 +6021,128 @@ msgstr "Test Ergebnis Anhang" msgid "Test notes" msgstr "Test Notizen" -#: stock/serializers.py:156 +#: stock/serializers.py:157 msgid "Purchase price of this stock item" msgstr "Kaufpreis für diesen Lagerartikel" -#: stock/serializers.py:280 +#: stock/serializers.py:281 msgid "Enter number of stock items to serialize" msgstr "Anzahl der zu serialisierenden Lagerartikel eingeben" -#: stock/serializers.py:292 +#: stock/serializers.py:293 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Anzahl darf nicht die verfügbare Menge überschreiten ({q})" -#: stock/serializers.py:298 +#: stock/serializers.py:299 msgid "Enter serial numbers for new items" msgstr "Seriennummern für neue Teile eingeben" -#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 +#: stock/serializers.py:310 stock/serializers.py:892 stock/serializers.py:1125 msgid "Destination stock location" msgstr "Ziel-Bestand" -#: stock/serializers.py:316 +#: stock/serializers.py:317 msgid "Optional note field" msgstr "Optionales Notizfeld" -#: stock/serializers.py:326 +#: stock/serializers.py:327 msgid "Serial numbers cannot be assigned to this part" msgstr "Seriennummern können diesem Teil nicht zugewiesen werden" -#: stock/serializers.py:343 +#: stock/serializers.py:344 msgid "Serial numbers already exist" msgstr "Seriennummern existieren bereits" -#: stock/serializers.py:383 +#: stock/serializers.py:384 msgid "Select stock item to install" msgstr "Lagerartikel für Installation auswählen" -#: stock/serializers.py:396 +#: stock/serializers.py:397 msgid "Stock item is unavailable" msgstr "Lagerartikel ist nicht verfügbar" -#: stock/serializers.py:403 +#: stock/serializers.py:404 msgid "Selected part is not in the Bill of Materials" msgstr "Ausgewähltes Teil ist nicht in der Stückliste" -#: stock/serializers.py:440 +#: stock/serializers.py:441 msgid "Destination location for uninstalled item" msgstr "Ziel Lagerort für unverbautes Objekt" -#: stock/serializers.py:445 stock/serializers.py:487 +#: stock/serializers.py:446 stock/serializers.py:527 msgid "Add transaction note (optional)" msgstr " Transaktionsnotizen hinzufügen (optional)" -#: stock/serializers.py:482 +#: stock/serializers.py:480 +msgid "Select part to convert stock item into" +msgstr "" + +#: stock/serializers.py:491 +msgid "Selected part is not a valid option for conversion" +msgstr "" + +#: stock/serializers.py:522 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:707 +#: stock/serializers.py:747 msgid "Part must be salable" msgstr "Teil muss verkaufbar sein" -#: stock/serializers.py:711 +#: stock/serializers.py:751 msgid "Item is allocated to a sales order" msgstr "Artikel ist einem Kundenauftrag zugeordnet" -#: stock/serializers.py:715 +#: stock/serializers.py:755 msgid "Item is allocated to a build order" msgstr "Artikel ist einem Fertigungsauftrag zugeordnet" -#: stock/serializers.py:746 +#: stock/serializers.py:786 msgid "Customer to assign stock items" msgstr "Kunde zum Zuweisen von Lagerartikel" -#: stock/serializers.py:752 +#: stock/serializers.py:792 msgid "Selected company is not a customer" msgstr "Ausgewählte Firma ist kein Kunde" -#: stock/serializers.py:760 +#: stock/serializers.py:800 msgid "Stock assignment notes" msgstr "Notizen zur Lagerzuordnung" -#: stock/serializers.py:770 stock/serializers.py:1001 +#: stock/serializers.py:810 stock/serializers.py:1041 msgid "A list of stock items must be provided" msgstr "Eine Liste der Lagerbestände muss angegeben werden" -#: stock/serializers.py:859 +#: stock/serializers.py:899 msgid "Stock merging notes" msgstr "Notizen zur Lagerartikelzusammenführung" -#: stock/serializers.py:864 +#: stock/serializers.py:904 msgid "Allow mismatched suppliers" msgstr "Unterschiedliche Lieferanten erlauben" -#: stock/serializers.py:865 +#: stock/serializers.py:905 msgid "Allow stock items with different supplier parts to be merged" msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Lieferanten erlauben" -#: stock/serializers.py:870 +#: stock/serializers.py:910 msgid "Allow mismatched status" msgstr "Unterschiedliche Status erlauben" -#: stock/serializers.py:871 +#: stock/serializers.py:911 msgid "Allow stock items with different status codes to be merged" msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Status-Codes erlauben" -#: stock/serializers.py:881 +#: stock/serializers.py:921 msgid "At least two stock items must be provided" msgstr "Mindestens zwei Lagerartikel müssen angegeben werden" -#: stock/serializers.py:963 +#: stock/serializers.py:1003 msgid "StockItem primary key value" msgstr "Primärschlüssel Lagerelement" -#: stock/serializers.py:991 +#: stock/serializers.py:1031 msgid "Stock transaction notes" msgstr "Bestandsbewegungsnotizen" @@ -6171,7 +6179,7 @@ msgstr "Testdaten hinzufügen" msgid "Installed Stock Items" msgstr "Installierte Lagerartikel" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2795 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2796 msgid "Install Stock Item" msgstr "Lagerartikel installieren" @@ -6179,7 +6187,7 @@ msgstr "Lagerartikel installieren" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1517 +#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1518 msgid "Add Test Result" msgstr "Testergebnis hinzufügen" @@ -6366,7 +6374,7 @@ msgid "Stale" msgstr "überfällig" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1894 +#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1895 msgid "Last Updated" msgstr "Zuletzt aktualisiert" @@ -6382,7 +6390,23 @@ msgstr "Keine Inventur ausgeführt" msgid "Edit Stock Status" msgstr "Bestandsstatus bearbeiten" -#: stock/templates/stock/item_base.html:642 +#: stock/templates/stock/item_base.html:594 +msgid "Select one of the part variants listed below." +msgstr "" + +#: stock/templates/stock/item_base.html:597 +msgid "Warning" +msgstr "Warnung" + +#: stock/templates/stock/item_base.html:598 +msgid "This action cannot be easily undone" +msgstr "Diese Aktion kann nicht einfach rückgängig gemacht werden" + +#: stock/templates/stock/item_base.html:606 +msgid "Convert Stock Item" +msgstr "Lagerartikel umwandeln" + +#: stock/templates/stock/item_base.html:664 msgid "Return to Stock" msgstr "zurück ins Lager" @@ -6466,32 +6490,11 @@ msgstr "Zuweisungen" msgid "Child Items" msgstr "Untergeordnete Objekte" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:143 -msgid "Convert Stock Item" -msgstr "Lagerartikel umwandeln" - -#: stock/templates/stock/stockitem_convert.html:8 -#, python-format -msgid "This stock item is current an instance of %(part)s" -msgstr "Lagerartikel ist aktuell eine Instanz von %(part)s" - -#: stock/templates/stock/stockitem_convert.html:9 -msgid "It can be converted to one of the part variants listed below." -msgstr "Es kann in eine der folgenden Varianten konvertiert werden." - -#: stock/templates/stock/stockitem_convert.html:13 -msgid "Warning" -msgstr "Warnung" - -#: stock/templates/stock/stockitem_convert.html:14 -msgid "This action cannot be easily undone" -msgstr "Diese Aktion kann nicht einfach rückgängig gemacht werden" - -#: stock/views.py:110 +#: stock/views.py:109 msgid "Stock Location QR code" msgstr "QR-Code für diesen Lagerort" -#: stock/views.py:126 +#: stock/views.py:125 msgid "Stock Item QR Code" msgstr "Lagerartikel-QR-Code" @@ -7303,7 +7306,7 @@ 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 +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:633 msgid "Confirm" msgstr "Bestätigen" @@ -8175,8 +8178,8 @@ msgid "No builds matching query" msgstr "Keine Bauaufträge passen zur Anfrage" #: templates/js/translated/build.js:2447 templates/js/translated/part.js:1383 -#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1681 -#: templates/js/translated/stock.js:2339 +#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:2340 msgid "Select" msgstr "Auswählen" @@ -8188,7 +8191,7 @@ msgstr "Bauauftrag ist überfällig" msgid "Progress" msgstr "Fortschritt" -#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2581 +#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2582 msgid "No user information" msgstr "Keine Benutzerinformation" @@ -8342,61 +8345,61 @@ msgstr "Filter entfernen" msgid "Create filter" msgstr "Filter anlegen" -#: templates/js/translated/forms.js:353 templates/js/translated/forms.js:368 -#: templates/js/translated/forms.js:382 templates/js/translated/forms.js:396 +#: templates/js/translated/forms.js:356 templates/js/translated/forms.js:371 +#: templates/js/translated/forms.js:385 templates/js/translated/forms.js:399 msgid "Action Prohibited" msgstr "Aktion verboten" -#: templates/js/translated/forms.js:355 +#: templates/js/translated/forms.js:358 msgid "Create operation not allowed" msgstr "Erstellvorgang nicht erlaubt" -#: templates/js/translated/forms.js:370 +#: templates/js/translated/forms.js:373 msgid "Update operation not allowed" msgstr "Updatevorgang nicht erlaubt" -#: templates/js/translated/forms.js:384 +#: templates/js/translated/forms.js:387 msgid "Delete operation not allowed" msgstr "Löschvorgang nicht erlaubt" -#: templates/js/translated/forms.js:398 +#: templates/js/translated/forms.js:401 msgid "View operation not allowed" msgstr "Anzeigevorgang nicht erlaubt" -#: templates/js/translated/forms.js:656 +#: templates/js/translated/forms.js:659 msgid "Keep this form open" msgstr "Dieses Formular offen lassen" -#: templates/js/translated/forms.js:757 +#: templates/js/translated/forms.js:760 msgid "Enter a valid number" msgstr "Gib eine gültige Nummer ein" -#: templates/js/translated/forms.js:1249 templates/modals.html:19 +#: templates/js/translated/forms.js:1252 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Fehler in Formular" -#: templates/js/translated/forms.js:1682 +#: templates/js/translated/forms.js:1685 msgid "No results found" msgstr "Keine Ergebnisse gefunden" -#: templates/js/translated/forms.js:1897 templates/search.html:29 +#: templates/js/translated/forms.js:1900 templates/search.html:29 msgid "Searching" msgstr "Suche" -#: templates/js/translated/forms.js:2150 +#: templates/js/translated/forms.js:2153 msgid "Clear input" msgstr "Eingabe leeren" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "File Column" msgstr "Dateispalte" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "Field Name" msgstr "Feldname" -#: templates/js/translated/forms.js:2628 +#: templates/js/translated/forms.js:2631 msgid "Select Columns" msgstr "Spalten auswählen" @@ -8727,7 +8730,7 @@ msgstr "Seriennummern hinzufügen" msgid "Quantity to receive" msgstr "Zu erhaltende Menge" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2142 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2143 msgid "Stock Status" msgstr "Status" @@ -8921,7 +8924,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:1597 +#: templates/js/translated/stock.js:1598 msgid "Shipped to customer" msgstr "an Kunde versand" @@ -9187,7 +9190,7 @@ msgid "No category" msgstr "Keine Kategorie" #: templates/js/translated/part.js:1573 templates/js/translated/part.js:1785 -#: templates/js/translated/stock.js:2300 +#: templates/js/translated/stock.js:2301 msgid "Display as list" msgstr "Listenansicht" @@ -9211,7 +9214,7 @@ msgstr "Teil-Kategorie wählen" msgid "Category is required" msgstr "Kategorie erforderlich" -#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2319 +#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2320 msgid "Display as tree" msgstr "Baumansicht" @@ -9219,7 +9222,7 @@ msgstr "Baumansicht" msgid "Subscribed category" msgstr "Abonnierte Kategorie" -#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2363 +#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2364 msgid "Path" msgstr "Pfad" @@ -9232,7 +9235,7 @@ msgid "Edit test result" msgstr "Testergebnis bearbeiten" #: templates/js/translated/part.js:1978 templates/js/translated/stock.js:1296 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1556 msgid "Delete test result" msgstr "Testergebnis löschen" @@ -9565,180 +9568,180 @@ msgstr "Testergebnis hinzufügen" msgid "No test results found" msgstr "Keine Testergebnisse gefunden" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1374 msgid "Test Date" msgstr "Testdatum" -#: templates/js/translated/stock.js:1538 +#: templates/js/translated/stock.js:1539 msgid "Edit Test Result" msgstr "Testergebnis bearbeiten" -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/stock.js:1561 msgid "Delete Test Result" msgstr "Testergebnis löschen" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1590 msgid "In production" msgstr "In Arbeit" -#: templates/js/translated/stock.js:1593 +#: templates/js/translated/stock.js:1594 msgid "Installed in Stock Item" msgstr "In Lagerartikel installiert" -#: templates/js/translated/stock.js:1601 +#: templates/js/translated/stock.js:1602 msgid "Assigned to Sales Order" msgstr "Auftrag zugewiesen" -#: templates/js/translated/stock.js:1607 +#: templates/js/translated/stock.js:1608 msgid "No stock location set" msgstr "Kein Lagerort gesetzt" -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1775 msgid "Stock item is in production" msgstr "Lagerartikel wird produziert" -#: templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:1780 msgid "Stock item assigned to sales order" msgstr "Lagerartikel wurde Auftrag zugewiesen" -#: templates/js/translated/stock.js:1782 +#: templates/js/translated/stock.js:1783 msgid "Stock item assigned to customer" msgstr "Lagerartikel wurde Kunden zugewiesen" -#: templates/js/translated/stock.js:1785 +#: templates/js/translated/stock.js:1786 msgid "Serialized stock item has been allocated" msgstr "Serialisierter Lagerartikel wurde zugewiesen" -#: templates/js/translated/stock.js:1787 +#: templates/js/translated/stock.js:1788 msgid "Stock item has been fully allocated" msgstr "Lagerartikel wurde vollständig zugewiesen" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1790 msgid "Stock item has been partially allocated" msgstr "Lagerartikel wurde teilweise zugewiesen" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1793 msgid "Stock item has been installed in another item" msgstr "Lagerartikel in anderem Element verbaut" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1797 msgid "Stock item has expired" msgstr "Lagerartikel ist abgelaufen" -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1799 msgid "Stock item will expire soon" msgstr "Lagerartikel läuft demnächst ab" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1806 msgid "Stock item has been rejected" msgstr "Lagerartikel abgewiesen" -#: templates/js/translated/stock.js:1807 +#: templates/js/translated/stock.js:1808 msgid "Stock item is lost" msgstr "Lagerartikel verloren" -#: templates/js/translated/stock.js:1809 +#: templates/js/translated/stock.js:1810 msgid "Stock item is destroyed" msgstr "Lagerartikel zerstört" -#: templates/js/translated/stock.js:1813 +#: templates/js/translated/stock.js:1814 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "gelöscht" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1865 msgid "Stocktake" msgstr "Inventur" -#: templates/js/translated/stock.js:1946 +#: templates/js/translated/stock.js:1947 msgid "Supplier part not specified" msgstr "Zuliefererteil nicht angegeben" -#: templates/js/translated/stock.js:1984 +#: templates/js/translated/stock.js:1985 msgid "No stock items matching query" msgstr "Keine zur Anfrage passenden Lagerartikel" -#: templates/js/translated/stock.js:2157 +#: templates/js/translated/stock.js:2158 msgid "Set Stock Status" msgstr "Status setzen" -#: templates/js/translated/stock.js:2171 +#: templates/js/translated/stock.js:2172 msgid "Select Status Code" msgstr "Status Code setzen" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2173 msgid "Status code must be selected" msgstr "Status Code muss ausgewählt werden" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Details" msgstr "Details" -#: templates/js/translated/stock.js:2443 +#: templates/js/translated/stock.js:2444 msgid "Part information unavailable" msgstr "Artikelinformationen nicht verfügbar" -#: templates/js/translated/stock.js:2465 +#: templates/js/translated/stock.js:2466 msgid "Location no longer exists" msgstr "Standort nicht mehr vorhanden" -#: templates/js/translated/stock.js:2484 +#: templates/js/translated/stock.js:2485 msgid "Purchase order no longer exists" msgstr "Bestellung existiert nicht mehr" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2504 msgid "Customer no longer exists" msgstr "Kunde existiert nicht mehr" -#: templates/js/translated/stock.js:2521 +#: templates/js/translated/stock.js:2522 msgid "Stock item no longer exists" msgstr "Lagerartikel existiert nicht mehr" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2545 msgid "Added" msgstr "Hinzugefügt" -#: templates/js/translated/stock.js:2552 +#: templates/js/translated/stock.js:2553 msgid "Removed" msgstr "Entfernt" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2629 msgid "No installed items" msgstr "Keine installierten Elemente" -#: templates/js/translated/stock.js:2679 templates/js/translated/stock.js:2715 +#: templates/js/translated/stock.js:2680 templates/js/translated/stock.js:2716 msgid "Uninstall Stock Item" msgstr "Lagerartikel entfernen" -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2729 msgid "Select stock item to uninstall" msgstr "Zu deinstallierende Lagerartikel auswählen" -#: templates/js/translated/stock.js:2749 +#: templates/js/translated/stock.js:2750 msgid "Install another stock item into this item" msgstr "Einen weiteren Lagerartikel in dieses Teil installiert" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2751 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:2752 +#: templates/js/translated/stock.js:2753 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:2753 +#: templates/js/translated/stock.js:2754 msgid "The Stock Item is currently available in stock" msgstr "Dieser Lagerartikel ist aktuell vorhanden" -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 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:2755 +#: templates/js/translated/stock.js:2756 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:2768 +#: templates/js/translated/stock.js:2769 msgid "Select part to install" msgstr "Teil zur Installation auswählen" @@ -9990,61 +9993,61 @@ msgstr "Tabellendaten exportieren" msgid "Select File Format" msgstr "Dateiformat wählen" -#: templates/js/translated/tables.js:525 +#: templates/js/translated/tables.js:534 msgid "Loading data" msgstr "Lade Daten" -#: templates/js/translated/tables.js:528 +#: templates/js/translated/tables.js:537 msgid "rows per page" msgstr "Zeilen pro Seite" -#: templates/js/translated/tables.js:533 +#: templates/js/translated/tables.js:542 msgid "Showing all rows" msgstr "Alle Zeilen anzeigen" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "Showing" msgstr "zeige" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "to" msgstr "bis" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "of" msgstr "von" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "rows" msgstr "Zeilen" -#: templates/js/translated/tables.js:539 templates/navbar.html:102 +#: templates/js/translated/tables.js:548 templates/navbar.html:102 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" msgstr "Suche" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:551 msgid "No matching results" msgstr "Keine passenden Ergebnisse gefunden" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:554 msgid "Hide/Show pagination" msgstr "Zeige/Verstecke Pagination" -#: templates/js/translated/tables.js:548 +#: templates/js/translated/tables.js:557 msgid "Refresh" msgstr "Neu laden" -#: templates/js/translated/tables.js:551 +#: templates/js/translated/tables.js:560 msgid "Toggle" msgstr "umschalten" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:563 msgid "Columns" msgstr "Spalten" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:566 msgid "All" msgstr "Alle" diff --git a/InvenTree/locale/el/LC_MESSAGES/django.po b/InvenTree/locale/el/LC_MESSAGES/django.po index bd657852b1..41e0e80530 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-11 13:14+0000\n" -"PO-Revision-Date: 2022-06-11 15:03\n" +"POT-Creation-Date: 2022-06-15 08:34+0000\n" +"PO-Revision-Date: 2022-06-15 16:23\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -141,12 +141,12 @@ msgstr "" msgid "File comment" msgstr "" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1575 +#: common/models.py:1576 common/models.py:1799 common/models.py:1800 +#: common/models.py:2062 common/models.py:2063 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:2575 +#: templates/js/translated/stock.js:2576 msgid "User" msgstr "" @@ -183,7 +183,7 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1785 #: company/models.py:355 label/models.py:101 part/models.py:739 #: part/models.py:2319 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -195,7 +195,7 @@ msgstr "" #: templates/js/translated/company.js:744 #: templates/js/translated/notification.js:73 #: templates/js/translated/part.js:684 templates/js/translated/part.js:836 -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2345 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2346 msgid "Name" msgstr "" @@ -217,8 +217,8 @@ msgstr "" #: templates/js/translated/order.js:1888 templates/js/translated/order.js:2476 #: templates/js/translated/part.js:743 templates/js/translated/part.js:1151 #: templates/js/translated/part.js:1424 templates/js/translated/part.js:1876 -#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1738 -#: templates/js/translated/stock.js:2357 templates/js/translated/stock.js:2412 +#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1739 +#: templates/js/translated/stock.js:2358 templates/js/translated/stock.js:2413 msgid "Description" msgstr "" @@ -292,99 +292,99 @@ msgstr "" msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:689 msgid "Czech" msgstr "" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:690 msgid "German" msgstr "" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:691 msgid "Greek" msgstr "" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:692 msgid "English" msgstr "" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:693 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:694 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:695 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:696 msgid "French" msgstr "" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:697 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:698 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:699 msgid "Italian" msgstr "" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:700 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:701 msgid "Korean" msgstr "" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:702 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:703 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:704 msgid "Polish" msgstr "" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:705 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:706 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:707 msgid "Russian" msgstr "" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:708 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:709 msgid "Thai" msgstr "" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:710 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:711 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:712 msgid "Chinese" msgstr "" @@ -515,7 +515,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2082 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2083 msgid "Merged stock items" msgstr "" @@ -669,7 +669,7 @@ msgstr "" #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:479 #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 @@ -688,8 +688,8 @@ msgstr "" #: templates/js/translated/part.js:1136 templates/js/translated/part.js:1206 #: templates/js/translated/part.js:1402 templates/js/translated/stock.js:582 #: templates/js/translated/stock.js:747 templates/js/translated/stock.js:954 -#: templates/js/translated/stock.js:1695 templates/js/translated/stock.js:2438 -#: templates/js/translated/stock.js:2633 templates/js/translated/stock.js:2767 +#: templates/js/translated/stock.js:1696 templates/js/translated/stock.js:2439 +#: templates/js/translated/stock.js:2634 templates/js/translated/stock.js:2768 msgid "Part" msgstr "" @@ -815,14 +815,14 @@ msgstr "" #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 #: 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:759 stock/serializers.py:858 stock/serializers.py:990 +#: stock/serializers.py:316 stock/serializers.py:445 stock/serializers.py:526 +#: stock/serializers.py:799 stock/serializers.py:898 stock/serializers.py:1030 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1038 #: templates/js/translated/company.js:949 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:1369 templates/js/translated/stock.js:1978 +#: templates/js/translated/stock.js:1370 templates/js/translated/stock.js:1979 msgid "Notes" msgstr "" @@ -878,8 +878,8 @@ msgid "Build to allocate parts" msgstr "" #: 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 +#: order/serializers.py:1017 stock/serializers.py:383 stock/serializers.py:730 +#: stock/serializers.py:856 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 @@ -888,7 +888,7 @@ msgstr "" #: 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:583 templates/js/translated/stock.js:748 -#: templates/js/translated/stock.js:2511 +#: templates/js/translated/stock.js:2512 msgid "Stock Item" msgstr "" @@ -898,7 +898,7 @@ msgstr "" #: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1543 +#: build/templates/build/detail.html:34 common/models.py:1607 #: company/forms.py:36 company/templates/company/supplier_part.html:279 #: order/models.py:911 order/models.py:1414 order/serializers.py:1136 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 @@ -911,7 +911,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:280 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:691 #: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 @@ -928,7 +928,7 @@ msgstr "" #: templates/js/translated/part.js:2321 templates/js/translated/part.js:2355 #: templates/js/translated/part.js:2433 templates/js/translated/stock.js:454 #: templates/js/translated/stock.js:608 templates/js/translated/stock.js:778 -#: templates/js/translated/stock.js:2560 templates/js/translated/stock.js:2645 +#: templates/js/translated/stock.js:2561 templates/js/translated/stock.js:2646 msgid "Quantity" msgstr "" @@ -972,7 +972,7 @@ msgstr "" #: build/serializers.py:198 build/serializers.py:623 order/models.py:354 #: 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 +#: stock/serializers.py:289 msgid "Quantity must be greater than zero" msgstr "" @@ -985,7 +985,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 -#: stock/serializers.py:297 templates/js/translated/order.js:1186 +#: stock/serializers.py:298 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:267 templates/js/translated/stock.js:455 msgid "Serial Numbers" msgstr "" @@ -1002,7 +1002,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:553 +#: build/serializers.py:268 stock/api.py:559 msgid "The following serial numbers already exist" msgstr "" @@ -1011,8 +1011,8 @@ msgid "A list of build outputs must be provided" 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:851 stock/serializers.py:1084 +#: stock/serializers.py:309 stock/serializers.py:440 stock/serializers.py:521 +#: stock/serializers.py:891 stock/serializers.py:1124 #: 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 @@ -1021,7 +1021,7 @@ msgstr "" #: templates/js/translated/order.js:3247 templates/js/translated/order.js:3328 #: templates/js/translated/part.js:181 templates/js/translated/stock.js:584 #: templates/js/translated/stock.js:749 templates/js/translated/stock.js:956 -#: templates/js/translated/stock.js:1849 templates/js/translated/stock.js:2452 +#: templates/js/translated/stock.js:1850 templates/js/translated/stock.js:2453 msgid "Location" msgstr "" @@ -1034,8 +1034,8 @@ msgstr "" #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2509 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 -#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1824 -#: templates/js/translated/stock.js:2529 templates/js/translated/stock.js:2661 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1825 +#: templates/js/translated/stock.js:2530 templates/js/translated/stock.js:2662 msgid "Status" msgstr "" @@ -1112,7 +1112,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:703 +#: build/serializers.py:609 stock/serializers.py:743 msgid "Item must be in stock" msgstr "" @@ -1333,8 +1333,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:1022 templates/js/translated/stock.js:1838 -#: templates/js/translated/stock.js:2668 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:1839 +#: templates/js/translated/stock.js:2669 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1545,912 +1545,912 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:365 +#: common/models.py:434 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:367 +#: common/models.py:436 msgid "Settings value" msgstr "" -#: common/models.py:408 +#: common/models.py:477 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:425 +#: common/models.py:494 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:436 +#: common/models.py:505 msgid "Value must be an integer value" msgstr "" -#: common/models.py:481 +#: common/models.py:550 msgid "Key string must be unique" msgstr "" -#: common/models.py:665 +#: common/models.py:734 msgid "No group" msgstr "" -#: common/models.py:704 +#: common/models.py:773 msgid "Restart required" msgstr "" -#: common/models.py:705 +#: common/models.py:774 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:712 +#: common/models.py:781 msgid "Server Instance Name" msgstr "" -#: common/models.py:714 +#: common/models.py:783 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:718 +#: common/models.py:787 msgid "Use instance name" msgstr "" -#: common/models.py:719 +#: common/models.py:788 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:725 +#: common/models.py:794 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:726 +#: common/models.py:795 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:732 company/models.py:93 company/models.py:94 +#: common/models.py:801 company/models.py:93 company/models.py:94 msgid "Company name" msgstr "" -#: common/models.py:733 +#: common/models.py:802 msgid "Internal company name" msgstr "" -#: common/models.py:738 +#: common/models.py:807 msgid "Base URL" msgstr "" -#: common/models.py:739 +#: common/models.py:808 msgid "Base URL for server instance" msgstr "" -#: common/models.py:745 +#: common/models.py:814 msgid "Default Currency" msgstr "" -#: common/models.py:746 +#: common/models.py:815 msgid "Default currency" msgstr "" -#: common/models.py:752 +#: common/models.py:821 msgid "Download from URL" msgstr "" -#: common/models.py:753 +#: common/models.py:822 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:828 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:760 +#: common/models.py:829 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:766 +#: common/models.py:835 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:767 +#: common/models.py:836 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:773 +#: common/models.py:842 msgid "IPN Regex" msgstr "" -#: common/models.py:774 +#: common/models.py:843 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:778 +#: common/models.py:847 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:779 +#: common/models.py:848 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:785 +#: common/models.py:854 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:786 +#: common/models.py:855 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:792 +#: common/models.py:861 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:793 +#: common/models.py:862 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:799 +#: common/models.py:868 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:800 +#: common/models.py:869 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:806 +#: common/models.py:875 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:807 +#: common/models.py:876 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:813 +#: common/models.py:882 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:814 +#: common/models.py:883 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:820 part/models.py:2360 report/models.py:157 +#: common/models.py:889 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:821 +#: common/models.py:890 msgid "Parts are templates by default" msgstr "" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 +#: common/models.py:896 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" msgstr "" -#: common/models.py:828 +#: common/models.py:897 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:834 part/models.py:890 +#: common/models.py:903 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:835 +#: common/models.py:904 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:841 part/models.py:901 +#: common/models.py:910 part/models.py:901 msgid "Purchaseable" msgstr "" -#: common/models.py:842 +#: common/models.py:911 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:848 part/models.py:906 +#: common/models.py:917 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:849 +#: common/models.py:918 msgid "Parts are salable by default" msgstr "" -#: common/models.py:855 part/models.py:896 +#: common/models.py:924 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:856 +#: common/models.py:925 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:862 part/models.py:916 +#: common/models.py:931 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:863 +#: common/models.py:932 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:869 +#: common/models.py:938 msgid "Show Import in Views" msgstr "" -#: common/models.py:870 +#: common/models.py:939 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:876 +#: common/models.py:945 msgid "Show Price in Forms" msgstr "" -#: common/models.py:877 +#: common/models.py:946 msgid "Display part price in some forms" msgstr "" -#: common/models.py:888 +#: common/models.py:957 msgid "Show Price in BOM" msgstr "" -#: common/models.py:889 +#: common/models.py:958 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:900 +#: common/models.py:969 msgid "Show Price History" msgstr "" -#: common/models.py:901 +#: common/models.py:970 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:907 +#: common/models.py:976 msgid "Show related parts" msgstr "" -#: common/models.py:908 +#: common/models.py:977 msgid "Display related parts for a part" msgstr "" -#: common/models.py:914 +#: common/models.py:983 msgid "Create initial stock" msgstr "" -#: common/models.py:915 +#: common/models.py:984 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:921 +#: common/models.py:990 msgid "Internal Prices" msgstr "" -#: common/models.py:922 +#: common/models.py:991 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:928 +#: common/models.py:997 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:929 +#: common/models.py:998 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:935 +#: common/models.py:1004 msgid "Part Name Display Format" msgstr "" -#: common/models.py:936 +#: common/models.py:1005 msgid "Format to display the part name" msgstr "" -#: common/models.py:943 +#: common/models.py:1012 msgid "Enable Reports" msgstr "" -#: common/models.py:944 +#: common/models.py:1013 msgid "Enable generation of reports" msgstr "" -#: common/models.py:950 templates/stats.html:25 +#: common/models.py:1019 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:951 +#: common/models.py:1020 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:957 +#: common/models.py:1026 msgid "Page Size" msgstr "" -#: common/models.py:958 +#: common/models.py:1027 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:968 +#: common/models.py:1037 msgid "Enable Test Reports" msgstr "" -#: common/models.py:969 +#: common/models.py:1038 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:975 +#: common/models.py:1044 msgid "Attach Test Reports" msgstr "" -#: common/models.py:976 +#: common/models.py:1045 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:982 +#: common/models.py:1051 msgid "Batch Code Template" msgstr "" -#: common/models.py:983 +#: common/models.py:1052 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:988 +#: common/models.py:1057 msgid "Stock Expiry" msgstr "" -#: common/models.py:989 +#: common/models.py:1058 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:995 +#: common/models.py:1064 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:996 +#: common/models.py:1065 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1002 +#: common/models.py:1071 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1003 +#: common/models.py:1072 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1005 +#: common/models.py:1074 msgid "days" msgstr "" -#: common/models.py:1010 +#: common/models.py:1079 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1011 +#: common/models.py:1080 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1017 +#: common/models.py:1086 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1018 +#: common/models.py:1087 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1024 +#: common/models.py:1093 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1025 +#: common/models.py:1094 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1030 +#: common/models.py:1099 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1031 +#: common/models.py:1100 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1035 +#: common/models.py:1104 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1036 +#: common/models.py:1105 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1041 +#: common/models.py:1110 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1042 +#: common/models.py:1111 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1048 +#: common/models.py:1117 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1049 +#: common/models.py:1118 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1055 +#: common/models.py:1124 msgid "Enable password forgot" msgstr "" -#: common/models.py:1056 +#: common/models.py:1125 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1131 msgid "Enable registration" msgstr "" -#: common/models.py:1063 +#: common/models.py:1132 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1069 +#: common/models.py:1138 msgid "Enable SSO" msgstr "" -#: common/models.py:1070 +#: common/models.py:1139 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1076 +#: common/models.py:1145 msgid "Email required" msgstr "" -#: common/models.py:1077 +#: common/models.py:1146 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1083 +#: common/models.py:1152 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1084 +#: common/models.py:1153 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1090 +#: common/models.py:1159 msgid "Mail twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1160 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1097 +#: common/models.py:1166 msgid "Password twice" msgstr "" -#: common/models.py:1098 +#: common/models.py:1167 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1104 +#: common/models.py:1173 msgid "Group on signup" msgstr "" -#: common/models.py:1105 +#: common/models.py:1174 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1111 +#: common/models.py:1180 msgid "Enforce MFA" msgstr "" -#: common/models.py:1112 +#: common/models.py:1181 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1118 +#: common/models.py:1187 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1119 +#: common/models.py:1188 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1127 +#: common/models.py:1196 msgid "Enable URL integration" msgstr "" -#: common/models.py:1128 +#: common/models.py:1197 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1135 +#: common/models.py:1204 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1136 +#: common/models.py:1205 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1143 +#: common/models.py:1212 msgid "Enable app integration" msgstr "" -#: common/models.py:1144 +#: common/models.py:1213 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1151 +#: common/models.py:1220 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1152 +#: common/models.py:1221 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1159 +#: common/models.py:1228 msgid "Enable event integration" msgstr "" -#: common/models.py:1160 +#: common/models.py:1229 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1177 common/models.py:1499 +#: common/models.py:1246 common/models.py:1568 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1199 +#: common/models.py:1268 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1200 +#: common/models.py:1269 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1275 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1207 +#: common/models.py:1276 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1213 +#: common/models.py:1282 msgid "Show latest parts" msgstr "" -#: common/models.py:1214 +#: common/models.py:1283 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1220 +#: common/models.py:1289 msgid "Recent Part Count" msgstr "" -#: common/models.py:1221 +#: common/models.py:1290 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1227 +#: common/models.py:1296 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1228 +#: common/models.py:1297 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1303 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1235 +#: common/models.py:1304 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1241 +#: common/models.py:1310 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1242 +#: common/models.py:1311 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1248 +#: common/models.py:1317 msgid "Show low stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1318 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1324 msgid "Show depleted stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1325 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1331 msgid "Show needed stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1332 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1338 msgid "Show expired stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1339 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1345 msgid "Show stale stock" msgstr "" -#: common/models.py:1277 +#: common/models.py:1346 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1352 msgid "Show pending builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1353 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1359 msgid "Show overdue builds" msgstr "" -#: common/models.py:1291 +#: common/models.py:1360 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1366 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1367 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1373 msgid "Show overdue POs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1374 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1380 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1381 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1387 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1319 +#: common/models.py:1388 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1324 +#: common/models.py:1393 msgid "Enable label printing" msgstr "" -#: common/models.py:1325 +#: common/models.py:1394 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1331 +#: common/models.py:1400 msgid "Inline label display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1401 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1407 msgid "Inline report display" msgstr "" -#: common/models.py:1339 +#: common/models.py:1408 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1345 +#: common/models.py:1414 msgid "Search Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1415 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1421 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1422 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1428 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1429 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1435 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1367 +#: common/models.py:1436 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1442 msgid "Search Categories" msgstr "" -#: common/models.py:1374 +#: common/models.py:1443 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1449 msgid "Search Stock" msgstr "" -#: common/models.py:1381 +#: common/models.py:1450 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1456 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1388 +#: common/models.py:1457 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1463 msgid "Search Locations" msgstr "" -#: common/models.py:1395 +#: common/models.py:1464 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1470 msgid "Search Companies" msgstr "" -#: common/models.py:1402 +#: common/models.py:1471 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1477 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1478 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1484 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1485 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1491 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1492 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1498 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1430 +#: common/models.py:1499 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1505 msgid "Search Preview Results" msgstr "" -#: common/models.py:1437 +#: common/models.py:1506 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1512 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1513 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1519 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1451 +#: common/models.py:1520 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1457 +#: common/models.py:1526 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1458 +#: common/models.py:1527 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1464 +#: common/models.py:1533 msgid "Date Format" msgstr "" -#: common/models.py:1465 +#: common/models.py:1534 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1479 part/templates/part/detail.html:39 +#: common/models.py:1548 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1480 +#: common/models.py:1549 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1544 company/forms.py:37 +#: common/models.py:1608 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1551 company/serializers.py:319 +#: common/models.py:1615 company/serializers.py:319 #: company/templates/company/supplier_part.html:284 order/models.py:951 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:2095 msgid "Price" msgstr "" -#: common/models.py:1552 +#: common/models.py:1616 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1712 common/models.py:1890 +#: common/models.py:1776 common/models.py:1954 msgid "Endpoint" msgstr "" -#: common/models.py:1713 +#: common/models.py:1777 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1722 +#: common/models.py:1786 msgid "Name for this webhook" msgstr "" -#: common/models.py:1727 part/models.py:911 plugin/models.py:99 +#: common/models.py:1791 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,67 +2458,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1728 +#: common/models.py:1792 msgid "Is this webhook active" msgstr "" -#: common/models.py:1742 +#: common/models.py:1806 msgid "Token" msgstr "" -#: common/models.py:1743 +#: common/models.py:1807 msgid "Token for access" msgstr "" -#: common/models.py:1750 +#: common/models.py:1814 msgid "Secret" msgstr "" -#: common/models.py:1751 +#: common/models.py:1815 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1857 +#: common/models.py:1921 msgid "Message ID" msgstr "" -#: common/models.py:1858 +#: common/models.py:1922 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1866 +#: common/models.py:1930 msgid "Host" msgstr "" -#: common/models.py:1867 +#: common/models.py:1931 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1874 +#: common/models.py:1938 msgid "Header" msgstr "" -#: common/models.py:1875 +#: common/models.py:1939 msgid "Header of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1945 msgid "Body" msgstr "" -#: common/models.py:1882 +#: common/models.py:1946 msgid "Body of this message" msgstr "" -#: common/models.py:1891 +#: common/models.py:1955 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1896 +#: common/models.py:1960 msgid "Worked on" msgstr "" -#: common/models.py:1897 +#: common/models.py:1961 msgid "Was the work on this message finished?" msgstr "" @@ -2657,7 +2657,7 @@ msgstr "" #: company/models.py:145 company/serializers.py:325 #: company/templates/company/company_base.html:106 part/serializers.py:139 -#: part/serializers.py:170 stock/serializers.py:162 +#: part/serializers.py:170 stock/serializers.py:163 msgid "Currency" msgstr "" @@ -2793,7 +2793,7 @@ msgstr "" #: company/models.py:519 company/templates/company/supplier_part.html:146 #: 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 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:388 msgid "Note" msgstr "" @@ -2807,7 +2807,7 @@ msgstr "" #: company/models.py:525 company/templates/company/supplier_part.html:139 #: stock/models.py:608 stock/templates/stock/item_base.html:245 -#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1974 +#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1975 msgid "Packaging" msgstr "" @@ -2902,11 +2902,11 @@ msgstr "" #: company/templates/company/company_base.html:86 order/models.py:651 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:745 +#: stock/models.py:628 stock/serializers.py:785 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:381 templates/js/translated/order.js:2458 -#: templates/js/translated/stock.js:2493 +#: templates/js/translated/stock.js:2494 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "" @@ -3079,7 +3079,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 -#: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:33 +#: templates/js/translated/forms.js:442 templates/js/translated/helpers.js:33 #: users/models.py:219 msgid "Delete" msgstr "" @@ -3127,7 +3127,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:894 templates/js/translated/order.js:884 -#: templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:1932 msgid "Supplier Part" msgstr "" @@ -3235,7 +3235,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:43 #: templates/js/translated/bom.js:554 templates/js/translated/part.js:747 #: templates/js/translated/part.js:1295 templates/js/translated/part.js:1456 -#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1749 +#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1750 #: templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3262,7 +3262,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:2369 users/models.py:39 +#: templates/js/translated/stock.js:2370 users/models.py:39 msgid "Stock Items" msgstr "" @@ -3536,8 +3536,8 @@ msgstr "" #: 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:968 templates/js/translated/stock.js:1908 -#: templates/js/translated/stock.js:2474 +#: templates/js/translated/part.js:968 templates/js/translated/stock.js:1909 +#: templates/js/translated/stock.js:2475 msgid "Purchase Order" msgstr "" @@ -3557,8 +3557,8 @@ msgid "Number of items received" msgstr "" #: order/models.py:1030 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:1962 +#: stock/serializers.py:154 stock/templates/stock/item_base.html:191 +#: templates/js/translated/stock.js:1963 msgid "Purchase Price" msgstr "" @@ -4121,19 +4121,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1011 +#: part/api.py:1058 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1015 +#: part/api.py:1062 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1030 +#: part/api.py:1077 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 +#: part/api.py:1108 part/api.py:1112 part/api.py:1127 part/api.py:1131 msgid "This field is required" msgstr "" @@ -4268,7 +4268,7 @@ msgstr "" #: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:735 templates/js/translated/part.js:1391 -#: templates/js/translated/stock.js:1721 +#: templates/js/translated/stock.js:1722 msgid "IPN" msgstr "" @@ -4611,7 +4611,7 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:164 msgid "Purchase currency of this stock item" msgstr "" @@ -5752,7 +5752,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2402 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2403 msgid "Date" msgstr "" @@ -5771,19 +5771,19 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: templates/js/translated/stock.js:606 templates/js/translated/stock.js:776 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2652 msgid "Serial" msgstr "" -#: stock/api.py:505 +#: stock/api.py:511 msgid "Quantity is required" msgstr "" -#: stock/api.py:512 +#: stock/api.py:518 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:537 +#: stock/api.py:543 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5891,7 +5891,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1879 msgid "Expiry Date" msgstr "" @@ -5969,7 +5969,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1347 stock/serializers.py:895 +#: stock/models.py:1347 stock/serializers.py:935 msgid "Duplicate stock items" msgstr "" @@ -6021,120 +6021,128 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:156 +#: stock/serializers.py:157 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:280 +#: stock/serializers.py:281 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:293 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:299 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 +#: stock/serializers.py:310 stock/serializers.py:892 stock/serializers.py:1125 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:316 +#: stock/serializers.py:317 msgid "Optional note field" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:327 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:344 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:383 +#: stock/serializers.py:384 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:397 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:404 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:440 +#: stock/serializers.py:441 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:445 stock/serializers.py:487 +#: stock/serializers.py:446 stock/serializers.py:527 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:482 +#: stock/serializers.py:480 +msgid "Select part to convert stock item into" +msgstr "" + +#: stock/serializers.py:491 +msgid "Selected part is not a valid option for conversion" +msgstr "" + +#: stock/serializers.py:522 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:707 +#: stock/serializers.py:747 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:711 +#: stock/serializers.py:751 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:755 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:786 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:752 +#: stock/serializers.py:792 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:760 +#: stock/serializers.py:800 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:770 stock/serializers.py:1001 +#: stock/serializers.py:810 stock/serializers.py:1041 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:859 +#: stock/serializers.py:899 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:864 +#: stock/serializers.py:904 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:865 +#: stock/serializers.py:905 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:870 +#: stock/serializers.py:910 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:871 +#: stock/serializers.py:911 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:881 +#: stock/serializers.py:921 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:963 +#: stock/serializers.py:1003 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:1031 msgid "Stock transaction notes" msgstr "" @@ -6171,7 +6179,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2795 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2796 msgid "Install Stock Item" msgstr "" @@ -6179,7 +6187,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1517 +#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1518 msgid "Add Test Result" msgstr "" @@ -6366,7 +6374,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1894 +#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1895 msgid "Last Updated" msgstr "" @@ -6382,7 +6390,23 @@ msgstr "" msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:642 +#: stock/templates/stock/item_base.html:594 +msgid "Select one of the part variants listed below." +msgstr "" + +#: stock/templates/stock/item_base.html:597 +msgid "Warning" +msgstr "" + +#: stock/templates/stock/item_base.html:598 +msgid "This action cannot be easily undone" +msgstr "" + +#: stock/templates/stock/item_base.html:606 +msgid "Convert Stock Item" +msgstr "" + +#: stock/templates/stock/item_base.html:664 msgid "Return to Stock" msgstr "" @@ -6466,32 +6490,11 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:143 -msgid "Convert Stock Item" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:8 -#, python-format -msgid "This stock item is current an instance of %(part)s" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:9 -msgid "It can be converted to one of the part variants listed below." -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:13 -msgid "Warning" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:14 -msgid "This action cannot be easily undone" -msgstr "" - -#: stock/views.py:110 +#: stock/views.py:109 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:126 +#: stock/views.py:125 msgid "Stock Item QR Code" msgstr "" @@ -7303,7 +7306,7 @@ 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 +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:633 msgid "Confirm" msgstr "" @@ -8175,8 +8178,8 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2447 templates/js/translated/part.js:1383 -#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1681 -#: templates/js/translated/stock.js:2339 +#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:2340 msgid "Select" msgstr "" @@ -8188,7 +8191,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2581 +#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2582 msgid "No user information" msgstr "" @@ -8342,61 +8345,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:353 templates/js/translated/forms.js:368 -#: templates/js/translated/forms.js:382 templates/js/translated/forms.js:396 +#: templates/js/translated/forms.js:356 templates/js/translated/forms.js:371 +#: templates/js/translated/forms.js:385 templates/js/translated/forms.js:399 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:355 +#: templates/js/translated/forms.js:358 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:370 +#: templates/js/translated/forms.js:373 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:384 +#: templates/js/translated/forms.js:387 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:398 +#: templates/js/translated/forms.js:401 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:656 +#: templates/js/translated/forms.js:659 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:757 +#: templates/js/translated/forms.js:760 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1249 templates/modals.html:19 +#: templates/js/translated/forms.js:1252 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1682 +#: templates/js/translated/forms.js:1685 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1897 templates/search.html:29 +#: templates/js/translated/forms.js:1900 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2150 +#: templates/js/translated/forms.js:2153 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2628 +#: templates/js/translated/forms.js:2631 msgid "Select Columns" msgstr "" @@ -8727,7 +8730,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2142 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2143 msgid "Stock Status" msgstr "" @@ -8921,7 +8924,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1597 +#: templates/js/translated/stock.js:1598 msgid "Shipped to customer" msgstr "" @@ -9187,7 +9190,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:1573 templates/js/translated/part.js:1785 -#: templates/js/translated/stock.js:2300 +#: templates/js/translated/stock.js:2301 msgid "Display as list" msgstr "" @@ -9211,7 +9214,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2319 +#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2320 msgid "Display as tree" msgstr "" @@ -9219,7 +9222,7 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2363 +#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2364 msgid "Path" msgstr "" @@ -9232,7 +9235,7 @@ msgid "Edit test result" msgstr "" #: templates/js/translated/part.js:1978 templates/js/translated/stock.js:1296 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1556 msgid "Delete test result" msgstr "" @@ -9565,180 +9568,180 @@ msgstr "" msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1374 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1538 +#: templates/js/translated/stock.js:1539 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/stock.js:1561 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1590 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1593 +#: templates/js/translated/stock.js:1594 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1601 +#: templates/js/translated/stock.js:1602 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1607 +#: templates/js/translated/stock.js:1608 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1775 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:1780 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1782 +#: templates/js/translated/stock.js:1783 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1785 +#: templates/js/translated/stock.js:1786 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1787 +#: templates/js/translated/stock.js:1788 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1790 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1793 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1797 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1799 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1806 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1807 +#: templates/js/translated/stock.js:1808 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1809 +#: templates/js/translated/stock.js:1810 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1813 +#: templates/js/translated/stock.js:1814 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1865 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1946 +#: templates/js/translated/stock.js:1947 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1984 +#: templates/js/translated/stock.js:1985 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2157 +#: templates/js/translated/stock.js:2158 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2171 +#: templates/js/translated/stock.js:2172 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2173 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2443 +#: templates/js/translated/stock.js:2444 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2465 +#: templates/js/translated/stock.js:2466 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2484 +#: templates/js/translated/stock.js:2485 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2504 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2521 +#: templates/js/translated/stock.js:2522 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2545 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2552 +#: templates/js/translated/stock.js:2553 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2629 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2679 templates/js/translated/stock.js:2715 +#: templates/js/translated/stock.js:2680 templates/js/translated/stock.js:2716 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2729 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2749 +#: templates/js/translated/stock.js:2750 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2751 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2753 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/stock.js:2754 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2755 +#: templates/js/translated/stock.js:2756 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2768 +#: templates/js/translated/stock.js:2769 msgid "Select part to install" msgstr "" @@ -9990,61 +9993,61 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:525 +#: templates/js/translated/tables.js:534 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:528 +#: templates/js/translated/tables.js:537 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:533 +#: templates/js/translated/tables.js:542 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "to" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "of" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:539 templates/navbar.html:102 +#: templates/js/translated/tables.js:548 templates/navbar.html:102 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" msgstr "" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:551 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:554 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:548 +#: templates/js/translated/tables.js:557 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:551 +#: templates/js/translated/tables.js:560 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:563 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:566 msgid "All" msgstr "" diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po index 58c1c14a01..dca02fca5d 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-08 11:50+0000\n" +"POT-Creation-Date: 2022-06-12 06:07+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -30,39 +30,31 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/forms.py:117 -msgid "Confirm delete" -msgstr "" - -#: InvenTree/forms.py:118 -msgid "Confirm item deletion" -msgstr "" - -#: InvenTree/forms.py:150 +#: InvenTree/forms.py:132 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:151 +#: InvenTree/forms.py:133 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:158 +#: InvenTree/forms.py:140 msgid "Confirm password" msgstr "" -#: InvenTree/forms.py:159 +#: InvenTree/forms.py:141 msgid "Confirm new password" msgstr "" -#: InvenTree/forms.py:184 +#: InvenTree/forms.py:166 msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:188 +#: InvenTree/forms.py:170 msgid "Email address confirmation" msgstr "" -#: InvenTree/forms.py:209 +#: InvenTree/forms.py:191 msgid "You must type the same email each time." msgstr "" @@ -132,7 +124,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:642 #: templates/js/translated/company.js:933 templates/js/translated/order.js:2676 -#: templates/js/translated/part.js:1485 +#: templates/js/translated/part.js:1510 msgid "Link" msgstr "" @@ -150,12 +142,12 @@ msgstr "" msgid "File comment" msgstr "" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1575 +#: common/models.py:1576 common/models.py:1799 common/models.py:1800 +#: common/models.py:2062 common/models.py:2063 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:2523 +#: templates/js/translated/stock.js:2575 msgid "User" msgstr "" @@ -192,7 +184,7 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1785 #: company/models.py:355 label/models.py:101 part/models.py:739 #: part/models.py:2319 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -203,8 +195,8 @@ msgstr "" #: templates/js/translated/company.js:532 #: templates/js/translated/company.js:744 #: templates/js/translated/notification.js:73 -#: templates/js/translated/part.js:659 templates/js/translated/part.js:811 -#: templates/js/translated/part.js:1832 templates/js/translated/stock.js:2293 +#: templates/js/translated/part.js:684 templates/js/translated/part.js:836 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2345 msgid "Name" msgstr "" @@ -224,10 +216,10 @@ msgstr "" #: templates/js/translated/company.js:653 #: templates/js/translated/company.js:944 templates/js/translated/order.js:1656 #: templates/js/translated/order.js:1888 templates/js/translated/order.js:2476 -#: 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 +#: templates/js/translated/part.js:743 templates/js/translated/part.js:1151 +#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1876 +#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1738 +#: templates/js/translated/stock.js:2357 templates/js/translated/stock.js:2412 msgid "Description" msgstr "" @@ -301,99 +293,99 @@ msgstr "" msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/settings.py:667 +#: InvenTree/settings.py:689 msgid "Czech" msgstr "" -#: InvenTree/settings.py:668 +#: InvenTree/settings.py:690 msgid "German" msgstr "" -#: InvenTree/settings.py:669 +#: InvenTree/settings.py:691 msgid "Greek" msgstr "" -#: InvenTree/settings.py:670 +#: InvenTree/settings.py:692 msgid "English" msgstr "" -#: InvenTree/settings.py:671 +#: InvenTree/settings.py:693 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:694 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:695 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:696 msgid "French" msgstr "" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:697 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:698 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:699 msgid "Italian" msgstr "" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:700 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:701 msgid "Korean" msgstr "" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:702 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:703 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:704 msgid "Polish" msgstr "" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:705 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:706 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:707 msgid "Russian" msgstr "" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:708 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:709 msgid "Thai" msgstr "" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:710 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:711 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:712 msgid "Chinese" msgstr "" @@ -524,7 +516,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2030 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2082 msgid "Merged stock items" msgstr "" @@ -596,27 +588,19 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:521 -msgid "Delete Item" -msgstr "" - -#: InvenTree/views.py:570 -msgid "Check box to confirm item deletion" -msgstr "" - -#: InvenTree/views.py:585 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:516 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:597 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:528 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "" -#: InvenTree/views.py:617 +#: InvenTree/views.py:548 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:807 templates/navbar.html:152 +#: InvenTree/views.py:738 templates/navbar.html:152 msgid "System Information" msgstr "" @@ -686,7 +670,7 @@ msgstr "" #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:479 #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 @@ -702,11 +686,11 @@ 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: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 +#: templates/js/translated/part.js:1136 templates/js/translated/part.js:1206 +#: templates/js/translated/part.js:1402 templates/js/translated/stock.js:582 +#: templates/js/translated/stock.js:747 templates/js/translated/stock.js:954 +#: templates/js/translated/stock.js:1695 templates/js/translated/stock.js:2438 +#: templates/js/translated/stock.js:2633 templates/js/translated/stock.js:2767 msgid "Part" msgstr "" @@ -832,14 +816,14 @@ msgstr "" #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 #: 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:759 stock/serializers.py:858 stock/serializers.py:990 +#: stock/serializers.py:316 stock/serializers.py:445 stock/serializers.py:526 +#: stock/serializers.py:799 stock/serializers.py:898 stock/serializers.py:1030 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1038 #: templates/js/translated/company.js:949 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:1317 templates/js/translated/stock.js:1926 +#: templates/js/translated/stock.js:1369 templates/js/translated/stock.js:1978 msgid "Notes" msgstr "" @@ -895,8 +879,8 @@ msgid "Build to allocate parts" msgstr "" #: 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 +#: order/serializers.py:1017 stock/serializers.py:383 stock/serializers.py:730 +#: stock/serializers.py:856 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 @@ -904,8 +888,8 @@ 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:531 templates/js/translated/stock.js:696 -#: templates/js/translated/stock.js:2459 +#: templates/js/translated/stock.js:583 templates/js/translated/stock.js:748 +#: templates/js/translated/stock.js:2511 msgid "Stock Item" msgstr "" @@ -915,7 +899,7 @@ msgstr "" #: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1543 +#: build/templates/build/detail.html:34 common/models.py:1607 #: company/forms.py:36 company/templates/company/supplier_part.html:279 #: order/models.py:911 order/models.py:1414 order/serializers.py:1136 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 @@ -928,7 +912,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:280 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:691 #: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 @@ -941,11 +925,11 @@ 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: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 +#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2090 +#: templates/js/translated/part.js:2321 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2433 templates/js/translated/stock.js:454 +#: templates/js/translated/stock.js:608 templates/js/translated/stock.js:778 +#: templates/js/translated/stock.js:2560 templates/js/translated/stock.js:2645 msgid "Quantity" msgstr "" @@ -989,7 +973,7 @@ msgstr "" #: build/serializers.py:198 build/serializers.py:623 order/models.py:354 #: 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 +#: stock/serializers.py:289 msgid "Quantity must be greater than zero" msgstr "" @@ -1002,8 +986,8 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: 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:237 templates/js/translated/stock.js:403 +#: stock/serializers.py:298 templates/js/translated/order.js:1186 +#: templates/js/translated/stock.js:267 templates/js/translated/stock.js:455 msgid "Serial Numbers" msgstr "" @@ -1019,7 +1003,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:553 +#: build/serializers.py:268 stock/api.py:559 msgid "The following serial numbers already exist" msgstr "" @@ -1028,17 +1012,17 @@ msgid "A list of build outputs must be provided" 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:851 stock/serializers.py:1084 +#: stock/serializers.py:309 stock/serializers.py:440 stock/serializers.py:521 +#: stock/serializers.py:891 stock/serializers.py:1124 #: 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:1684 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: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 +#: templates/js/translated/part.js:181 templates/js/translated/stock.js:584 +#: templates/js/translated/stock.js:749 templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:1849 templates/js/translated/stock.js:2452 msgid "Location" msgstr "" @@ -1051,8 +1035,8 @@ msgstr "" #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2509 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 -#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1772 -#: templates/js/translated/stock.js:2477 templates/js/translated/stock.js:2609 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1824 +#: templates/js/translated/stock.js:2529 templates/js/translated/stock.js:2661 msgid "Status" msgstr "" @@ -1129,7 +1113,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:703 +#: build/serializers.py:609 stock/serializers.py:743 msgid "Item must be in stock" msgstr "" @@ -1263,7 +1247,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:126 #: templates/js/translated/build.js:2549 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:1015 +#: templates/js/translated/order.js:3517 templates/js/translated/part.js:1040 msgid "Target Date" msgstr "" @@ -1350,8 +1334,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:970 templates/js/translated/stock.js:1786 -#: templates/js/translated/stock.js:2616 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:1838 +#: templates/js/translated/stock.js:2668 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1562,912 +1546,912 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:365 +#: common/models.py:434 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:367 +#: common/models.py:436 msgid "Settings value" msgstr "" -#: common/models.py:408 +#: common/models.py:477 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:425 +#: common/models.py:494 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:436 +#: common/models.py:505 msgid "Value must be an integer value" msgstr "" -#: common/models.py:481 +#: common/models.py:550 msgid "Key string must be unique" msgstr "" -#: common/models.py:665 +#: common/models.py:734 msgid "No group" msgstr "" -#: common/models.py:704 +#: common/models.py:773 msgid "Restart required" msgstr "" -#: common/models.py:705 +#: common/models.py:774 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:712 +#: common/models.py:781 msgid "Server Instance Name" msgstr "" -#: common/models.py:714 +#: common/models.py:783 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:718 +#: common/models.py:787 msgid "Use instance name" msgstr "" -#: common/models.py:719 +#: common/models.py:788 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:725 +#: common/models.py:794 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:726 +#: common/models.py:795 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:732 company/models.py:93 company/models.py:94 +#: common/models.py:801 company/models.py:93 company/models.py:94 msgid "Company name" msgstr "" -#: common/models.py:733 +#: common/models.py:802 msgid "Internal company name" msgstr "" -#: common/models.py:738 +#: common/models.py:807 msgid "Base URL" msgstr "" -#: common/models.py:739 +#: common/models.py:808 msgid "Base URL for server instance" msgstr "" -#: common/models.py:745 +#: common/models.py:814 msgid "Default Currency" msgstr "" -#: common/models.py:746 +#: common/models.py:815 msgid "Default currency" msgstr "" -#: common/models.py:752 +#: common/models.py:821 msgid "Download from URL" msgstr "" -#: common/models.py:753 +#: common/models.py:822 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:828 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:760 +#: common/models.py:829 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:766 +#: common/models.py:835 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:767 +#: common/models.py:836 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:773 +#: common/models.py:842 msgid "IPN Regex" msgstr "" -#: common/models.py:774 +#: common/models.py:843 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:778 +#: common/models.py:847 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:779 +#: common/models.py:848 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:785 +#: common/models.py:854 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:786 +#: common/models.py:855 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:792 +#: common/models.py:861 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:793 +#: common/models.py:862 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:799 +#: common/models.py:868 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:800 +#: common/models.py:869 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:806 +#: common/models.py:875 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:807 +#: common/models.py:876 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:813 +#: common/models.py:882 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:814 +#: common/models.py:883 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:820 part/models.py:2360 report/models.py:157 +#: common/models.py:889 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:821 +#: common/models.py:890 msgid "Parts are templates by default" msgstr "" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 +#: common/models.py:896 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" msgstr "" -#: common/models.py:828 +#: common/models.py:897 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:834 part/models.py:890 +#: common/models.py:903 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:835 +#: common/models.py:904 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:841 part/models.py:901 +#: common/models.py:910 part/models.py:901 msgid "Purchaseable" msgstr "" -#: common/models.py:842 +#: common/models.py:911 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:848 part/models.py:906 +#: common/models.py:917 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:849 +#: common/models.py:918 msgid "Parts are salable by default" msgstr "" -#: common/models.py:855 part/models.py:896 +#: common/models.py:924 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:856 +#: common/models.py:925 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:862 part/models.py:916 +#: common/models.py:931 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:863 +#: common/models.py:932 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:869 +#: common/models.py:938 msgid "Show Import in Views" msgstr "" -#: common/models.py:870 +#: common/models.py:939 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:876 +#: common/models.py:945 msgid "Show Price in Forms" msgstr "" -#: common/models.py:877 +#: common/models.py:946 msgid "Display part price in some forms" msgstr "" -#: common/models.py:888 +#: common/models.py:957 msgid "Show Price in BOM" msgstr "" -#: common/models.py:889 +#: common/models.py:958 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:900 +#: common/models.py:969 msgid "Show Price History" msgstr "" -#: common/models.py:901 +#: common/models.py:970 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:907 +#: common/models.py:976 msgid "Show related parts" msgstr "" -#: common/models.py:908 +#: common/models.py:977 msgid "Display related parts for a part" msgstr "" -#: common/models.py:914 +#: common/models.py:983 msgid "Create initial stock" msgstr "" -#: common/models.py:915 +#: common/models.py:984 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:921 +#: common/models.py:990 msgid "Internal Prices" msgstr "" -#: common/models.py:922 +#: common/models.py:991 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:928 +#: common/models.py:997 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:929 +#: common/models.py:998 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:935 +#: common/models.py:1004 msgid "Part Name Display Format" msgstr "" -#: common/models.py:936 +#: common/models.py:1005 msgid "Format to display the part name" msgstr "" -#: common/models.py:943 +#: common/models.py:1012 msgid "Enable Reports" msgstr "" -#: common/models.py:944 +#: common/models.py:1013 msgid "Enable generation of reports" msgstr "" -#: common/models.py:950 templates/stats.html:25 +#: common/models.py:1019 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:951 +#: common/models.py:1020 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:957 +#: common/models.py:1026 msgid "Page Size" msgstr "" -#: common/models.py:958 +#: common/models.py:1027 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:968 +#: common/models.py:1037 msgid "Enable Test Reports" msgstr "" -#: common/models.py:969 +#: common/models.py:1038 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:975 +#: common/models.py:1044 msgid "Attach Test Reports" msgstr "" -#: common/models.py:976 +#: common/models.py:1045 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:982 +#: common/models.py:1051 msgid "Batch Code Template" msgstr "" -#: common/models.py:983 +#: common/models.py:1052 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:988 +#: common/models.py:1057 msgid "Stock Expiry" msgstr "" -#: common/models.py:989 +#: common/models.py:1058 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:995 +#: common/models.py:1064 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:996 +#: common/models.py:1065 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1002 +#: common/models.py:1071 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1003 +#: common/models.py:1072 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1005 +#: common/models.py:1074 msgid "days" msgstr "" -#: common/models.py:1010 +#: common/models.py:1079 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1011 +#: common/models.py:1080 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1017 +#: common/models.py:1086 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1018 +#: common/models.py:1087 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1024 +#: common/models.py:1093 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1025 +#: common/models.py:1094 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1030 +#: common/models.py:1099 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1031 +#: common/models.py:1100 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1035 +#: common/models.py:1104 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1036 +#: common/models.py:1105 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1041 +#: common/models.py:1110 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1042 +#: common/models.py:1111 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1048 +#: common/models.py:1117 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1049 +#: common/models.py:1118 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1055 +#: common/models.py:1124 msgid "Enable password forgot" msgstr "" -#: common/models.py:1056 +#: common/models.py:1125 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1131 msgid "Enable registration" msgstr "" -#: common/models.py:1063 +#: common/models.py:1132 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1069 +#: common/models.py:1138 msgid "Enable SSO" msgstr "" -#: common/models.py:1070 +#: common/models.py:1139 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1076 +#: common/models.py:1145 msgid "Email required" msgstr "" -#: common/models.py:1077 +#: common/models.py:1146 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1083 +#: common/models.py:1152 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1084 +#: common/models.py:1153 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1090 +#: common/models.py:1159 msgid "Mail twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1160 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1097 +#: common/models.py:1166 msgid "Password twice" msgstr "" -#: common/models.py:1098 +#: common/models.py:1167 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1104 +#: common/models.py:1173 msgid "Group on signup" msgstr "" -#: common/models.py:1105 +#: common/models.py:1174 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1111 +#: common/models.py:1180 msgid "Enforce MFA" msgstr "" -#: common/models.py:1112 +#: common/models.py:1181 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1118 +#: common/models.py:1187 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1119 +#: common/models.py:1188 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1127 +#: common/models.py:1196 msgid "Enable URL integration" msgstr "" -#: common/models.py:1128 +#: common/models.py:1197 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1135 +#: common/models.py:1204 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1136 +#: common/models.py:1205 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1143 +#: common/models.py:1212 msgid "Enable app integration" msgstr "" -#: common/models.py:1144 +#: common/models.py:1213 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1151 +#: common/models.py:1220 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1152 +#: common/models.py:1221 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1159 +#: common/models.py:1228 msgid "Enable event integration" msgstr "" -#: common/models.py:1160 +#: common/models.py:1229 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1177 common/models.py:1499 +#: common/models.py:1246 common/models.py:1568 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1199 +#: common/models.py:1268 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1200 +#: common/models.py:1269 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1275 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1207 +#: common/models.py:1276 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1213 +#: common/models.py:1282 msgid "Show latest parts" msgstr "" -#: common/models.py:1214 +#: common/models.py:1283 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1220 +#: common/models.py:1289 msgid "Recent Part Count" msgstr "" -#: common/models.py:1221 +#: common/models.py:1290 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1227 +#: common/models.py:1296 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1228 +#: common/models.py:1297 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1303 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1235 +#: common/models.py:1304 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1241 +#: common/models.py:1310 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1242 +#: common/models.py:1311 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1248 +#: common/models.py:1317 msgid "Show low stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1318 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1324 msgid "Show depleted stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1325 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1331 msgid "Show needed stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1332 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1338 msgid "Show expired stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1339 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1345 msgid "Show stale stock" msgstr "" -#: common/models.py:1277 +#: common/models.py:1346 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1352 msgid "Show pending builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1353 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1359 msgid "Show overdue builds" msgstr "" -#: common/models.py:1291 +#: common/models.py:1360 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1366 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1367 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1373 msgid "Show overdue POs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1374 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1380 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1381 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1387 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1319 +#: common/models.py:1388 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1324 +#: common/models.py:1393 msgid "Enable label printing" msgstr "" -#: common/models.py:1325 +#: common/models.py:1394 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1331 +#: common/models.py:1400 msgid "Inline label display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1401 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1407 msgid "Inline report display" msgstr "" -#: common/models.py:1339 +#: common/models.py:1408 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1345 +#: common/models.py:1414 msgid "Search Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1415 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1421 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1422 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1428 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1429 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1435 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1367 +#: common/models.py:1436 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1442 msgid "Search Categories" msgstr "" -#: common/models.py:1374 +#: common/models.py:1443 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1449 msgid "Search Stock" msgstr "" -#: common/models.py:1381 +#: common/models.py:1450 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1456 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1388 +#: common/models.py:1457 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1463 msgid "Search Locations" msgstr "" -#: common/models.py:1395 +#: common/models.py:1464 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1470 msgid "Search Companies" msgstr "" -#: common/models.py:1402 +#: common/models.py:1471 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1477 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1478 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1484 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1485 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1491 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1492 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1498 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1430 +#: common/models.py:1499 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1505 msgid "Search Preview Results" msgstr "" -#: common/models.py:1437 +#: common/models.py:1506 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1512 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1513 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1519 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1451 +#: common/models.py:1520 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1457 +#: common/models.py:1526 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1458 +#: common/models.py:1527 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1464 +#: common/models.py:1533 msgid "Date Format" msgstr "" -#: common/models.py:1465 +#: common/models.py:1534 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1479 part/templates/part/detail.html:39 +#: common/models.py:1548 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1480 +#: common/models.py:1549 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1544 company/forms.py:37 +#: common/models.py:1608 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1551 company/serializers.py:319 +#: common/models.py:1615 company/serializers.py:319 #: company/templates/company/supplier_part.html:284 order/models.py:951 -#: templates/js/translated/part.js:1042 templates/js/translated/part.js:2070 +#: templates/js/translated/part.js:1067 templates/js/translated/part.js:2095 msgid "Price" msgstr "" -#: common/models.py:1552 +#: common/models.py:1616 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1712 common/models.py:1890 +#: common/models.py:1776 common/models.py:1954 msgid "Endpoint" msgstr "" -#: common/models.py:1713 +#: common/models.py:1777 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1722 +#: common/models.py:1786 msgid "Name for this webhook" msgstr "" -#: common/models.py:1727 part/models.py:911 plugin/models.py:99 +#: common/models.py:1791 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 @@ -2475,67 +2459,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1728 +#: common/models.py:1792 msgid "Is this webhook active" msgstr "" -#: common/models.py:1742 +#: common/models.py:1806 msgid "Token" msgstr "" -#: common/models.py:1743 +#: common/models.py:1807 msgid "Token for access" msgstr "" -#: common/models.py:1750 +#: common/models.py:1814 msgid "Secret" msgstr "" -#: common/models.py:1751 +#: common/models.py:1815 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1857 +#: common/models.py:1921 msgid "Message ID" msgstr "" -#: common/models.py:1858 +#: common/models.py:1922 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1866 +#: common/models.py:1930 msgid "Host" msgstr "" -#: common/models.py:1867 +#: common/models.py:1931 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1874 +#: common/models.py:1938 msgid "Header" msgstr "" -#: common/models.py:1875 +#: common/models.py:1939 msgid "Header of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1945 msgid "Body" msgstr "" -#: common/models.py:1882 +#: common/models.py:1946 msgid "Body of this message" msgstr "" -#: common/models.py:1891 +#: common/models.py:1955 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1896 +#: common/models.py:1960 msgid "Worked on" msgstr "" -#: common/models.py:1897 +#: common/models.py:1961 msgid "Was the work on this message finished?" msgstr "" @@ -2674,7 +2658,7 @@ msgstr "" #: company/models.py:145 company/serializers.py:325 #: company/templates/company/company_base.html:106 part/serializers.py:139 -#: part/serializers.py:170 stock/serializers.py:162 +#: part/serializers.py:170 stock/serializers.py:163 msgid "Currency" msgstr "" @@ -2698,12 +2682,12 @@ msgstr "" #: templates/js/translated/company.js:385 #: templates/js/translated/company.js:486 #: templates/js/translated/company.js:619 -#: templates/js/translated/company.js:904 templates/js/translated/part.js:235 +#: templates/js/translated/company.js:904 templates/js/translated/part.js:236 #: templates/js/translated/table_filters.js:411 msgid "Manufacturer" msgstr "" -#: company/models.py:261 templates/js/translated/part.js:236 +#: company/models.py:261 templates/js/translated/part.js:237 msgid "Select manufacturer" msgstr "" @@ -2713,11 +2697,11 @@ msgstr "" #: templates/js/translated/company.js:485 #: templates/js/translated/company.js:635 #: templates/js/translated/company.js:922 templates/js/translated/order.js:1907 -#: templates/js/translated/part.js:246 templates/js/translated/part.js:1000 +#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025 msgid "MPN" msgstr "" -#: company/models.py:268 templates/js/translated/part.js:247 +#: company/models.py:268 templates/js/translated/part.js:248 msgid "Manufacturer Part Number" msgstr "" @@ -2743,8 +2727,8 @@ msgstr "" #: company/models.py:362 #: report/templates/report/inventree_test_report_base.html:95 #: stock/models.py:2084 templates/js/translated/company.js:533 -#: templates/js/translated/company.js:750 templates/js/translated/part.js:820 -#: templates/js/translated/stock.js:1304 +#: templates/js/translated/company.js:750 templates/js/translated/part.js:845 +#: templates/js/translated/stock.js:1356 msgid "Value" msgstr "" @@ -2755,7 +2739,7 @@ msgstr "" #: company/models.py:369 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:756 templates/js/translated/part.js:826 +#: templates/js/translated/company.js:756 templates/js/translated/part.js:851 msgid "Units" msgstr "" @@ -2775,23 +2759,23 @@ msgstr "" #: templates/js/translated/company.js:257 #: templates/js/translated/company.js:389 #: templates/js/translated/company.js:878 templates/js/translated/order.js:1643 -#: templates/js/translated/part.js:216 templates/js/translated/part.js:968 +#: templates/js/translated/part.js:217 templates/js/translated/part.js:993 #: templates/js/translated/table_filters.js:415 msgid "Supplier" msgstr "" -#: company/models.py:489 templates/js/translated/part.js:217 +#: company/models.py:489 templates/js/translated/part.js:218 msgid "Select supplier" msgstr "" #: company/models.py:494 company/templates/company/supplier_part.html:118 #: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:256 -#: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 -#: templates/js/translated/part.js:986 +#: templates/js/translated/order.js:1894 templates/js/translated/part.js:228 +#: templates/js/translated/part.js:1011 msgid "SKU" msgstr "" -#: company/models.py:495 templates/js/translated/part.js:228 +#: company/models.py:495 templates/js/translated/part.js:229 msgid "Supplier stock keeping unit" msgstr "" @@ -2810,7 +2794,7 @@ msgstr "" #: company/models.py:519 company/templates/company/supplier_part.html:146 #: 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 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:388 msgid "Note" msgstr "" @@ -2824,7 +2808,7 @@ msgstr "" #: company/models.py:525 company/templates/company/supplier_part.html:139 #: stock/models.py:608 stock/templates/stock/item_base.html:245 -#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1922 +#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1974 msgid "Packaging" msgstr "" @@ -2845,7 +2829,7 @@ msgstr "" #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:884 templates/js/translated/build.js:1786 #: templates/js/translated/build.js:2649 templates/js/translated/company.js:959 -#: templates/js/translated/part.js:571 templates/js/translated/part.js:574 +#: templates/js/translated/part.js:596 templates/js/translated/part.js:599 #: templates/js/translated/table_filters.js:178 msgid "Available" msgstr "" @@ -2919,11 +2903,11 @@ msgstr "" #: company/templates/company/company_base.html:86 order/models.py:651 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:745 +#: stock/models.py:628 stock/serializers.py:785 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:381 templates/js/translated/order.js:2458 -#: templates/js/translated/stock.js:2441 +#: templates/js/translated/stock.js:2493 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "" @@ -3144,7 +3128,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:894 templates/js/translated/order.js:884 -#: templates/js/translated/stock.js:1879 +#: templates/js/translated/stock.js:1931 msgid "Supplier Part" msgstr "" @@ -3194,7 +3178,7 @@ msgstr "" #: company/templates/company/supplier_part.html:169 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 -#: templates/js/translated/stock.js:379 +#: templates/js/translated/stock.js:431 msgid "New Stock Item" msgstr "" @@ -3210,7 +3194,7 @@ msgstr "" #: company/templates/company/supplier_part.html:212 #: company/templates/company/supplier_part.html:326 -#: part/templates/part/prices.html:276 templates/js/translated/part.js:2142 +#: part/templates/part/prices.html:276 templates/js/translated/part.js:2167 msgid "Add Price Break" msgstr "" @@ -3219,12 +3203,12 @@ msgid "No price break information found" msgstr "" #: company/templates/company/supplier_part.html:252 -#: templates/js/translated/part.js:2152 +#: templates/js/translated/part.js:2177 msgid "Delete Price Break" msgstr "" #: company/templates/company/supplier_part.html:266 -#: templates/js/translated/part.js:2166 +#: templates/js/translated/part.js:2191 msgid "Edit Price Break" msgstr "" @@ -3250,9 +3234,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: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/js/translated/bom.js:554 templates/js/translated/part.js:747 +#: templates/js/translated/part.js:1295 templates/js/translated/part.js:1456 +#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1749 #: templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3279,7 +3263,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:2317 users/models.py:39 +#: templates/js/translated/stock.js:2369 users/models.py:39 msgid "Stock Items" msgstr "" @@ -3553,8 +3537,8 @@ msgstr "" #: 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:943 templates/js/translated/stock.js:1856 -#: templates/js/translated/stock.js:2422 +#: templates/js/translated/part.js:968 templates/js/translated/stock.js:1908 +#: templates/js/translated/stock.js:2474 msgid "Purchase Order" msgstr "" @@ -3564,7 +3548,7 @@ msgstr "" #: order/models.py:1022 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1318 templates/js/translated/order.js:2009 -#: templates/js/translated/part.js:1037 templates/js/translated/part.js:1064 +#: templates/js/translated/part.js:1062 templates/js/translated/part.js:1089 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" @@ -3574,8 +3558,8 @@ msgid "Number of items received" msgstr "" #: order/models.py:1030 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:1910 +#: stock/serializers.py:154 stock/templates/stock/item_base.html:191 +#: templates/js/translated/stock.js:1962 msgid "Purchase Price" msgstr "" @@ -3959,8 +3943,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:1971 #: templates/js/translated/order.js:833 templates/js/translated/order.js:1265 -#: templates/js/translated/order.js:2731 templates/js/translated/stock.js:569 -#: templates/js/translated/stock.js:737 +#: templates/js/translated/order.js:2731 templates/js/translated/stock.js:621 +#: templates/js/translated/stock.js:789 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4138,19 +4122,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1011 +#: part/api.py:1058 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1015 +#: part/api.py:1062 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1030 +#: part/api.py:1077 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 +#: part/api.py:1108 part/api.py:1112 part/api.py:1127 part/api.py:1131 msgid "This field is required" msgstr "" @@ -4169,9 +4153,9 @@ msgid "Available Stock" msgstr "" #: part/bom.py:130 part/templates/part/part_base.html:207 -#: 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 +#: templates/js/translated/part.js:586 templates/js/translated/part.js:606 +#: templates/js/translated/part.js:1298 templates/js/translated/part.js:1470 +#: templates/js/translated/part.js:1486 msgid "On Order" msgstr "" @@ -4208,7 +4192,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:1864 templates/js/translated/search.js:144 +#: templates/js/translated/part.js:1889 templates/js/translated/search.js:144 #: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "" @@ -4275,7 +4259,7 @@ msgstr "" #: part/templates/part/part_base.html:257 #: templates/InvenTree/settings/settings.html:231 #: templates/js/translated/notification.js:52 -#: templates/js/translated/part.js:1413 templates/js/translated/part.js:1639 +#: templates/js/translated/part.js:1438 templates/js/translated/part.js:1664 msgid "Category" msgstr "" @@ -4284,8 +4268,8 @@ msgid "Part category" msgstr "" #: part/models.py:782 part/templates/part/part_base.html:266 -#: templates/js/translated/part.js:710 templates/js/translated/part.js:1366 -#: templates/js/translated/stock.js:1669 +#: templates/js/translated/part.js:735 templates/js/translated/part.js:1391 +#: templates/js/translated/stock.js:1721 msgid "IPN" msgstr "" @@ -4298,7 +4282,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:714 +#: report/models.py:170 templates/js/translated/part.js:739 msgid "Revision" msgstr "" @@ -4398,8 +4382,8 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2243 templates/js/translated/part.js:1915 -#: templates/js/translated/stock.js:1284 +#: part/models.py:2243 templates/js/translated/part.js:1940 +#: templates/js/translated/stock.js:1336 msgid "Test Name" msgstr "" @@ -4415,7 +4399,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:2255 templates/js/translated/part.js:1924 +#: part/models.py:2255 templates/js/translated/part.js:1949 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" @@ -4424,7 +4408,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2261 templates/js/translated/part.js:1932 +#: part/models.py:2261 templates/js/translated/part.js:1957 msgid "Requires Value" msgstr "" @@ -4432,7 +4416,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2267 templates/js/translated/part.js:1939 +#: part/models.py:2267 templates/js/translated/part.js:1964 msgid "Requires Attachment" msgstr "" @@ -4628,7 +4612,7 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:164 msgid "Purchase currency of this stock item" msgstr "" @@ -4838,43 +4822,11 @@ msgstr "" msgid "Part created successfully" msgstr "" -#: part/templates/part/category_delete.html:7 -msgid "Are you sure you want to delete this part category?" -msgstr "" - -#: part/templates/part/category_delete.html:12 -#, python-format -msgid "This category contains %(n)s child categories" -msgstr "" - -#: part/templates/part/category_delete.html:14 -#, python-format -msgid "If this category is deleted, these child categories will be moved to %(category)s" -msgstr "" - -#: part/templates/part/category_delete.html:16 -msgid "If this category is deleted, these child categories will be moved to the top level part category" -msgstr "" - -#: part/templates/part/category_delete.html:23 -#, python-format -msgid "This category contains %(n)s parts" -msgstr "" - -#: part/templates/part/category_delete.html:25 -#, python-format -msgid "If this category is deleted, these parts will be moved to %(category)s" -msgstr "" - -#: part/templates/part/category_delete.html:27 -msgid "If this category is deleted, these parts will be moved to the top level part category" -msgstr "" - #: part/templates/part/category_sidebar.html:13 msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:350 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:375 msgid "Duplicate Part" msgstr "" @@ -4962,7 +4914,7 @@ msgstr "" msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:267 templates/js/translated/part.js:273 +#: part/templates/part/detail.html:267 templates/js/translated/part.js:274 msgid "Copy BOM" msgstr "" @@ -5179,7 +5131,7 @@ msgstr "" #: templates/js/translated/company.js:610 #: templates/js/translated/company.js:869 #: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/part.js:625 templates/js/translated/part.js:702 +#: templates/js/translated/part.js:650 templates/js/translated/part.js:727 msgid "Inactive" msgstr "" @@ -5212,9 +5164,9 @@ msgstr "" msgid "Can Build" msgstr "" -#: 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 +#: part/templates/part/part_base.html:238 templates/js/translated/part.js:589 +#: templates/js/translated/part.js:609 templates/js/translated/part.js:1302 +#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1490 msgid "Building" msgstr "" @@ -5387,8 +5339,8 @@ msgstr "" msgid "No sale pice history available for this part." msgstr "" -#: 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 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:612 +#: templates/js/translated/part.js:1290 templates/js/translated/part.js:1494 msgid "No Stock" msgstr "" @@ -5479,14 +5431,6 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: part/views.py:884 -msgid "Delete Part Category" -msgstr "" - -#: part/views.py:891 -msgid "Part category was deleted" -msgstr "" - #: plugin/apps.py:56 msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" @@ -5788,7 +5732,7 @@ msgstr "" #: templates/js/translated/build.js:1173 templates/js/translated/build.js:1670 #: 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:434 +#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:486 msgid "Serial Number" msgstr "" @@ -5809,7 +5753,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2350 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2402 msgid "Date" msgstr "" @@ -5827,20 +5771,20 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724 -#: templates/js/translated/stock.js:2599 +#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:776 +#: templates/js/translated/stock.js:2651 msgid "Serial" msgstr "" -#: stock/api.py:505 +#: stock/api.py:511 msgid "Quantity is required" msgstr "" -#: stock/api.py:512 +#: stock/api.py:518 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:537 +#: stock/api.py:543 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5948,7 +5892,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1826 +#: templates/js/translated/stock.js:1878 msgid "Expiry Date" msgstr "" @@ -6026,7 +5970,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1347 stock/serializers.py:895 +#: stock/models.py:1347 stock/serializers.py:935 msgid "Duplicate stock items" msgstr "" @@ -6078,120 +6022,128 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:156 +#: stock/serializers.py:157 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:280 +#: stock/serializers.py:281 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:293 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:299 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 +#: stock/serializers.py:310 stock/serializers.py:892 stock/serializers.py:1125 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:316 +#: stock/serializers.py:317 msgid "Optional note field" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:327 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:344 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:383 +#: stock/serializers.py:384 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:397 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:404 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:440 +#: stock/serializers.py:441 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:445 stock/serializers.py:487 +#: stock/serializers.py:446 stock/serializers.py:527 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:482 +#: stock/serializers.py:480 +msgid "Select part to convert stock item into" +msgstr "" + +#: stock/serializers.py:491 +msgid "Selected part is not a valid option for conversion" +msgstr "" + +#: stock/serializers.py:522 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:707 +#: stock/serializers.py:747 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:711 +#: stock/serializers.py:751 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:755 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:786 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:752 +#: stock/serializers.py:792 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:760 +#: stock/serializers.py:800 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:770 stock/serializers.py:1001 +#: stock/serializers.py:810 stock/serializers.py:1041 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:859 +#: stock/serializers.py:899 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:864 +#: stock/serializers.py:904 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:865 +#: stock/serializers.py:905 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:870 +#: stock/serializers.py:910 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:871 +#: stock/serializers.py:911 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:881 +#: stock/serializers.py:921 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:963 +#: stock/serializers.py:1003 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:1031 msgid "Stock transaction notes" msgstr "" @@ -6228,7 +6180,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2743 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2795 msgid "Install Stock Item" msgstr "" @@ -6236,7 +6188,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1465 +#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1517 msgid "Add Test Result" msgstr "" @@ -6423,7 +6375,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1842 +#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1894 msgid "Last Updated" msgstr "" @@ -6439,19 +6391,26 @@ msgstr "" msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:646 +#: stock/templates/stock/item_base.html:594 +msgid "Select one of the part variants listed below." +msgstr "" + +#: stock/templates/stock/item_base.html:597 +msgid "Warning" +msgstr "" + +#: stock/templates/stock/item_base.html:598 +msgid "This action cannot be easily undone" +msgstr "" + +#: stock/templates/stock/item_base.html:606 +msgid "Convert Stock Item" +msgstr "" + +#: stock/templates/stock/item_base.html:664 msgid "Return to Stock" msgstr "" -#: stock/templates/stock/item_delete.html:9 -msgid "Are you sure you want to delete this stock item?" -msgstr "" - -#: stock/templates/stock/item_delete.html:12 -#, python-format -msgid "This will remove %(qty)s units of %(full_name)s from stock." -msgstr "" - #: stock/templates/stock/item_serialize.html:5 msgid "Create serialized items from this stock item." msgstr "" @@ -6516,38 +6475,6 @@ msgstr "" msgid "Stock Locations" msgstr "" -#: stock/templates/stock/location_delete.html:8 -msgid "Are you sure you want to delete this stock location?" -msgstr "" - -#: stock/templates/stock/location_delete.html:13 -#, python-format -msgid "This location contains %(n)s child locations" -msgstr "" - -#: stock/templates/stock/location_delete.html:15 -#, python-format -msgid "If this location is deleted, these child locations will be moved to %(location)s" -msgstr "" - -#: stock/templates/stock/location_delete.html:17 -msgid "If this location is deleted, these child locations will be moved to the top level stock location" -msgstr "" - -#: stock/templates/stock/location_delete.html:25 -#, python-format -msgid "This location contains %(n)s stock items" -msgstr "" - -#: stock/templates/stock/location_delete.html:27 -#, python-format -msgid "If this location is deleted, these stock items will be moved to %(location)s" -msgstr "" - -#: stock/templates/stock/location_delete.html:29 -msgid "If this location is deleted, these stock items will be moved to the top level stock location" -msgstr "" - #: stock/templates/stock/stock_app_base.html:16 msgid "Loading..." msgstr "" @@ -6564,43 +6491,14 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:144 -msgid "Convert Stock Item" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:8 -#, python-format -msgid "This stock item is current an instance of %(part)s" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:9 -msgid "It can be converted to one of the part variants listed below." -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:13 -msgid "Warning" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:14 -msgid "This action cannot be easily undone" -msgstr "" - -#: stock/views.py:111 +#: stock/views.py:109 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:127 +#: stock/views.py:125 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:178 -msgid "Delete Stock Location" -msgstr "" - -#: stock/views.py:191 -msgid "Delete Stock Item" -msgstr "" - #: templates/403.html:6 templates/403.html:12 msgid "Permission Denied" msgstr "" @@ -7806,7 +7704,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:998 +#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:1050 msgid "Remove stock item" msgstr "" @@ -7971,7 +7869,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:906 templates/js/translated/build.js:1819 -#: templates/js/translated/part.js:734 +#: templates/js/translated/part.js:759 msgid "Includes variant stock" msgstr "" @@ -8063,13 +7961,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:259 templates/js/translated/stock.js:90 -#: templates/js/translated/stock.js:180 +#: templates/js/translated/build.js:259 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:210 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:261 templates/js/translated/stock.js:92 -#: templates/js/translated/stock.js:182 +#: templates/js/translated/build.js:261 templates/js/translated/stock.js:94 +#: templates/js/translated/stock.js:212 msgid "Latest serial number" msgstr "" @@ -8282,9 +8180,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2447 templates/js/translated/part.js:1358 -#: templates/js/translated/part.js:1825 templates/js/translated/stock.js:1629 -#: templates/js/translated/stock.js:2287 +#: templates/js/translated/build.js:2447 templates/js/translated/part.js:1383 +#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1681 +#: templates/js/translated/stock.js:2339 msgid "Select" msgstr "" @@ -8296,7 +8194,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2529 +#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2581 msgid "No user information" msgstr "" @@ -8373,34 +8271,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:602 -#: templates/js/translated/company.js:861 templates/js/translated/part.js:609 -#: templates/js/translated/part.js:694 +#: templates/js/translated/company.js:861 templates/js/translated/part.js:634 +#: templates/js/translated/part.js:719 msgid "Template part" msgstr "" #: templates/js/translated/company.js:606 -#: templates/js/translated/company.js:865 templates/js/translated/part.js:613 -#: templates/js/translated/part.js:698 +#: templates/js/translated/company.js:865 templates/js/translated/part.js:638 +#: templates/js/translated/part.js:723 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:734 templates/js/translated/part.js:801 +#: templates/js/translated/company.js:734 templates/js/translated/part.js:826 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:771 templates/js/translated/part.js:843 +#: templates/js/translated/company.js:771 templates/js/translated/part.js:868 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:772 templates/js/translated/part.js:844 +#: templates/js/translated/company.js:772 templates/js/translated/part.js:869 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:791 templates/js/translated/part.js:861 +#: templates/js/translated/company.js:791 templates/js/translated/part.js:886 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:802 templates/js/translated/part.js:873 +#: templates/js/translated/company.js:802 templates/js/translated/part.js:898 msgid "Delete Parameter" msgstr "" @@ -8525,7 +8423,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1022 +#: templates/js/translated/stock.js:1074 msgid "Select Stock Items" msgstr "" @@ -8835,7 +8733,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2090 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2142 msgid "Stock Status" msgstr "" @@ -8859,7 +8757,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1602 templates/js/translated/part.js:914 +#: templates/js/translated/order.js:1602 templates/js/translated/part.js:939 msgid "No purchase orders found" msgstr "" @@ -8894,7 +8792,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:2044 templates/js/translated/part.js:2397 +#: templates/js/translated/part.js:2069 templates/js/translated/part.js:2422 msgid "Unit Price" msgstr "" @@ -8904,11 +8802,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:1993 templates/js/translated/order.js:3525 -#: templates/js/translated/part.js:1023 +#: templates/js/translated/part.js:1048 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1069 +#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1094 msgid "Receive line item" msgstr "" @@ -9029,7 +8927,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1545 +#: templates/js/translated/stock.js:1597 msgid "Shipped to customer" msgstr "" @@ -9073,305 +8971,321 @@ msgstr "" msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:55 +#: templates/js/translated/part.js:56 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:59 +#: templates/js/translated/part.js:60 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:63 +#: templates/js/translated/part.js:64 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:67 +#: templates/js/translated/part.js:68 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:81 +#: templates/js/translated/part.js:82 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:165 +#: templates/js/translated/part.js:166 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:167 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:173 +#: templates/js/translated/part.js:174 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:175 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:181 +#: templates/js/translated/part.js:182 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:199 +#: templates/js/translated/part.js:200 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:201 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:208 +#: templates/js/translated/part.js:209 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:209 +#: templates/js/translated/part.js:210 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:265 +#: templates/js/translated/part.js:266 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:267 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:274 +#: templates/js/translated/part.js:275 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:281 +#: templates/js/translated/part.js:282 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:283 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:295 +#: templates/js/translated/part.js:296 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:317 +#: templates/js/translated/part.js:318 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:340 +#: templates/js/translated/part.js:331 +msgid "Are you sure you want to delete this part category?" +msgstr "" + +#: templates/js/translated/part.js:333 +msgid "Any child categories will be moved to the parent of this category" +msgstr "" + +#: templates/js/translated/part.js:334 +msgid "Any parts in this category will be moved to the parent of this category" +msgstr "" + +#: templates/js/translated/part.js:339 +msgid "Delete Part Category" +msgstr "" + +#: templates/js/translated/part.js:365 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:342 +#: templates/js/translated/part.js:367 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:378 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:405 +#: templates/js/translated/part.js:430 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:406 +#: templates/js/translated/part.js:431 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:420 +#: templates/js/translated/part.js:445 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:422 +#: templates/js/translated/part.js:447 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:423 +#: templates/js/translated/part.js:448 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:424 +#: templates/js/translated/part.js:449 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:456 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:467 +#: templates/js/translated/part.js:492 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:469 +#: templates/js/translated/part.js:494 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:474 +#: templates/js/translated/part.js:499 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:476 +#: templates/js/translated/part.js:501 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:493 +#: templates/js/translated/part.js:518 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:503 +#: templates/js/translated/part.js:528 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:506 +#: templates/js/translated/part.js:531 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:556 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:557 templates/js/translated/part.js:1441 +#: templates/js/translated/part.js:582 templates/js/translated/part.js:1466 #: templates/js/translated/table_filters.js:452 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:567 templates/js/translated/part.js:1453 +#: templates/js/translated/part.js:592 templates/js/translated/part.js:1478 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:601 templates/js/translated/part.js:686 +#: templates/js/translated/part.js:626 templates/js/translated/part.js:711 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:605 templates/js/translated/part.js:690 +#: templates/js/translated/part.js:630 templates/js/translated/part.js:715 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:617 +#: templates/js/translated/part.js:642 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:621 +#: templates/js/translated/part.js:646 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:774 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1139 +#: templates/js/translated/part.js:1164 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1163 +#: templates/js/translated/part.js:1188 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1228 templates/js/translated/part.js:1524 +#: templates/js/translated/part.js:1253 templates/js/translated/part.js:1549 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1267 +#: templates/js/translated/part.js:1292 msgid "Not available" msgstr "" -#: templates/js/translated/part.js:1418 +#: templates/js/translated/part.js:1443 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1548 templates/js/translated/part.js:1760 -#: templates/js/translated/stock.js:2248 +#: templates/js/translated/part.js:1573 templates/js/translated/part.js:1785 +#: templates/js/translated/stock.js:2300 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1564 +#: templates/js/translated/part.js:1589 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1630 +#: templates/js/translated/part.js:1655 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:1635 +#: templates/js/translated/part.js:1660 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:1640 +#: templates/js/translated/part.js:1665 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:1653 +#: templates/js/translated/part.js:1678 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1779 templates/js/translated/stock.js:2267 +#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2319 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1843 +#: templates/js/translated/part.js:1868 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2311 +#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2363 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1901 +#: templates/js/translated/part.js:1926 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1952 templates/js/translated/stock.js:1243 +#: templates/js/translated/part.js:1977 templates/js/translated/stock.js:1295 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1953 templates/js/translated/stock.js:1244 -#: templates/js/translated/stock.js:1503 +#: templates/js/translated/part.js:1978 templates/js/translated/stock.js:1296 +#: templates/js/translated/stock.js:1555 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1959 +#: templates/js/translated/part.js:1984 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1981 +#: templates/js/translated/part.js:2006 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1995 +#: templates/js/translated/part.js:2020 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2020 +#: templates/js/translated/part.js:2045 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:2077 +#: templates/js/translated/part.js:2102 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:2078 +#: templates/js/translated/part.js:2103 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:2192 +#: templates/js/translated/part.js:2217 msgid "Current Stock" msgstr "" -#: templates/js/translated/part.js:2225 +#: templates/js/translated/part.js:2250 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2251 +#: templates/js/translated/part.js:2276 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2321 +#: templates/js/translated/part.js:2346 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:2340 +#: templates/js/translated/part.js:2365 msgid "Single Price Difference" msgstr "" @@ -9453,360 +9367,384 @@ msgstr "" msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:72 +#: templates/js/translated/stock.js:74 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:100 +#: templates/js/translated/stock.js:102 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:109 +#: templates/js/translated/stock.js:111 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:138 +#: templates/js/translated/stock.js:140 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:153 +#: templates/js/translated/stock.js:155 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:193 +#: templates/js/translated/stock.js:169 +msgid "Are you sure you want to delete this stock location?" +msgstr "" + +#: templates/js/translated/stock.js:171 +msgid "Any child locations will be moved to the parent of this location" +msgstr "" + +#: templates/js/translated/stock.js:172 +msgid "Any stock items in this location will be moved to the parent of this location" +msgstr "" + +#: templates/js/translated/stock.js:178 +msgid "Delete Stock Location" +msgstr "" + +#: templates/js/translated/stock.js:223 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:232 +#: templates/js/translated/stock.js:262 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:238 +#: templates/js/translated/stock.js:268 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:303 +#: templates/js/translated/stock.js:333 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:323 +#: templates/js/translated/stock.js:353 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:343 +#: templates/js/translated/stock.js:369 +msgid "Are you sure you want to delete this stock item?" +msgstr "" + +#: templates/js/translated/stock.js:374 +msgid "Delete Stock Item" +msgstr "" + +#: templates/js/translated/stock.js:395 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:393 +#: templates/js/translated/stock.js:445 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:458 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:431 +#: templates/js/translated/stock.js:483 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436 +#: templates/js/translated/stock.js:487 templates/js/translated/stock.js:488 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:452 +#: templates/js/translated/stock.js:504 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:472 +#: templates/js/translated/stock.js:524 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:481 +#: templates/js/translated/stock.js:533 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:604 +#: templates/js/translated/stock.js:656 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:605 +#: templates/js/translated/stock.js:657 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:682 +#: templates/js/translated/stock.js:734 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:683 +#: templates/js/translated/stock.js:735 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:685 +#: templates/js/translated/stock.js:737 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:686 +#: templates/js/translated/stock.js:738 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:772 +#: templates/js/translated/stock.js:824 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:825 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:868 +#: templates/js/translated/stock.js:920 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:869 +#: templates/js/translated/stock.js:921 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:875 +#: templates/js/translated/stock.js:927 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:876 +#: templates/js/translated/stock.js:928 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:880 +#: templates/js/translated/stock.js:932 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:881 +#: templates/js/translated/stock.js:933 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:885 +#: templates/js/translated/stock.js:937 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:886 users/models.py:215 +#: templates/js/translated/stock.js:938 users/models.py:215 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:890 +#: templates/js/translated/stock.js:942 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:983 +#: templates/js/translated/stock.js:1035 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:983 +#: templates/js/translated/stock.js:1035 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1023 +#: templates/js/translated/stock.js:1075 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1046 +#: templates/js/translated/stock.js:1098 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1182 +#: templates/js/translated/stock.js:1234 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1184 +#: templates/js/translated/stock.js:1236 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1189 +#: templates/js/translated/stock.js:1241 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1236 +#: templates/js/translated/stock.js:1288 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1239 +#: templates/js/translated/stock.js:1291 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1265 +#: templates/js/translated/stock.js:1317 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1321 +#: templates/js/translated/stock.js:1373 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1486 +#: templates/js/translated/stock.js:1538 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1508 +#: templates/js/translated/stock.js:1560 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1537 +#: templates/js/translated/stock.js:1589 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1541 +#: templates/js/translated/stock.js:1593 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1549 +#: templates/js/translated/stock.js:1601 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1607 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1722 +#: templates/js/translated/stock.js:1774 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1727 +#: templates/js/translated/stock.js:1779 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1730 +#: templates/js/translated/stock.js:1782 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1733 +#: templates/js/translated/stock.js:1785 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1735 +#: templates/js/translated/stock.js:1787 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1737 +#: templates/js/translated/stock.js:1789 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1792 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1796 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1746 +#: templates/js/translated/stock.js:1798 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1753 +#: templates/js/translated/stock.js:1805 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1755 +#: templates/js/translated/stock.js:1807 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1757 +#: templates/js/translated/stock.js:1809 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1761 +#: templates/js/translated/stock.js:1813 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:1864 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1894 +#: templates/js/translated/stock.js:1946 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1932 +#: templates/js/translated/stock.js:1984 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2105 +#: templates/js/translated/stock.js:2157 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2171 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2172 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2375 +#: templates/js/translated/stock.js:2427 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2391 +#: templates/js/translated/stock.js:2443 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2413 +#: templates/js/translated/stock.js:2465 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2432 +#: templates/js/translated/stock.js:2484 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2451 +#: templates/js/translated/stock.js:2503 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2469 +#: templates/js/translated/stock.js:2521 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2492 +#: templates/js/translated/stock.js:2544 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2500 +#: templates/js/translated/stock.js:2552 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2576 +#: templates/js/translated/stock.js:2628 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2663 +#: templates/js/translated/stock.js:2679 templates/js/translated/stock.js:2715 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2676 +#: templates/js/translated/stock.js:2728 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2697 +#: templates/js/translated/stock.js:2749 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2698 +#: templates/js/translated/stock.js:2750 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2700 +#: templates/js/translated/stock.js:2752 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2701 +#: templates/js/translated/stock.js:2753 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2702 +#: templates/js/translated/stock.js:2754 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2703 +#: templates/js/translated/stock.js:2755 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2716 +#: templates/js/translated/stock.js:2768 msgid "Select part to install" msgstr "" diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po index de92f1a842..814c8603c0 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-11 13:14+0000\n" -"PO-Revision-Date: 2022-06-11 15:03\n" +"POT-Creation-Date: 2022-06-15 08:34+0000\n" +"PO-Revision-Date: 2022-06-15 16:23\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Language: es_ES\n" @@ -141,12 +141,12 @@ msgstr "" msgid "File comment" msgstr "" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1575 +#: common/models.py:1576 common/models.py:1799 common/models.py:1800 +#: common/models.py:2062 common/models.py:2063 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:2575 +#: templates/js/translated/stock.js:2576 msgid "User" msgstr "" @@ -183,7 +183,7 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1785 #: company/models.py:355 label/models.py:101 part/models.py:739 #: part/models.py:2319 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -195,7 +195,7 @@ msgstr "" #: templates/js/translated/company.js:744 #: templates/js/translated/notification.js:73 #: templates/js/translated/part.js:684 templates/js/translated/part.js:836 -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2345 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2346 msgid "Name" msgstr "" @@ -217,8 +217,8 @@ msgstr "" #: templates/js/translated/order.js:1888 templates/js/translated/order.js:2476 #: templates/js/translated/part.js:743 templates/js/translated/part.js:1151 #: templates/js/translated/part.js:1424 templates/js/translated/part.js:1876 -#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1738 -#: templates/js/translated/stock.js:2357 templates/js/translated/stock.js:2412 +#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1739 +#: templates/js/translated/stock.js:2358 templates/js/translated/stock.js:2413 msgid "Description" msgstr "" @@ -292,99 +292,99 @@ msgstr "" msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:689 msgid "Czech" msgstr "" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:690 msgid "German" msgstr "" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:691 msgid "Greek" msgstr "" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:692 msgid "English" msgstr "" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:693 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:694 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:695 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:696 msgid "French" msgstr "" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:697 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:698 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:699 msgid "Italian" msgstr "" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:700 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:701 msgid "Korean" msgstr "" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:702 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:703 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:704 msgid "Polish" msgstr "" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:705 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:706 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:707 msgid "Russian" msgstr "" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:708 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:709 msgid "Thai" msgstr "" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:710 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:711 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:712 msgid "Chinese" msgstr "" @@ -515,7 +515,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2082 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2083 msgid "Merged stock items" msgstr "" @@ -669,7 +669,7 @@ msgstr "" #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:479 #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 @@ -688,8 +688,8 @@ msgstr "" #: templates/js/translated/part.js:1136 templates/js/translated/part.js:1206 #: templates/js/translated/part.js:1402 templates/js/translated/stock.js:582 #: templates/js/translated/stock.js:747 templates/js/translated/stock.js:954 -#: templates/js/translated/stock.js:1695 templates/js/translated/stock.js:2438 -#: templates/js/translated/stock.js:2633 templates/js/translated/stock.js:2767 +#: templates/js/translated/stock.js:1696 templates/js/translated/stock.js:2439 +#: templates/js/translated/stock.js:2634 templates/js/translated/stock.js:2768 msgid "Part" msgstr "" @@ -815,14 +815,14 @@ msgstr "" #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 #: 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:759 stock/serializers.py:858 stock/serializers.py:990 +#: stock/serializers.py:316 stock/serializers.py:445 stock/serializers.py:526 +#: stock/serializers.py:799 stock/serializers.py:898 stock/serializers.py:1030 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1038 #: templates/js/translated/company.js:949 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:1369 templates/js/translated/stock.js:1978 +#: templates/js/translated/stock.js:1370 templates/js/translated/stock.js:1979 msgid "Notes" msgstr "" @@ -878,8 +878,8 @@ msgid "Build to allocate parts" msgstr "" #: 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 +#: order/serializers.py:1017 stock/serializers.py:383 stock/serializers.py:730 +#: stock/serializers.py:856 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 @@ -888,7 +888,7 @@ msgstr "" #: 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:583 templates/js/translated/stock.js:748 -#: templates/js/translated/stock.js:2511 +#: templates/js/translated/stock.js:2512 msgid "Stock Item" msgstr "" @@ -898,7 +898,7 @@ msgstr "" #: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1543 +#: build/templates/build/detail.html:34 common/models.py:1607 #: company/forms.py:36 company/templates/company/supplier_part.html:279 #: order/models.py:911 order/models.py:1414 order/serializers.py:1136 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 @@ -911,7 +911,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:280 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:691 #: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 @@ -928,7 +928,7 @@ msgstr "" #: templates/js/translated/part.js:2321 templates/js/translated/part.js:2355 #: templates/js/translated/part.js:2433 templates/js/translated/stock.js:454 #: templates/js/translated/stock.js:608 templates/js/translated/stock.js:778 -#: templates/js/translated/stock.js:2560 templates/js/translated/stock.js:2645 +#: templates/js/translated/stock.js:2561 templates/js/translated/stock.js:2646 msgid "Quantity" msgstr "" @@ -972,7 +972,7 @@ msgstr "" #: build/serializers.py:198 build/serializers.py:623 order/models.py:354 #: 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 +#: stock/serializers.py:289 msgid "Quantity must be greater than zero" msgstr "" @@ -985,7 +985,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 -#: stock/serializers.py:297 templates/js/translated/order.js:1186 +#: stock/serializers.py:298 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:267 templates/js/translated/stock.js:455 msgid "Serial Numbers" msgstr "" @@ -1002,7 +1002,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:553 +#: build/serializers.py:268 stock/api.py:559 msgid "The following serial numbers already exist" msgstr "" @@ -1011,8 +1011,8 @@ msgid "A list of build outputs must be provided" 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:851 stock/serializers.py:1084 +#: stock/serializers.py:309 stock/serializers.py:440 stock/serializers.py:521 +#: stock/serializers.py:891 stock/serializers.py:1124 #: 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 @@ -1021,7 +1021,7 @@ msgstr "" #: templates/js/translated/order.js:3247 templates/js/translated/order.js:3328 #: templates/js/translated/part.js:181 templates/js/translated/stock.js:584 #: templates/js/translated/stock.js:749 templates/js/translated/stock.js:956 -#: templates/js/translated/stock.js:1849 templates/js/translated/stock.js:2452 +#: templates/js/translated/stock.js:1850 templates/js/translated/stock.js:2453 msgid "Location" msgstr "" @@ -1034,8 +1034,8 @@ msgstr "" #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2509 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 -#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1824 -#: templates/js/translated/stock.js:2529 templates/js/translated/stock.js:2661 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1825 +#: templates/js/translated/stock.js:2530 templates/js/translated/stock.js:2662 msgid "Status" msgstr "" @@ -1112,7 +1112,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:703 +#: build/serializers.py:609 stock/serializers.py:743 msgid "Item must be in stock" msgstr "" @@ -1333,8 +1333,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:1022 templates/js/translated/stock.js:1838 -#: templates/js/translated/stock.js:2668 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:1839 +#: templates/js/translated/stock.js:2669 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1545,912 +1545,912 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:365 +#: common/models.py:434 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:367 +#: common/models.py:436 msgid "Settings value" msgstr "" -#: common/models.py:408 +#: common/models.py:477 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:425 +#: common/models.py:494 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:436 +#: common/models.py:505 msgid "Value must be an integer value" msgstr "" -#: common/models.py:481 +#: common/models.py:550 msgid "Key string must be unique" msgstr "" -#: common/models.py:665 +#: common/models.py:734 msgid "No group" msgstr "" -#: common/models.py:704 +#: common/models.py:773 msgid "Restart required" msgstr "" -#: common/models.py:705 +#: common/models.py:774 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:712 +#: common/models.py:781 msgid "Server Instance Name" msgstr "" -#: common/models.py:714 +#: common/models.py:783 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:718 +#: common/models.py:787 msgid "Use instance name" msgstr "" -#: common/models.py:719 +#: common/models.py:788 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:725 +#: common/models.py:794 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:726 +#: common/models.py:795 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:732 company/models.py:93 company/models.py:94 +#: common/models.py:801 company/models.py:93 company/models.py:94 msgid "Company name" msgstr "" -#: common/models.py:733 +#: common/models.py:802 msgid "Internal company name" msgstr "" -#: common/models.py:738 +#: common/models.py:807 msgid "Base URL" msgstr "" -#: common/models.py:739 +#: common/models.py:808 msgid "Base URL for server instance" msgstr "" -#: common/models.py:745 +#: common/models.py:814 msgid "Default Currency" msgstr "" -#: common/models.py:746 +#: common/models.py:815 msgid "Default currency" msgstr "" -#: common/models.py:752 +#: common/models.py:821 msgid "Download from URL" msgstr "" -#: common/models.py:753 +#: common/models.py:822 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:828 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:760 +#: common/models.py:829 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:766 +#: common/models.py:835 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:767 +#: common/models.py:836 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:773 +#: common/models.py:842 msgid "IPN Regex" msgstr "" -#: common/models.py:774 +#: common/models.py:843 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:778 +#: common/models.py:847 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:779 +#: common/models.py:848 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:785 +#: common/models.py:854 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:786 +#: common/models.py:855 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:792 +#: common/models.py:861 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:793 +#: common/models.py:862 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:799 +#: common/models.py:868 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:800 +#: common/models.py:869 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:806 +#: common/models.py:875 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:807 +#: common/models.py:876 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:813 +#: common/models.py:882 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:814 +#: common/models.py:883 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:820 part/models.py:2360 report/models.py:157 +#: common/models.py:889 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:821 +#: common/models.py:890 msgid "Parts are templates by default" msgstr "" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 +#: common/models.py:896 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" msgstr "" -#: common/models.py:828 +#: common/models.py:897 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:834 part/models.py:890 +#: common/models.py:903 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:835 +#: common/models.py:904 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:841 part/models.py:901 +#: common/models.py:910 part/models.py:901 msgid "Purchaseable" msgstr "" -#: common/models.py:842 +#: common/models.py:911 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:848 part/models.py:906 +#: common/models.py:917 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:849 +#: common/models.py:918 msgid "Parts are salable by default" msgstr "" -#: common/models.py:855 part/models.py:896 +#: common/models.py:924 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:856 +#: common/models.py:925 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:862 part/models.py:916 +#: common/models.py:931 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:863 +#: common/models.py:932 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:869 +#: common/models.py:938 msgid "Show Import in Views" msgstr "" -#: common/models.py:870 +#: common/models.py:939 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:876 +#: common/models.py:945 msgid "Show Price in Forms" msgstr "" -#: common/models.py:877 +#: common/models.py:946 msgid "Display part price in some forms" msgstr "" -#: common/models.py:888 +#: common/models.py:957 msgid "Show Price in BOM" msgstr "" -#: common/models.py:889 +#: common/models.py:958 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:900 +#: common/models.py:969 msgid "Show Price History" msgstr "" -#: common/models.py:901 +#: common/models.py:970 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:907 +#: common/models.py:976 msgid "Show related parts" msgstr "" -#: common/models.py:908 +#: common/models.py:977 msgid "Display related parts for a part" msgstr "" -#: common/models.py:914 +#: common/models.py:983 msgid "Create initial stock" msgstr "" -#: common/models.py:915 +#: common/models.py:984 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:921 +#: common/models.py:990 msgid "Internal Prices" msgstr "" -#: common/models.py:922 +#: common/models.py:991 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:928 +#: common/models.py:997 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:929 +#: common/models.py:998 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:935 +#: common/models.py:1004 msgid "Part Name Display Format" msgstr "" -#: common/models.py:936 +#: common/models.py:1005 msgid "Format to display the part name" msgstr "" -#: common/models.py:943 +#: common/models.py:1012 msgid "Enable Reports" msgstr "" -#: common/models.py:944 +#: common/models.py:1013 msgid "Enable generation of reports" msgstr "" -#: common/models.py:950 templates/stats.html:25 +#: common/models.py:1019 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:951 +#: common/models.py:1020 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:957 +#: common/models.py:1026 msgid "Page Size" msgstr "" -#: common/models.py:958 +#: common/models.py:1027 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:968 +#: common/models.py:1037 msgid "Enable Test Reports" msgstr "" -#: common/models.py:969 +#: common/models.py:1038 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:975 +#: common/models.py:1044 msgid "Attach Test Reports" msgstr "" -#: common/models.py:976 +#: common/models.py:1045 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:982 +#: common/models.py:1051 msgid "Batch Code Template" msgstr "" -#: common/models.py:983 +#: common/models.py:1052 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:988 +#: common/models.py:1057 msgid "Stock Expiry" msgstr "" -#: common/models.py:989 +#: common/models.py:1058 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:995 +#: common/models.py:1064 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:996 +#: common/models.py:1065 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1002 +#: common/models.py:1071 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1003 +#: common/models.py:1072 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1005 +#: common/models.py:1074 msgid "days" msgstr "" -#: common/models.py:1010 +#: common/models.py:1079 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1011 +#: common/models.py:1080 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1017 +#: common/models.py:1086 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1018 +#: common/models.py:1087 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1024 +#: common/models.py:1093 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1025 +#: common/models.py:1094 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1030 +#: common/models.py:1099 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1031 +#: common/models.py:1100 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1035 +#: common/models.py:1104 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1036 +#: common/models.py:1105 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1041 +#: common/models.py:1110 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1042 +#: common/models.py:1111 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1048 +#: common/models.py:1117 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1049 +#: common/models.py:1118 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1055 +#: common/models.py:1124 msgid "Enable password forgot" msgstr "" -#: common/models.py:1056 +#: common/models.py:1125 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1131 msgid "Enable registration" msgstr "" -#: common/models.py:1063 +#: common/models.py:1132 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1069 +#: common/models.py:1138 msgid "Enable SSO" msgstr "" -#: common/models.py:1070 +#: common/models.py:1139 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1076 +#: common/models.py:1145 msgid "Email required" msgstr "" -#: common/models.py:1077 +#: common/models.py:1146 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1083 +#: common/models.py:1152 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1084 +#: common/models.py:1153 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1090 +#: common/models.py:1159 msgid "Mail twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1160 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1097 +#: common/models.py:1166 msgid "Password twice" msgstr "" -#: common/models.py:1098 +#: common/models.py:1167 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1104 +#: common/models.py:1173 msgid "Group on signup" msgstr "" -#: common/models.py:1105 +#: common/models.py:1174 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1111 +#: common/models.py:1180 msgid "Enforce MFA" msgstr "" -#: common/models.py:1112 +#: common/models.py:1181 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1118 +#: common/models.py:1187 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1119 +#: common/models.py:1188 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1127 +#: common/models.py:1196 msgid "Enable URL integration" msgstr "" -#: common/models.py:1128 +#: common/models.py:1197 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1135 +#: common/models.py:1204 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1136 +#: common/models.py:1205 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1143 +#: common/models.py:1212 msgid "Enable app integration" msgstr "" -#: common/models.py:1144 +#: common/models.py:1213 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1151 +#: common/models.py:1220 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1152 +#: common/models.py:1221 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1159 +#: common/models.py:1228 msgid "Enable event integration" msgstr "" -#: common/models.py:1160 +#: common/models.py:1229 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1177 common/models.py:1499 +#: common/models.py:1246 common/models.py:1568 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1199 +#: common/models.py:1268 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1200 +#: common/models.py:1269 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1275 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1207 +#: common/models.py:1276 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1213 +#: common/models.py:1282 msgid "Show latest parts" msgstr "" -#: common/models.py:1214 +#: common/models.py:1283 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1220 +#: common/models.py:1289 msgid "Recent Part Count" msgstr "" -#: common/models.py:1221 +#: common/models.py:1290 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1227 +#: common/models.py:1296 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1228 +#: common/models.py:1297 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1303 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1235 +#: common/models.py:1304 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1241 +#: common/models.py:1310 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1242 +#: common/models.py:1311 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1248 +#: common/models.py:1317 msgid "Show low stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1318 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1324 msgid "Show depleted stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1325 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1331 msgid "Show needed stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1332 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1338 msgid "Show expired stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1339 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1345 msgid "Show stale stock" msgstr "" -#: common/models.py:1277 +#: common/models.py:1346 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1352 msgid "Show pending builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1353 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1359 msgid "Show overdue builds" msgstr "" -#: common/models.py:1291 +#: common/models.py:1360 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1366 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1367 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1373 msgid "Show overdue POs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1374 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1380 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1381 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1387 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1319 +#: common/models.py:1388 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1324 +#: common/models.py:1393 msgid "Enable label printing" msgstr "" -#: common/models.py:1325 +#: common/models.py:1394 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1331 +#: common/models.py:1400 msgid "Inline label display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1401 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1407 msgid "Inline report display" msgstr "" -#: common/models.py:1339 +#: common/models.py:1408 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1345 +#: common/models.py:1414 msgid "Search Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1415 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1421 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1422 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1428 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1429 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1435 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1367 +#: common/models.py:1436 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1442 msgid "Search Categories" msgstr "" -#: common/models.py:1374 +#: common/models.py:1443 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1449 msgid "Search Stock" msgstr "" -#: common/models.py:1381 +#: common/models.py:1450 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1456 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1388 +#: common/models.py:1457 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1463 msgid "Search Locations" msgstr "" -#: common/models.py:1395 +#: common/models.py:1464 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1470 msgid "Search Companies" msgstr "" -#: common/models.py:1402 +#: common/models.py:1471 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1477 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1478 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1484 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1485 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1491 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1492 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1498 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1430 +#: common/models.py:1499 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1505 msgid "Search Preview Results" msgstr "" -#: common/models.py:1437 +#: common/models.py:1506 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1512 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1513 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1519 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1451 +#: common/models.py:1520 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1457 +#: common/models.py:1526 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1458 +#: common/models.py:1527 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1464 +#: common/models.py:1533 msgid "Date Format" msgstr "" -#: common/models.py:1465 +#: common/models.py:1534 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1479 part/templates/part/detail.html:39 +#: common/models.py:1548 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1480 +#: common/models.py:1549 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1544 company/forms.py:37 +#: common/models.py:1608 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1551 company/serializers.py:319 +#: common/models.py:1615 company/serializers.py:319 #: company/templates/company/supplier_part.html:284 order/models.py:951 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:2095 msgid "Price" msgstr "" -#: common/models.py:1552 +#: common/models.py:1616 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1712 common/models.py:1890 +#: common/models.py:1776 common/models.py:1954 msgid "Endpoint" msgstr "" -#: common/models.py:1713 +#: common/models.py:1777 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1722 +#: common/models.py:1786 msgid "Name for this webhook" msgstr "" -#: common/models.py:1727 part/models.py:911 plugin/models.py:99 +#: common/models.py:1791 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,67 +2458,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1728 +#: common/models.py:1792 msgid "Is this webhook active" msgstr "" -#: common/models.py:1742 +#: common/models.py:1806 msgid "Token" msgstr "" -#: common/models.py:1743 +#: common/models.py:1807 msgid "Token for access" msgstr "" -#: common/models.py:1750 +#: common/models.py:1814 msgid "Secret" msgstr "" -#: common/models.py:1751 +#: common/models.py:1815 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1857 +#: common/models.py:1921 msgid "Message ID" msgstr "" -#: common/models.py:1858 +#: common/models.py:1922 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1866 +#: common/models.py:1930 msgid "Host" msgstr "" -#: common/models.py:1867 +#: common/models.py:1931 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1874 +#: common/models.py:1938 msgid "Header" msgstr "" -#: common/models.py:1875 +#: common/models.py:1939 msgid "Header of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1945 msgid "Body" msgstr "" -#: common/models.py:1882 +#: common/models.py:1946 msgid "Body of this message" msgstr "" -#: common/models.py:1891 +#: common/models.py:1955 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1896 +#: common/models.py:1960 msgid "Worked on" msgstr "" -#: common/models.py:1897 +#: common/models.py:1961 msgid "Was the work on this message finished?" msgstr "" @@ -2657,7 +2657,7 @@ msgstr "" #: company/models.py:145 company/serializers.py:325 #: company/templates/company/company_base.html:106 part/serializers.py:139 -#: part/serializers.py:170 stock/serializers.py:162 +#: part/serializers.py:170 stock/serializers.py:163 msgid "Currency" msgstr "" @@ -2793,7 +2793,7 @@ msgstr "" #: company/models.py:519 company/templates/company/supplier_part.html:146 #: 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 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:388 msgid "Note" msgstr "" @@ -2807,7 +2807,7 @@ msgstr "" #: company/models.py:525 company/templates/company/supplier_part.html:139 #: stock/models.py:608 stock/templates/stock/item_base.html:245 -#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1974 +#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1975 msgid "Packaging" msgstr "" @@ -2902,11 +2902,11 @@ msgstr "" #: company/templates/company/company_base.html:86 order/models.py:651 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:745 +#: stock/models.py:628 stock/serializers.py:785 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:381 templates/js/translated/order.js:2458 -#: templates/js/translated/stock.js:2493 +#: templates/js/translated/stock.js:2494 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "" @@ -3079,7 +3079,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 -#: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:33 +#: templates/js/translated/forms.js:442 templates/js/translated/helpers.js:33 #: users/models.py:219 msgid "Delete" msgstr "" @@ -3127,7 +3127,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:894 templates/js/translated/order.js:884 -#: templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:1932 msgid "Supplier Part" msgstr "" @@ -3235,7 +3235,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:43 #: templates/js/translated/bom.js:554 templates/js/translated/part.js:747 #: templates/js/translated/part.js:1295 templates/js/translated/part.js:1456 -#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1749 +#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1750 #: templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3262,7 +3262,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:2369 users/models.py:39 +#: templates/js/translated/stock.js:2370 users/models.py:39 msgid "Stock Items" msgstr "" @@ -3536,8 +3536,8 @@ msgstr "" #: 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:968 templates/js/translated/stock.js:1908 -#: templates/js/translated/stock.js:2474 +#: templates/js/translated/part.js:968 templates/js/translated/stock.js:1909 +#: templates/js/translated/stock.js:2475 msgid "Purchase Order" msgstr "" @@ -3557,8 +3557,8 @@ msgid "Number of items received" msgstr "" #: order/models.py:1030 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:1962 +#: stock/serializers.py:154 stock/templates/stock/item_base.html:191 +#: templates/js/translated/stock.js:1963 msgid "Purchase Price" msgstr "" @@ -4121,19 +4121,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1011 +#: part/api.py:1058 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1015 +#: part/api.py:1062 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1030 +#: part/api.py:1077 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 +#: part/api.py:1108 part/api.py:1112 part/api.py:1127 part/api.py:1131 msgid "This field is required" msgstr "" @@ -4268,7 +4268,7 @@ msgstr "" #: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:735 templates/js/translated/part.js:1391 -#: templates/js/translated/stock.js:1721 +#: templates/js/translated/stock.js:1722 msgid "IPN" msgstr "" @@ -4611,7 +4611,7 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:164 msgid "Purchase currency of this stock item" msgstr "" @@ -5752,7 +5752,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2402 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2403 msgid "Date" msgstr "" @@ -5771,19 +5771,19 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: templates/js/translated/stock.js:606 templates/js/translated/stock.js:776 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2652 msgid "Serial" msgstr "" -#: stock/api.py:505 +#: stock/api.py:511 msgid "Quantity is required" msgstr "" -#: stock/api.py:512 +#: stock/api.py:518 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:537 +#: stock/api.py:543 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5891,7 +5891,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1879 msgid "Expiry Date" msgstr "" @@ -5969,7 +5969,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1347 stock/serializers.py:895 +#: stock/models.py:1347 stock/serializers.py:935 msgid "Duplicate stock items" msgstr "" @@ -6021,120 +6021,128 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:156 +#: stock/serializers.py:157 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:280 +#: stock/serializers.py:281 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:293 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:299 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 +#: stock/serializers.py:310 stock/serializers.py:892 stock/serializers.py:1125 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:316 +#: stock/serializers.py:317 msgid "Optional note field" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:327 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:344 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:383 +#: stock/serializers.py:384 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:397 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:404 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:440 +#: stock/serializers.py:441 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:445 stock/serializers.py:487 +#: stock/serializers.py:446 stock/serializers.py:527 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:482 +#: stock/serializers.py:480 +msgid "Select part to convert stock item into" +msgstr "" + +#: stock/serializers.py:491 +msgid "Selected part is not a valid option for conversion" +msgstr "" + +#: stock/serializers.py:522 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:707 +#: stock/serializers.py:747 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:711 +#: stock/serializers.py:751 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:755 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:786 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:752 +#: stock/serializers.py:792 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:760 +#: stock/serializers.py:800 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:770 stock/serializers.py:1001 +#: stock/serializers.py:810 stock/serializers.py:1041 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:859 +#: stock/serializers.py:899 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:864 +#: stock/serializers.py:904 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:865 +#: stock/serializers.py:905 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:870 +#: stock/serializers.py:910 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:871 +#: stock/serializers.py:911 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:881 +#: stock/serializers.py:921 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:963 +#: stock/serializers.py:1003 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:1031 msgid "Stock transaction notes" msgstr "" @@ -6171,7 +6179,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2795 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2796 msgid "Install Stock Item" msgstr "" @@ -6179,7 +6187,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1517 +#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1518 msgid "Add Test Result" msgstr "" @@ -6366,7 +6374,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1894 +#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1895 msgid "Last Updated" msgstr "" @@ -6382,7 +6390,23 @@ msgstr "" msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:642 +#: stock/templates/stock/item_base.html:594 +msgid "Select one of the part variants listed below." +msgstr "" + +#: stock/templates/stock/item_base.html:597 +msgid "Warning" +msgstr "" + +#: stock/templates/stock/item_base.html:598 +msgid "This action cannot be easily undone" +msgstr "" + +#: stock/templates/stock/item_base.html:606 +msgid "Convert Stock Item" +msgstr "" + +#: stock/templates/stock/item_base.html:664 msgid "Return to Stock" msgstr "" @@ -6466,32 +6490,11 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:143 -msgid "Convert Stock Item" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:8 -#, python-format -msgid "This stock item is current an instance of %(part)s" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:9 -msgid "It can be converted to one of the part variants listed below." -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:13 -msgid "Warning" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:14 -msgid "This action cannot be easily undone" -msgstr "" - -#: stock/views.py:110 +#: stock/views.py:109 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:126 +#: stock/views.py:125 msgid "Stock Item QR Code" msgstr "" @@ -7303,7 +7306,7 @@ 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 +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:633 msgid "Confirm" msgstr "" @@ -8175,8 +8178,8 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2447 templates/js/translated/part.js:1383 -#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1681 -#: templates/js/translated/stock.js:2339 +#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:2340 msgid "Select" msgstr "" @@ -8188,7 +8191,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2581 +#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2582 msgid "No user information" msgstr "" @@ -8342,61 +8345,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:353 templates/js/translated/forms.js:368 -#: templates/js/translated/forms.js:382 templates/js/translated/forms.js:396 +#: templates/js/translated/forms.js:356 templates/js/translated/forms.js:371 +#: templates/js/translated/forms.js:385 templates/js/translated/forms.js:399 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:355 +#: templates/js/translated/forms.js:358 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:370 +#: templates/js/translated/forms.js:373 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:384 +#: templates/js/translated/forms.js:387 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:398 +#: templates/js/translated/forms.js:401 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:656 +#: templates/js/translated/forms.js:659 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:757 +#: templates/js/translated/forms.js:760 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1249 templates/modals.html:19 +#: templates/js/translated/forms.js:1252 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1682 +#: templates/js/translated/forms.js:1685 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1897 templates/search.html:29 +#: templates/js/translated/forms.js:1900 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2150 +#: templates/js/translated/forms.js:2153 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2628 +#: templates/js/translated/forms.js:2631 msgid "Select Columns" msgstr "" @@ -8727,7 +8730,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2142 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2143 msgid "Stock Status" msgstr "" @@ -8921,7 +8924,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1597 +#: templates/js/translated/stock.js:1598 msgid "Shipped to customer" msgstr "" @@ -9187,7 +9190,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:1573 templates/js/translated/part.js:1785 -#: templates/js/translated/stock.js:2300 +#: templates/js/translated/stock.js:2301 msgid "Display as list" msgstr "" @@ -9211,7 +9214,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2319 +#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2320 msgid "Display as tree" msgstr "" @@ -9219,7 +9222,7 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2363 +#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2364 msgid "Path" msgstr "" @@ -9232,7 +9235,7 @@ msgid "Edit test result" msgstr "" #: templates/js/translated/part.js:1978 templates/js/translated/stock.js:1296 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1556 msgid "Delete test result" msgstr "" @@ -9565,180 +9568,180 @@ msgstr "" msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1374 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1538 +#: templates/js/translated/stock.js:1539 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/stock.js:1561 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1590 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1593 +#: templates/js/translated/stock.js:1594 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1601 +#: templates/js/translated/stock.js:1602 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1607 +#: templates/js/translated/stock.js:1608 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1775 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:1780 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1782 +#: templates/js/translated/stock.js:1783 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1785 +#: templates/js/translated/stock.js:1786 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1787 +#: templates/js/translated/stock.js:1788 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1790 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1793 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1797 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1799 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1806 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1807 +#: templates/js/translated/stock.js:1808 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1809 +#: templates/js/translated/stock.js:1810 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1813 +#: templates/js/translated/stock.js:1814 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1865 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1946 +#: templates/js/translated/stock.js:1947 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1984 +#: templates/js/translated/stock.js:1985 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2157 +#: templates/js/translated/stock.js:2158 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2171 +#: templates/js/translated/stock.js:2172 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2173 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2443 +#: templates/js/translated/stock.js:2444 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2465 +#: templates/js/translated/stock.js:2466 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2484 +#: templates/js/translated/stock.js:2485 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2504 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2521 +#: templates/js/translated/stock.js:2522 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2545 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2552 +#: templates/js/translated/stock.js:2553 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2629 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2679 templates/js/translated/stock.js:2715 +#: templates/js/translated/stock.js:2680 templates/js/translated/stock.js:2716 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2729 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2749 +#: templates/js/translated/stock.js:2750 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2751 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2753 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/stock.js:2754 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2755 +#: templates/js/translated/stock.js:2756 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2768 +#: templates/js/translated/stock.js:2769 msgid "Select part to install" msgstr "" @@ -9990,61 +9993,61 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:525 +#: templates/js/translated/tables.js:534 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:528 +#: templates/js/translated/tables.js:537 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:533 +#: templates/js/translated/tables.js:542 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "to" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "of" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:539 templates/navbar.html:102 +#: templates/js/translated/tables.js:548 templates/navbar.html:102 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" msgstr "" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:551 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:554 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:548 +#: templates/js/translated/tables.js:557 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:551 +#: templates/js/translated/tables.js:560 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:563 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:566 msgid "All" msgstr "" diff --git a/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/InvenTree/locale/es_MX/LC_MESSAGES/django.po index 58c1c14a01..dca02fca5d 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-08 11:50+0000\n" +"POT-Creation-Date: 2022-06-12 06:07+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -30,39 +30,31 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/forms.py:117 -msgid "Confirm delete" -msgstr "" - -#: InvenTree/forms.py:118 -msgid "Confirm item deletion" -msgstr "" - -#: InvenTree/forms.py:150 +#: InvenTree/forms.py:132 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:151 +#: InvenTree/forms.py:133 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:158 +#: InvenTree/forms.py:140 msgid "Confirm password" msgstr "" -#: InvenTree/forms.py:159 +#: InvenTree/forms.py:141 msgid "Confirm new password" msgstr "" -#: InvenTree/forms.py:184 +#: InvenTree/forms.py:166 msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:188 +#: InvenTree/forms.py:170 msgid "Email address confirmation" msgstr "" -#: InvenTree/forms.py:209 +#: InvenTree/forms.py:191 msgid "You must type the same email each time." msgstr "" @@ -132,7 +124,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:642 #: templates/js/translated/company.js:933 templates/js/translated/order.js:2676 -#: templates/js/translated/part.js:1485 +#: templates/js/translated/part.js:1510 msgid "Link" msgstr "" @@ -150,12 +142,12 @@ msgstr "" msgid "File comment" msgstr "" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1575 +#: common/models.py:1576 common/models.py:1799 common/models.py:1800 +#: common/models.py:2062 common/models.py:2063 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:2523 +#: templates/js/translated/stock.js:2575 msgid "User" msgstr "" @@ -192,7 +184,7 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1785 #: company/models.py:355 label/models.py:101 part/models.py:739 #: part/models.py:2319 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -203,8 +195,8 @@ msgstr "" #: templates/js/translated/company.js:532 #: templates/js/translated/company.js:744 #: templates/js/translated/notification.js:73 -#: templates/js/translated/part.js:659 templates/js/translated/part.js:811 -#: templates/js/translated/part.js:1832 templates/js/translated/stock.js:2293 +#: templates/js/translated/part.js:684 templates/js/translated/part.js:836 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2345 msgid "Name" msgstr "" @@ -224,10 +216,10 @@ msgstr "" #: templates/js/translated/company.js:653 #: templates/js/translated/company.js:944 templates/js/translated/order.js:1656 #: templates/js/translated/order.js:1888 templates/js/translated/order.js:2476 -#: 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 +#: templates/js/translated/part.js:743 templates/js/translated/part.js:1151 +#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1876 +#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1738 +#: templates/js/translated/stock.js:2357 templates/js/translated/stock.js:2412 msgid "Description" msgstr "" @@ -301,99 +293,99 @@ msgstr "" msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/settings.py:667 +#: InvenTree/settings.py:689 msgid "Czech" msgstr "" -#: InvenTree/settings.py:668 +#: InvenTree/settings.py:690 msgid "German" msgstr "" -#: InvenTree/settings.py:669 +#: InvenTree/settings.py:691 msgid "Greek" msgstr "" -#: InvenTree/settings.py:670 +#: InvenTree/settings.py:692 msgid "English" msgstr "" -#: InvenTree/settings.py:671 +#: InvenTree/settings.py:693 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:694 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:695 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:696 msgid "French" msgstr "" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:697 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:698 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:699 msgid "Italian" msgstr "" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:700 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:701 msgid "Korean" msgstr "" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:702 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:703 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:704 msgid "Polish" msgstr "" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:705 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:706 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:707 msgid "Russian" msgstr "" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:708 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:709 msgid "Thai" msgstr "" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:710 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:711 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:712 msgid "Chinese" msgstr "" @@ -524,7 +516,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2030 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2082 msgid "Merged stock items" msgstr "" @@ -596,27 +588,19 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:521 -msgid "Delete Item" -msgstr "" - -#: InvenTree/views.py:570 -msgid "Check box to confirm item deletion" -msgstr "" - -#: InvenTree/views.py:585 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:516 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:597 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:528 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "" -#: InvenTree/views.py:617 +#: InvenTree/views.py:548 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:807 templates/navbar.html:152 +#: InvenTree/views.py:738 templates/navbar.html:152 msgid "System Information" msgstr "" @@ -686,7 +670,7 @@ msgstr "" #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:479 #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 @@ -702,11 +686,11 @@ 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: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 +#: templates/js/translated/part.js:1136 templates/js/translated/part.js:1206 +#: templates/js/translated/part.js:1402 templates/js/translated/stock.js:582 +#: templates/js/translated/stock.js:747 templates/js/translated/stock.js:954 +#: templates/js/translated/stock.js:1695 templates/js/translated/stock.js:2438 +#: templates/js/translated/stock.js:2633 templates/js/translated/stock.js:2767 msgid "Part" msgstr "" @@ -832,14 +816,14 @@ msgstr "" #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 #: 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:759 stock/serializers.py:858 stock/serializers.py:990 +#: stock/serializers.py:316 stock/serializers.py:445 stock/serializers.py:526 +#: stock/serializers.py:799 stock/serializers.py:898 stock/serializers.py:1030 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1038 #: templates/js/translated/company.js:949 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:1317 templates/js/translated/stock.js:1926 +#: templates/js/translated/stock.js:1369 templates/js/translated/stock.js:1978 msgid "Notes" msgstr "" @@ -895,8 +879,8 @@ msgid "Build to allocate parts" msgstr "" #: 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 +#: order/serializers.py:1017 stock/serializers.py:383 stock/serializers.py:730 +#: stock/serializers.py:856 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 @@ -904,8 +888,8 @@ 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:531 templates/js/translated/stock.js:696 -#: templates/js/translated/stock.js:2459 +#: templates/js/translated/stock.js:583 templates/js/translated/stock.js:748 +#: templates/js/translated/stock.js:2511 msgid "Stock Item" msgstr "" @@ -915,7 +899,7 @@ msgstr "" #: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1543 +#: build/templates/build/detail.html:34 common/models.py:1607 #: company/forms.py:36 company/templates/company/supplier_part.html:279 #: order/models.py:911 order/models.py:1414 order/serializers.py:1136 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 @@ -928,7 +912,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:280 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:691 #: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 @@ -941,11 +925,11 @@ 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: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 +#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2090 +#: templates/js/translated/part.js:2321 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2433 templates/js/translated/stock.js:454 +#: templates/js/translated/stock.js:608 templates/js/translated/stock.js:778 +#: templates/js/translated/stock.js:2560 templates/js/translated/stock.js:2645 msgid "Quantity" msgstr "" @@ -989,7 +973,7 @@ msgstr "" #: build/serializers.py:198 build/serializers.py:623 order/models.py:354 #: 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 +#: stock/serializers.py:289 msgid "Quantity must be greater than zero" msgstr "" @@ -1002,8 +986,8 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: 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:237 templates/js/translated/stock.js:403 +#: stock/serializers.py:298 templates/js/translated/order.js:1186 +#: templates/js/translated/stock.js:267 templates/js/translated/stock.js:455 msgid "Serial Numbers" msgstr "" @@ -1019,7 +1003,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:553 +#: build/serializers.py:268 stock/api.py:559 msgid "The following serial numbers already exist" msgstr "" @@ -1028,17 +1012,17 @@ msgid "A list of build outputs must be provided" 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:851 stock/serializers.py:1084 +#: stock/serializers.py:309 stock/serializers.py:440 stock/serializers.py:521 +#: stock/serializers.py:891 stock/serializers.py:1124 #: 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:1684 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: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 +#: templates/js/translated/part.js:181 templates/js/translated/stock.js:584 +#: templates/js/translated/stock.js:749 templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:1849 templates/js/translated/stock.js:2452 msgid "Location" msgstr "" @@ -1051,8 +1035,8 @@ msgstr "" #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2509 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 -#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1772 -#: templates/js/translated/stock.js:2477 templates/js/translated/stock.js:2609 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1824 +#: templates/js/translated/stock.js:2529 templates/js/translated/stock.js:2661 msgid "Status" msgstr "" @@ -1129,7 +1113,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:703 +#: build/serializers.py:609 stock/serializers.py:743 msgid "Item must be in stock" msgstr "" @@ -1263,7 +1247,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:126 #: templates/js/translated/build.js:2549 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:1015 +#: templates/js/translated/order.js:3517 templates/js/translated/part.js:1040 msgid "Target Date" msgstr "" @@ -1350,8 +1334,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:970 templates/js/translated/stock.js:1786 -#: templates/js/translated/stock.js:2616 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:1838 +#: templates/js/translated/stock.js:2668 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1562,912 +1546,912 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:365 +#: common/models.py:434 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:367 +#: common/models.py:436 msgid "Settings value" msgstr "" -#: common/models.py:408 +#: common/models.py:477 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:425 +#: common/models.py:494 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:436 +#: common/models.py:505 msgid "Value must be an integer value" msgstr "" -#: common/models.py:481 +#: common/models.py:550 msgid "Key string must be unique" msgstr "" -#: common/models.py:665 +#: common/models.py:734 msgid "No group" msgstr "" -#: common/models.py:704 +#: common/models.py:773 msgid "Restart required" msgstr "" -#: common/models.py:705 +#: common/models.py:774 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:712 +#: common/models.py:781 msgid "Server Instance Name" msgstr "" -#: common/models.py:714 +#: common/models.py:783 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:718 +#: common/models.py:787 msgid "Use instance name" msgstr "" -#: common/models.py:719 +#: common/models.py:788 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:725 +#: common/models.py:794 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:726 +#: common/models.py:795 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:732 company/models.py:93 company/models.py:94 +#: common/models.py:801 company/models.py:93 company/models.py:94 msgid "Company name" msgstr "" -#: common/models.py:733 +#: common/models.py:802 msgid "Internal company name" msgstr "" -#: common/models.py:738 +#: common/models.py:807 msgid "Base URL" msgstr "" -#: common/models.py:739 +#: common/models.py:808 msgid "Base URL for server instance" msgstr "" -#: common/models.py:745 +#: common/models.py:814 msgid "Default Currency" msgstr "" -#: common/models.py:746 +#: common/models.py:815 msgid "Default currency" msgstr "" -#: common/models.py:752 +#: common/models.py:821 msgid "Download from URL" msgstr "" -#: common/models.py:753 +#: common/models.py:822 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:828 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:760 +#: common/models.py:829 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:766 +#: common/models.py:835 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:767 +#: common/models.py:836 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:773 +#: common/models.py:842 msgid "IPN Regex" msgstr "" -#: common/models.py:774 +#: common/models.py:843 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:778 +#: common/models.py:847 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:779 +#: common/models.py:848 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:785 +#: common/models.py:854 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:786 +#: common/models.py:855 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:792 +#: common/models.py:861 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:793 +#: common/models.py:862 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:799 +#: common/models.py:868 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:800 +#: common/models.py:869 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:806 +#: common/models.py:875 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:807 +#: common/models.py:876 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:813 +#: common/models.py:882 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:814 +#: common/models.py:883 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:820 part/models.py:2360 report/models.py:157 +#: common/models.py:889 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:821 +#: common/models.py:890 msgid "Parts are templates by default" msgstr "" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 +#: common/models.py:896 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" msgstr "" -#: common/models.py:828 +#: common/models.py:897 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:834 part/models.py:890 +#: common/models.py:903 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:835 +#: common/models.py:904 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:841 part/models.py:901 +#: common/models.py:910 part/models.py:901 msgid "Purchaseable" msgstr "" -#: common/models.py:842 +#: common/models.py:911 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:848 part/models.py:906 +#: common/models.py:917 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:849 +#: common/models.py:918 msgid "Parts are salable by default" msgstr "" -#: common/models.py:855 part/models.py:896 +#: common/models.py:924 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:856 +#: common/models.py:925 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:862 part/models.py:916 +#: common/models.py:931 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:863 +#: common/models.py:932 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:869 +#: common/models.py:938 msgid "Show Import in Views" msgstr "" -#: common/models.py:870 +#: common/models.py:939 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:876 +#: common/models.py:945 msgid "Show Price in Forms" msgstr "" -#: common/models.py:877 +#: common/models.py:946 msgid "Display part price in some forms" msgstr "" -#: common/models.py:888 +#: common/models.py:957 msgid "Show Price in BOM" msgstr "" -#: common/models.py:889 +#: common/models.py:958 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:900 +#: common/models.py:969 msgid "Show Price History" msgstr "" -#: common/models.py:901 +#: common/models.py:970 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:907 +#: common/models.py:976 msgid "Show related parts" msgstr "" -#: common/models.py:908 +#: common/models.py:977 msgid "Display related parts for a part" msgstr "" -#: common/models.py:914 +#: common/models.py:983 msgid "Create initial stock" msgstr "" -#: common/models.py:915 +#: common/models.py:984 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:921 +#: common/models.py:990 msgid "Internal Prices" msgstr "" -#: common/models.py:922 +#: common/models.py:991 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:928 +#: common/models.py:997 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:929 +#: common/models.py:998 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:935 +#: common/models.py:1004 msgid "Part Name Display Format" msgstr "" -#: common/models.py:936 +#: common/models.py:1005 msgid "Format to display the part name" msgstr "" -#: common/models.py:943 +#: common/models.py:1012 msgid "Enable Reports" msgstr "" -#: common/models.py:944 +#: common/models.py:1013 msgid "Enable generation of reports" msgstr "" -#: common/models.py:950 templates/stats.html:25 +#: common/models.py:1019 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:951 +#: common/models.py:1020 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:957 +#: common/models.py:1026 msgid "Page Size" msgstr "" -#: common/models.py:958 +#: common/models.py:1027 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:968 +#: common/models.py:1037 msgid "Enable Test Reports" msgstr "" -#: common/models.py:969 +#: common/models.py:1038 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:975 +#: common/models.py:1044 msgid "Attach Test Reports" msgstr "" -#: common/models.py:976 +#: common/models.py:1045 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:982 +#: common/models.py:1051 msgid "Batch Code Template" msgstr "" -#: common/models.py:983 +#: common/models.py:1052 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:988 +#: common/models.py:1057 msgid "Stock Expiry" msgstr "" -#: common/models.py:989 +#: common/models.py:1058 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:995 +#: common/models.py:1064 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:996 +#: common/models.py:1065 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1002 +#: common/models.py:1071 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1003 +#: common/models.py:1072 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1005 +#: common/models.py:1074 msgid "days" msgstr "" -#: common/models.py:1010 +#: common/models.py:1079 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1011 +#: common/models.py:1080 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1017 +#: common/models.py:1086 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1018 +#: common/models.py:1087 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1024 +#: common/models.py:1093 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1025 +#: common/models.py:1094 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1030 +#: common/models.py:1099 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1031 +#: common/models.py:1100 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1035 +#: common/models.py:1104 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1036 +#: common/models.py:1105 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1041 +#: common/models.py:1110 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1042 +#: common/models.py:1111 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1048 +#: common/models.py:1117 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1049 +#: common/models.py:1118 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1055 +#: common/models.py:1124 msgid "Enable password forgot" msgstr "" -#: common/models.py:1056 +#: common/models.py:1125 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1131 msgid "Enable registration" msgstr "" -#: common/models.py:1063 +#: common/models.py:1132 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1069 +#: common/models.py:1138 msgid "Enable SSO" msgstr "" -#: common/models.py:1070 +#: common/models.py:1139 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1076 +#: common/models.py:1145 msgid "Email required" msgstr "" -#: common/models.py:1077 +#: common/models.py:1146 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1083 +#: common/models.py:1152 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1084 +#: common/models.py:1153 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1090 +#: common/models.py:1159 msgid "Mail twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1160 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1097 +#: common/models.py:1166 msgid "Password twice" msgstr "" -#: common/models.py:1098 +#: common/models.py:1167 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1104 +#: common/models.py:1173 msgid "Group on signup" msgstr "" -#: common/models.py:1105 +#: common/models.py:1174 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1111 +#: common/models.py:1180 msgid "Enforce MFA" msgstr "" -#: common/models.py:1112 +#: common/models.py:1181 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1118 +#: common/models.py:1187 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1119 +#: common/models.py:1188 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1127 +#: common/models.py:1196 msgid "Enable URL integration" msgstr "" -#: common/models.py:1128 +#: common/models.py:1197 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1135 +#: common/models.py:1204 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1136 +#: common/models.py:1205 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1143 +#: common/models.py:1212 msgid "Enable app integration" msgstr "" -#: common/models.py:1144 +#: common/models.py:1213 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1151 +#: common/models.py:1220 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1152 +#: common/models.py:1221 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1159 +#: common/models.py:1228 msgid "Enable event integration" msgstr "" -#: common/models.py:1160 +#: common/models.py:1229 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1177 common/models.py:1499 +#: common/models.py:1246 common/models.py:1568 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1199 +#: common/models.py:1268 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1200 +#: common/models.py:1269 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1275 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1207 +#: common/models.py:1276 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1213 +#: common/models.py:1282 msgid "Show latest parts" msgstr "" -#: common/models.py:1214 +#: common/models.py:1283 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1220 +#: common/models.py:1289 msgid "Recent Part Count" msgstr "" -#: common/models.py:1221 +#: common/models.py:1290 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1227 +#: common/models.py:1296 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1228 +#: common/models.py:1297 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1303 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1235 +#: common/models.py:1304 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1241 +#: common/models.py:1310 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1242 +#: common/models.py:1311 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1248 +#: common/models.py:1317 msgid "Show low stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1318 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1324 msgid "Show depleted stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1325 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1331 msgid "Show needed stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1332 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1338 msgid "Show expired stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1339 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1345 msgid "Show stale stock" msgstr "" -#: common/models.py:1277 +#: common/models.py:1346 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1352 msgid "Show pending builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1353 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1359 msgid "Show overdue builds" msgstr "" -#: common/models.py:1291 +#: common/models.py:1360 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1366 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1367 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1373 msgid "Show overdue POs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1374 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1380 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1381 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1387 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1319 +#: common/models.py:1388 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1324 +#: common/models.py:1393 msgid "Enable label printing" msgstr "" -#: common/models.py:1325 +#: common/models.py:1394 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1331 +#: common/models.py:1400 msgid "Inline label display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1401 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1407 msgid "Inline report display" msgstr "" -#: common/models.py:1339 +#: common/models.py:1408 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1345 +#: common/models.py:1414 msgid "Search Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1415 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1421 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1422 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1428 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1429 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1435 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1367 +#: common/models.py:1436 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1442 msgid "Search Categories" msgstr "" -#: common/models.py:1374 +#: common/models.py:1443 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1449 msgid "Search Stock" msgstr "" -#: common/models.py:1381 +#: common/models.py:1450 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1456 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1388 +#: common/models.py:1457 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1463 msgid "Search Locations" msgstr "" -#: common/models.py:1395 +#: common/models.py:1464 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1470 msgid "Search Companies" msgstr "" -#: common/models.py:1402 +#: common/models.py:1471 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1477 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1478 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1484 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1485 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1491 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1492 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1498 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1430 +#: common/models.py:1499 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1505 msgid "Search Preview Results" msgstr "" -#: common/models.py:1437 +#: common/models.py:1506 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1512 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1513 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1519 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1451 +#: common/models.py:1520 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1457 +#: common/models.py:1526 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1458 +#: common/models.py:1527 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1464 +#: common/models.py:1533 msgid "Date Format" msgstr "" -#: common/models.py:1465 +#: common/models.py:1534 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1479 part/templates/part/detail.html:39 +#: common/models.py:1548 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1480 +#: common/models.py:1549 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1544 company/forms.py:37 +#: common/models.py:1608 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1551 company/serializers.py:319 +#: common/models.py:1615 company/serializers.py:319 #: company/templates/company/supplier_part.html:284 order/models.py:951 -#: templates/js/translated/part.js:1042 templates/js/translated/part.js:2070 +#: templates/js/translated/part.js:1067 templates/js/translated/part.js:2095 msgid "Price" msgstr "" -#: common/models.py:1552 +#: common/models.py:1616 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1712 common/models.py:1890 +#: common/models.py:1776 common/models.py:1954 msgid "Endpoint" msgstr "" -#: common/models.py:1713 +#: common/models.py:1777 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1722 +#: common/models.py:1786 msgid "Name for this webhook" msgstr "" -#: common/models.py:1727 part/models.py:911 plugin/models.py:99 +#: common/models.py:1791 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 @@ -2475,67 +2459,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1728 +#: common/models.py:1792 msgid "Is this webhook active" msgstr "" -#: common/models.py:1742 +#: common/models.py:1806 msgid "Token" msgstr "" -#: common/models.py:1743 +#: common/models.py:1807 msgid "Token for access" msgstr "" -#: common/models.py:1750 +#: common/models.py:1814 msgid "Secret" msgstr "" -#: common/models.py:1751 +#: common/models.py:1815 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1857 +#: common/models.py:1921 msgid "Message ID" msgstr "" -#: common/models.py:1858 +#: common/models.py:1922 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1866 +#: common/models.py:1930 msgid "Host" msgstr "" -#: common/models.py:1867 +#: common/models.py:1931 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1874 +#: common/models.py:1938 msgid "Header" msgstr "" -#: common/models.py:1875 +#: common/models.py:1939 msgid "Header of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1945 msgid "Body" msgstr "" -#: common/models.py:1882 +#: common/models.py:1946 msgid "Body of this message" msgstr "" -#: common/models.py:1891 +#: common/models.py:1955 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1896 +#: common/models.py:1960 msgid "Worked on" msgstr "" -#: common/models.py:1897 +#: common/models.py:1961 msgid "Was the work on this message finished?" msgstr "" @@ -2674,7 +2658,7 @@ msgstr "" #: company/models.py:145 company/serializers.py:325 #: company/templates/company/company_base.html:106 part/serializers.py:139 -#: part/serializers.py:170 stock/serializers.py:162 +#: part/serializers.py:170 stock/serializers.py:163 msgid "Currency" msgstr "" @@ -2698,12 +2682,12 @@ msgstr "" #: templates/js/translated/company.js:385 #: templates/js/translated/company.js:486 #: templates/js/translated/company.js:619 -#: templates/js/translated/company.js:904 templates/js/translated/part.js:235 +#: templates/js/translated/company.js:904 templates/js/translated/part.js:236 #: templates/js/translated/table_filters.js:411 msgid "Manufacturer" msgstr "" -#: company/models.py:261 templates/js/translated/part.js:236 +#: company/models.py:261 templates/js/translated/part.js:237 msgid "Select manufacturer" msgstr "" @@ -2713,11 +2697,11 @@ msgstr "" #: templates/js/translated/company.js:485 #: templates/js/translated/company.js:635 #: templates/js/translated/company.js:922 templates/js/translated/order.js:1907 -#: templates/js/translated/part.js:246 templates/js/translated/part.js:1000 +#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025 msgid "MPN" msgstr "" -#: company/models.py:268 templates/js/translated/part.js:247 +#: company/models.py:268 templates/js/translated/part.js:248 msgid "Manufacturer Part Number" msgstr "" @@ -2743,8 +2727,8 @@ msgstr "" #: company/models.py:362 #: report/templates/report/inventree_test_report_base.html:95 #: stock/models.py:2084 templates/js/translated/company.js:533 -#: templates/js/translated/company.js:750 templates/js/translated/part.js:820 -#: templates/js/translated/stock.js:1304 +#: templates/js/translated/company.js:750 templates/js/translated/part.js:845 +#: templates/js/translated/stock.js:1356 msgid "Value" msgstr "" @@ -2755,7 +2739,7 @@ msgstr "" #: company/models.py:369 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:756 templates/js/translated/part.js:826 +#: templates/js/translated/company.js:756 templates/js/translated/part.js:851 msgid "Units" msgstr "" @@ -2775,23 +2759,23 @@ msgstr "" #: templates/js/translated/company.js:257 #: templates/js/translated/company.js:389 #: templates/js/translated/company.js:878 templates/js/translated/order.js:1643 -#: templates/js/translated/part.js:216 templates/js/translated/part.js:968 +#: templates/js/translated/part.js:217 templates/js/translated/part.js:993 #: templates/js/translated/table_filters.js:415 msgid "Supplier" msgstr "" -#: company/models.py:489 templates/js/translated/part.js:217 +#: company/models.py:489 templates/js/translated/part.js:218 msgid "Select supplier" msgstr "" #: company/models.py:494 company/templates/company/supplier_part.html:118 #: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:256 -#: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 -#: templates/js/translated/part.js:986 +#: templates/js/translated/order.js:1894 templates/js/translated/part.js:228 +#: templates/js/translated/part.js:1011 msgid "SKU" msgstr "" -#: company/models.py:495 templates/js/translated/part.js:228 +#: company/models.py:495 templates/js/translated/part.js:229 msgid "Supplier stock keeping unit" msgstr "" @@ -2810,7 +2794,7 @@ msgstr "" #: company/models.py:519 company/templates/company/supplier_part.html:146 #: 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 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:388 msgid "Note" msgstr "" @@ -2824,7 +2808,7 @@ msgstr "" #: company/models.py:525 company/templates/company/supplier_part.html:139 #: stock/models.py:608 stock/templates/stock/item_base.html:245 -#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1922 +#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1974 msgid "Packaging" msgstr "" @@ -2845,7 +2829,7 @@ msgstr "" #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:884 templates/js/translated/build.js:1786 #: templates/js/translated/build.js:2649 templates/js/translated/company.js:959 -#: templates/js/translated/part.js:571 templates/js/translated/part.js:574 +#: templates/js/translated/part.js:596 templates/js/translated/part.js:599 #: templates/js/translated/table_filters.js:178 msgid "Available" msgstr "" @@ -2919,11 +2903,11 @@ msgstr "" #: company/templates/company/company_base.html:86 order/models.py:651 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:745 +#: stock/models.py:628 stock/serializers.py:785 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:381 templates/js/translated/order.js:2458 -#: templates/js/translated/stock.js:2441 +#: templates/js/translated/stock.js:2493 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "" @@ -3144,7 +3128,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:894 templates/js/translated/order.js:884 -#: templates/js/translated/stock.js:1879 +#: templates/js/translated/stock.js:1931 msgid "Supplier Part" msgstr "" @@ -3194,7 +3178,7 @@ msgstr "" #: company/templates/company/supplier_part.html:169 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 -#: templates/js/translated/stock.js:379 +#: templates/js/translated/stock.js:431 msgid "New Stock Item" msgstr "" @@ -3210,7 +3194,7 @@ msgstr "" #: company/templates/company/supplier_part.html:212 #: company/templates/company/supplier_part.html:326 -#: part/templates/part/prices.html:276 templates/js/translated/part.js:2142 +#: part/templates/part/prices.html:276 templates/js/translated/part.js:2167 msgid "Add Price Break" msgstr "" @@ -3219,12 +3203,12 @@ msgid "No price break information found" msgstr "" #: company/templates/company/supplier_part.html:252 -#: templates/js/translated/part.js:2152 +#: templates/js/translated/part.js:2177 msgid "Delete Price Break" msgstr "" #: company/templates/company/supplier_part.html:266 -#: templates/js/translated/part.js:2166 +#: templates/js/translated/part.js:2191 msgid "Edit Price Break" msgstr "" @@ -3250,9 +3234,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: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/js/translated/bom.js:554 templates/js/translated/part.js:747 +#: templates/js/translated/part.js:1295 templates/js/translated/part.js:1456 +#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1749 #: templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3279,7 +3263,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:2317 users/models.py:39 +#: templates/js/translated/stock.js:2369 users/models.py:39 msgid "Stock Items" msgstr "" @@ -3553,8 +3537,8 @@ msgstr "" #: 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:943 templates/js/translated/stock.js:1856 -#: templates/js/translated/stock.js:2422 +#: templates/js/translated/part.js:968 templates/js/translated/stock.js:1908 +#: templates/js/translated/stock.js:2474 msgid "Purchase Order" msgstr "" @@ -3564,7 +3548,7 @@ msgstr "" #: order/models.py:1022 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1318 templates/js/translated/order.js:2009 -#: templates/js/translated/part.js:1037 templates/js/translated/part.js:1064 +#: templates/js/translated/part.js:1062 templates/js/translated/part.js:1089 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" @@ -3574,8 +3558,8 @@ msgid "Number of items received" msgstr "" #: order/models.py:1030 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:1910 +#: stock/serializers.py:154 stock/templates/stock/item_base.html:191 +#: templates/js/translated/stock.js:1962 msgid "Purchase Price" msgstr "" @@ -3959,8 +3943,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:1971 #: templates/js/translated/order.js:833 templates/js/translated/order.js:1265 -#: templates/js/translated/order.js:2731 templates/js/translated/stock.js:569 -#: templates/js/translated/stock.js:737 +#: templates/js/translated/order.js:2731 templates/js/translated/stock.js:621 +#: templates/js/translated/stock.js:789 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4138,19 +4122,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1011 +#: part/api.py:1058 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1015 +#: part/api.py:1062 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1030 +#: part/api.py:1077 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 +#: part/api.py:1108 part/api.py:1112 part/api.py:1127 part/api.py:1131 msgid "This field is required" msgstr "" @@ -4169,9 +4153,9 @@ msgid "Available Stock" msgstr "" #: part/bom.py:130 part/templates/part/part_base.html:207 -#: 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 +#: templates/js/translated/part.js:586 templates/js/translated/part.js:606 +#: templates/js/translated/part.js:1298 templates/js/translated/part.js:1470 +#: templates/js/translated/part.js:1486 msgid "On Order" msgstr "" @@ -4208,7 +4192,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:1864 templates/js/translated/search.js:144 +#: templates/js/translated/part.js:1889 templates/js/translated/search.js:144 #: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "" @@ -4275,7 +4259,7 @@ msgstr "" #: part/templates/part/part_base.html:257 #: templates/InvenTree/settings/settings.html:231 #: templates/js/translated/notification.js:52 -#: templates/js/translated/part.js:1413 templates/js/translated/part.js:1639 +#: templates/js/translated/part.js:1438 templates/js/translated/part.js:1664 msgid "Category" msgstr "" @@ -4284,8 +4268,8 @@ msgid "Part category" msgstr "" #: part/models.py:782 part/templates/part/part_base.html:266 -#: templates/js/translated/part.js:710 templates/js/translated/part.js:1366 -#: templates/js/translated/stock.js:1669 +#: templates/js/translated/part.js:735 templates/js/translated/part.js:1391 +#: templates/js/translated/stock.js:1721 msgid "IPN" msgstr "" @@ -4298,7 +4282,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:714 +#: report/models.py:170 templates/js/translated/part.js:739 msgid "Revision" msgstr "" @@ -4398,8 +4382,8 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2243 templates/js/translated/part.js:1915 -#: templates/js/translated/stock.js:1284 +#: part/models.py:2243 templates/js/translated/part.js:1940 +#: templates/js/translated/stock.js:1336 msgid "Test Name" msgstr "" @@ -4415,7 +4399,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:2255 templates/js/translated/part.js:1924 +#: part/models.py:2255 templates/js/translated/part.js:1949 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" @@ -4424,7 +4408,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2261 templates/js/translated/part.js:1932 +#: part/models.py:2261 templates/js/translated/part.js:1957 msgid "Requires Value" msgstr "" @@ -4432,7 +4416,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2267 templates/js/translated/part.js:1939 +#: part/models.py:2267 templates/js/translated/part.js:1964 msgid "Requires Attachment" msgstr "" @@ -4628,7 +4612,7 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:164 msgid "Purchase currency of this stock item" msgstr "" @@ -4838,43 +4822,11 @@ msgstr "" msgid "Part created successfully" msgstr "" -#: part/templates/part/category_delete.html:7 -msgid "Are you sure you want to delete this part category?" -msgstr "" - -#: part/templates/part/category_delete.html:12 -#, python-format -msgid "This category contains %(n)s child categories" -msgstr "" - -#: part/templates/part/category_delete.html:14 -#, python-format -msgid "If this category is deleted, these child categories will be moved to %(category)s" -msgstr "" - -#: part/templates/part/category_delete.html:16 -msgid "If this category is deleted, these child categories will be moved to the top level part category" -msgstr "" - -#: part/templates/part/category_delete.html:23 -#, python-format -msgid "This category contains %(n)s parts" -msgstr "" - -#: part/templates/part/category_delete.html:25 -#, python-format -msgid "If this category is deleted, these parts will be moved to %(category)s" -msgstr "" - -#: part/templates/part/category_delete.html:27 -msgid "If this category is deleted, these parts will be moved to the top level part category" -msgstr "" - #: part/templates/part/category_sidebar.html:13 msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:350 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:375 msgid "Duplicate Part" msgstr "" @@ -4962,7 +4914,7 @@ msgstr "" msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:267 templates/js/translated/part.js:273 +#: part/templates/part/detail.html:267 templates/js/translated/part.js:274 msgid "Copy BOM" msgstr "" @@ -5179,7 +5131,7 @@ msgstr "" #: templates/js/translated/company.js:610 #: templates/js/translated/company.js:869 #: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/part.js:625 templates/js/translated/part.js:702 +#: templates/js/translated/part.js:650 templates/js/translated/part.js:727 msgid "Inactive" msgstr "" @@ -5212,9 +5164,9 @@ msgstr "" msgid "Can Build" msgstr "" -#: 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 +#: part/templates/part/part_base.html:238 templates/js/translated/part.js:589 +#: templates/js/translated/part.js:609 templates/js/translated/part.js:1302 +#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1490 msgid "Building" msgstr "" @@ -5387,8 +5339,8 @@ msgstr "" msgid "No sale pice history available for this part." msgstr "" -#: 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 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:612 +#: templates/js/translated/part.js:1290 templates/js/translated/part.js:1494 msgid "No Stock" msgstr "" @@ -5479,14 +5431,6 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: part/views.py:884 -msgid "Delete Part Category" -msgstr "" - -#: part/views.py:891 -msgid "Part category was deleted" -msgstr "" - #: plugin/apps.py:56 msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" @@ -5788,7 +5732,7 @@ msgstr "" #: templates/js/translated/build.js:1173 templates/js/translated/build.js:1670 #: 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:434 +#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:486 msgid "Serial Number" msgstr "" @@ -5809,7 +5753,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2350 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2402 msgid "Date" msgstr "" @@ -5827,20 +5771,20 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724 -#: templates/js/translated/stock.js:2599 +#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:776 +#: templates/js/translated/stock.js:2651 msgid "Serial" msgstr "" -#: stock/api.py:505 +#: stock/api.py:511 msgid "Quantity is required" msgstr "" -#: stock/api.py:512 +#: stock/api.py:518 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:537 +#: stock/api.py:543 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5948,7 +5892,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1826 +#: templates/js/translated/stock.js:1878 msgid "Expiry Date" msgstr "" @@ -6026,7 +5970,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1347 stock/serializers.py:895 +#: stock/models.py:1347 stock/serializers.py:935 msgid "Duplicate stock items" msgstr "" @@ -6078,120 +6022,128 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:156 +#: stock/serializers.py:157 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:280 +#: stock/serializers.py:281 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:293 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:299 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 +#: stock/serializers.py:310 stock/serializers.py:892 stock/serializers.py:1125 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:316 +#: stock/serializers.py:317 msgid "Optional note field" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:327 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:344 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:383 +#: stock/serializers.py:384 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:397 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:404 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:440 +#: stock/serializers.py:441 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:445 stock/serializers.py:487 +#: stock/serializers.py:446 stock/serializers.py:527 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:482 +#: stock/serializers.py:480 +msgid "Select part to convert stock item into" +msgstr "" + +#: stock/serializers.py:491 +msgid "Selected part is not a valid option for conversion" +msgstr "" + +#: stock/serializers.py:522 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:707 +#: stock/serializers.py:747 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:711 +#: stock/serializers.py:751 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:755 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:786 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:752 +#: stock/serializers.py:792 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:760 +#: stock/serializers.py:800 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:770 stock/serializers.py:1001 +#: stock/serializers.py:810 stock/serializers.py:1041 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:859 +#: stock/serializers.py:899 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:864 +#: stock/serializers.py:904 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:865 +#: stock/serializers.py:905 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:870 +#: stock/serializers.py:910 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:871 +#: stock/serializers.py:911 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:881 +#: stock/serializers.py:921 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:963 +#: stock/serializers.py:1003 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:1031 msgid "Stock transaction notes" msgstr "" @@ -6228,7 +6180,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2743 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2795 msgid "Install Stock Item" msgstr "" @@ -6236,7 +6188,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1465 +#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1517 msgid "Add Test Result" msgstr "" @@ -6423,7 +6375,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1842 +#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1894 msgid "Last Updated" msgstr "" @@ -6439,19 +6391,26 @@ msgstr "" msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:646 +#: stock/templates/stock/item_base.html:594 +msgid "Select one of the part variants listed below." +msgstr "" + +#: stock/templates/stock/item_base.html:597 +msgid "Warning" +msgstr "" + +#: stock/templates/stock/item_base.html:598 +msgid "This action cannot be easily undone" +msgstr "" + +#: stock/templates/stock/item_base.html:606 +msgid "Convert Stock Item" +msgstr "" + +#: stock/templates/stock/item_base.html:664 msgid "Return to Stock" msgstr "" -#: stock/templates/stock/item_delete.html:9 -msgid "Are you sure you want to delete this stock item?" -msgstr "" - -#: stock/templates/stock/item_delete.html:12 -#, python-format -msgid "This will remove %(qty)s units of %(full_name)s from stock." -msgstr "" - #: stock/templates/stock/item_serialize.html:5 msgid "Create serialized items from this stock item." msgstr "" @@ -6516,38 +6475,6 @@ msgstr "" msgid "Stock Locations" msgstr "" -#: stock/templates/stock/location_delete.html:8 -msgid "Are you sure you want to delete this stock location?" -msgstr "" - -#: stock/templates/stock/location_delete.html:13 -#, python-format -msgid "This location contains %(n)s child locations" -msgstr "" - -#: stock/templates/stock/location_delete.html:15 -#, python-format -msgid "If this location is deleted, these child locations will be moved to %(location)s" -msgstr "" - -#: stock/templates/stock/location_delete.html:17 -msgid "If this location is deleted, these child locations will be moved to the top level stock location" -msgstr "" - -#: stock/templates/stock/location_delete.html:25 -#, python-format -msgid "This location contains %(n)s stock items" -msgstr "" - -#: stock/templates/stock/location_delete.html:27 -#, python-format -msgid "If this location is deleted, these stock items will be moved to %(location)s" -msgstr "" - -#: stock/templates/stock/location_delete.html:29 -msgid "If this location is deleted, these stock items will be moved to the top level stock location" -msgstr "" - #: stock/templates/stock/stock_app_base.html:16 msgid "Loading..." msgstr "" @@ -6564,43 +6491,14 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:144 -msgid "Convert Stock Item" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:8 -#, python-format -msgid "This stock item is current an instance of %(part)s" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:9 -msgid "It can be converted to one of the part variants listed below." -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:13 -msgid "Warning" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:14 -msgid "This action cannot be easily undone" -msgstr "" - -#: stock/views.py:111 +#: stock/views.py:109 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:127 +#: stock/views.py:125 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:178 -msgid "Delete Stock Location" -msgstr "" - -#: stock/views.py:191 -msgid "Delete Stock Item" -msgstr "" - #: templates/403.html:6 templates/403.html:12 msgid "Permission Denied" msgstr "" @@ -7806,7 +7704,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:998 +#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:1050 msgid "Remove stock item" msgstr "" @@ -7971,7 +7869,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:906 templates/js/translated/build.js:1819 -#: templates/js/translated/part.js:734 +#: templates/js/translated/part.js:759 msgid "Includes variant stock" msgstr "" @@ -8063,13 +7961,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:259 templates/js/translated/stock.js:90 -#: templates/js/translated/stock.js:180 +#: templates/js/translated/build.js:259 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:210 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:261 templates/js/translated/stock.js:92 -#: templates/js/translated/stock.js:182 +#: templates/js/translated/build.js:261 templates/js/translated/stock.js:94 +#: templates/js/translated/stock.js:212 msgid "Latest serial number" msgstr "" @@ -8282,9 +8180,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2447 templates/js/translated/part.js:1358 -#: templates/js/translated/part.js:1825 templates/js/translated/stock.js:1629 -#: templates/js/translated/stock.js:2287 +#: templates/js/translated/build.js:2447 templates/js/translated/part.js:1383 +#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1681 +#: templates/js/translated/stock.js:2339 msgid "Select" msgstr "" @@ -8296,7 +8194,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2529 +#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2581 msgid "No user information" msgstr "" @@ -8373,34 +8271,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:602 -#: templates/js/translated/company.js:861 templates/js/translated/part.js:609 -#: templates/js/translated/part.js:694 +#: templates/js/translated/company.js:861 templates/js/translated/part.js:634 +#: templates/js/translated/part.js:719 msgid "Template part" msgstr "" #: templates/js/translated/company.js:606 -#: templates/js/translated/company.js:865 templates/js/translated/part.js:613 -#: templates/js/translated/part.js:698 +#: templates/js/translated/company.js:865 templates/js/translated/part.js:638 +#: templates/js/translated/part.js:723 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:734 templates/js/translated/part.js:801 +#: templates/js/translated/company.js:734 templates/js/translated/part.js:826 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:771 templates/js/translated/part.js:843 +#: templates/js/translated/company.js:771 templates/js/translated/part.js:868 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:772 templates/js/translated/part.js:844 +#: templates/js/translated/company.js:772 templates/js/translated/part.js:869 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:791 templates/js/translated/part.js:861 +#: templates/js/translated/company.js:791 templates/js/translated/part.js:886 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:802 templates/js/translated/part.js:873 +#: templates/js/translated/company.js:802 templates/js/translated/part.js:898 msgid "Delete Parameter" msgstr "" @@ -8525,7 +8423,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1022 +#: templates/js/translated/stock.js:1074 msgid "Select Stock Items" msgstr "" @@ -8835,7 +8733,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2090 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2142 msgid "Stock Status" msgstr "" @@ -8859,7 +8757,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1602 templates/js/translated/part.js:914 +#: templates/js/translated/order.js:1602 templates/js/translated/part.js:939 msgid "No purchase orders found" msgstr "" @@ -8894,7 +8792,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:2044 templates/js/translated/part.js:2397 +#: templates/js/translated/part.js:2069 templates/js/translated/part.js:2422 msgid "Unit Price" msgstr "" @@ -8904,11 +8802,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:1993 templates/js/translated/order.js:3525 -#: templates/js/translated/part.js:1023 +#: templates/js/translated/part.js:1048 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1069 +#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1094 msgid "Receive line item" msgstr "" @@ -9029,7 +8927,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1545 +#: templates/js/translated/stock.js:1597 msgid "Shipped to customer" msgstr "" @@ -9073,305 +8971,321 @@ msgstr "" msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:55 +#: templates/js/translated/part.js:56 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:59 +#: templates/js/translated/part.js:60 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:63 +#: templates/js/translated/part.js:64 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:67 +#: templates/js/translated/part.js:68 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:81 +#: templates/js/translated/part.js:82 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:165 +#: templates/js/translated/part.js:166 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:167 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:173 +#: templates/js/translated/part.js:174 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:175 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:181 +#: templates/js/translated/part.js:182 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:199 +#: templates/js/translated/part.js:200 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:201 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:208 +#: templates/js/translated/part.js:209 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:209 +#: templates/js/translated/part.js:210 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:265 +#: templates/js/translated/part.js:266 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:267 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:274 +#: templates/js/translated/part.js:275 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:281 +#: templates/js/translated/part.js:282 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:283 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:295 +#: templates/js/translated/part.js:296 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:317 +#: templates/js/translated/part.js:318 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:340 +#: templates/js/translated/part.js:331 +msgid "Are you sure you want to delete this part category?" +msgstr "" + +#: templates/js/translated/part.js:333 +msgid "Any child categories will be moved to the parent of this category" +msgstr "" + +#: templates/js/translated/part.js:334 +msgid "Any parts in this category will be moved to the parent of this category" +msgstr "" + +#: templates/js/translated/part.js:339 +msgid "Delete Part Category" +msgstr "" + +#: templates/js/translated/part.js:365 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:342 +#: templates/js/translated/part.js:367 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:378 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:405 +#: templates/js/translated/part.js:430 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:406 +#: templates/js/translated/part.js:431 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:420 +#: templates/js/translated/part.js:445 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:422 +#: templates/js/translated/part.js:447 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:423 +#: templates/js/translated/part.js:448 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:424 +#: templates/js/translated/part.js:449 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:456 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:467 +#: templates/js/translated/part.js:492 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:469 +#: templates/js/translated/part.js:494 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:474 +#: templates/js/translated/part.js:499 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:476 +#: templates/js/translated/part.js:501 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:493 +#: templates/js/translated/part.js:518 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:503 +#: templates/js/translated/part.js:528 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:506 +#: templates/js/translated/part.js:531 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:556 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:557 templates/js/translated/part.js:1441 +#: templates/js/translated/part.js:582 templates/js/translated/part.js:1466 #: templates/js/translated/table_filters.js:452 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:567 templates/js/translated/part.js:1453 +#: templates/js/translated/part.js:592 templates/js/translated/part.js:1478 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:601 templates/js/translated/part.js:686 +#: templates/js/translated/part.js:626 templates/js/translated/part.js:711 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:605 templates/js/translated/part.js:690 +#: templates/js/translated/part.js:630 templates/js/translated/part.js:715 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:617 +#: templates/js/translated/part.js:642 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:621 +#: templates/js/translated/part.js:646 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:774 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1139 +#: templates/js/translated/part.js:1164 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1163 +#: templates/js/translated/part.js:1188 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1228 templates/js/translated/part.js:1524 +#: templates/js/translated/part.js:1253 templates/js/translated/part.js:1549 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1267 +#: templates/js/translated/part.js:1292 msgid "Not available" msgstr "" -#: templates/js/translated/part.js:1418 +#: templates/js/translated/part.js:1443 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1548 templates/js/translated/part.js:1760 -#: templates/js/translated/stock.js:2248 +#: templates/js/translated/part.js:1573 templates/js/translated/part.js:1785 +#: templates/js/translated/stock.js:2300 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1564 +#: templates/js/translated/part.js:1589 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1630 +#: templates/js/translated/part.js:1655 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:1635 +#: templates/js/translated/part.js:1660 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:1640 +#: templates/js/translated/part.js:1665 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:1653 +#: templates/js/translated/part.js:1678 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1779 templates/js/translated/stock.js:2267 +#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2319 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1843 +#: templates/js/translated/part.js:1868 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2311 +#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2363 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1901 +#: templates/js/translated/part.js:1926 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1952 templates/js/translated/stock.js:1243 +#: templates/js/translated/part.js:1977 templates/js/translated/stock.js:1295 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1953 templates/js/translated/stock.js:1244 -#: templates/js/translated/stock.js:1503 +#: templates/js/translated/part.js:1978 templates/js/translated/stock.js:1296 +#: templates/js/translated/stock.js:1555 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1959 +#: templates/js/translated/part.js:1984 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1981 +#: templates/js/translated/part.js:2006 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1995 +#: templates/js/translated/part.js:2020 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2020 +#: templates/js/translated/part.js:2045 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:2077 +#: templates/js/translated/part.js:2102 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:2078 +#: templates/js/translated/part.js:2103 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:2192 +#: templates/js/translated/part.js:2217 msgid "Current Stock" msgstr "" -#: templates/js/translated/part.js:2225 +#: templates/js/translated/part.js:2250 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2251 +#: templates/js/translated/part.js:2276 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2321 +#: templates/js/translated/part.js:2346 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:2340 +#: templates/js/translated/part.js:2365 msgid "Single Price Difference" msgstr "" @@ -9453,360 +9367,384 @@ msgstr "" msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:72 +#: templates/js/translated/stock.js:74 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:100 +#: templates/js/translated/stock.js:102 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:109 +#: templates/js/translated/stock.js:111 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:138 +#: templates/js/translated/stock.js:140 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:153 +#: templates/js/translated/stock.js:155 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:193 +#: templates/js/translated/stock.js:169 +msgid "Are you sure you want to delete this stock location?" +msgstr "" + +#: templates/js/translated/stock.js:171 +msgid "Any child locations will be moved to the parent of this location" +msgstr "" + +#: templates/js/translated/stock.js:172 +msgid "Any stock items in this location will be moved to the parent of this location" +msgstr "" + +#: templates/js/translated/stock.js:178 +msgid "Delete Stock Location" +msgstr "" + +#: templates/js/translated/stock.js:223 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:232 +#: templates/js/translated/stock.js:262 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:238 +#: templates/js/translated/stock.js:268 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:303 +#: templates/js/translated/stock.js:333 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:323 +#: templates/js/translated/stock.js:353 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:343 +#: templates/js/translated/stock.js:369 +msgid "Are you sure you want to delete this stock item?" +msgstr "" + +#: templates/js/translated/stock.js:374 +msgid "Delete Stock Item" +msgstr "" + +#: templates/js/translated/stock.js:395 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:393 +#: templates/js/translated/stock.js:445 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:458 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:431 +#: templates/js/translated/stock.js:483 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436 +#: templates/js/translated/stock.js:487 templates/js/translated/stock.js:488 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:452 +#: templates/js/translated/stock.js:504 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:472 +#: templates/js/translated/stock.js:524 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:481 +#: templates/js/translated/stock.js:533 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:604 +#: templates/js/translated/stock.js:656 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:605 +#: templates/js/translated/stock.js:657 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:682 +#: templates/js/translated/stock.js:734 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:683 +#: templates/js/translated/stock.js:735 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:685 +#: templates/js/translated/stock.js:737 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:686 +#: templates/js/translated/stock.js:738 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:772 +#: templates/js/translated/stock.js:824 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:825 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:868 +#: templates/js/translated/stock.js:920 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:869 +#: templates/js/translated/stock.js:921 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:875 +#: templates/js/translated/stock.js:927 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:876 +#: templates/js/translated/stock.js:928 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:880 +#: templates/js/translated/stock.js:932 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:881 +#: templates/js/translated/stock.js:933 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:885 +#: templates/js/translated/stock.js:937 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:886 users/models.py:215 +#: templates/js/translated/stock.js:938 users/models.py:215 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:890 +#: templates/js/translated/stock.js:942 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:983 +#: templates/js/translated/stock.js:1035 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:983 +#: templates/js/translated/stock.js:1035 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1023 +#: templates/js/translated/stock.js:1075 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1046 +#: templates/js/translated/stock.js:1098 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1182 +#: templates/js/translated/stock.js:1234 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1184 +#: templates/js/translated/stock.js:1236 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1189 +#: templates/js/translated/stock.js:1241 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1236 +#: templates/js/translated/stock.js:1288 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1239 +#: templates/js/translated/stock.js:1291 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1265 +#: templates/js/translated/stock.js:1317 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1321 +#: templates/js/translated/stock.js:1373 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1486 +#: templates/js/translated/stock.js:1538 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1508 +#: templates/js/translated/stock.js:1560 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1537 +#: templates/js/translated/stock.js:1589 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1541 +#: templates/js/translated/stock.js:1593 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1549 +#: templates/js/translated/stock.js:1601 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1607 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1722 +#: templates/js/translated/stock.js:1774 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1727 +#: templates/js/translated/stock.js:1779 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1730 +#: templates/js/translated/stock.js:1782 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1733 +#: templates/js/translated/stock.js:1785 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1735 +#: templates/js/translated/stock.js:1787 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1737 +#: templates/js/translated/stock.js:1789 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1792 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1796 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1746 +#: templates/js/translated/stock.js:1798 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1753 +#: templates/js/translated/stock.js:1805 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1755 +#: templates/js/translated/stock.js:1807 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1757 +#: templates/js/translated/stock.js:1809 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1761 +#: templates/js/translated/stock.js:1813 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:1864 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1894 +#: templates/js/translated/stock.js:1946 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1932 +#: templates/js/translated/stock.js:1984 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2105 +#: templates/js/translated/stock.js:2157 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2171 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2172 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2375 +#: templates/js/translated/stock.js:2427 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2391 +#: templates/js/translated/stock.js:2443 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2413 +#: templates/js/translated/stock.js:2465 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2432 +#: templates/js/translated/stock.js:2484 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2451 +#: templates/js/translated/stock.js:2503 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2469 +#: templates/js/translated/stock.js:2521 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2492 +#: templates/js/translated/stock.js:2544 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2500 +#: templates/js/translated/stock.js:2552 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2576 +#: templates/js/translated/stock.js:2628 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2663 +#: templates/js/translated/stock.js:2679 templates/js/translated/stock.js:2715 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2676 +#: templates/js/translated/stock.js:2728 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2697 +#: templates/js/translated/stock.js:2749 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2698 +#: templates/js/translated/stock.js:2750 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2700 +#: templates/js/translated/stock.js:2752 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2701 +#: templates/js/translated/stock.js:2753 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2702 +#: templates/js/translated/stock.js:2754 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2703 +#: templates/js/translated/stock.js:2755 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2716 +#: templates/js/translated/stock.js:2768 msgid "Select part to install" msgstr "" diff --git a/InvenTree/locale/fa/LC_MESSAGES/django.po b/InvenTree/locale/fa/LC_MESSAGES/django.po index df2ddfa7c5..cfd522e099 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-11 13:14+0000\n" -"PO-Revision-Date: 2022-06-11 15:03\n" +"POT-Creation-Date: 2022-06-15 08:34+0000\n" +"PO-Revision-Date: 2022-06-15 16:22\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -141,12 +141,12 @@ msgstr "" msgid "File comment" msgstr "" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1575 +#: common/models.py:1576 common/models.py:1799 common/models.py:1800 +#: common/models.py:2062 common/models.py:2063 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:2575 +#: templates/js/translated/stock.js:2576 msgid "User" msgstr "" @@ -183,7 +183,7 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1785 #: company/models.py:355 label/models.py:101 part/models.py:739 #: part/models.py:2319 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -195,7 +195,7 @@ msgstr "" #: templates/js/translated/company.js:744 #: templates/js/translated/notification.js:73 #: templates/js/translated/part.js:684 templates/js/translated/part.js:836 -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2345 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2346 msgid "Name" msgstr "" @@ -217,8 +217,8 @@ msgstr "" #: templates/js/translated/order.js:1888 templates/js/translated/order.js:2476 #: templates/js/translated/part.js:743 templates/js/translated/part.js:1151 #: templates/js/translated/part.js:1424 templates/js/translated/part.js:1876 -#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1738 -#: templates/js/translated/stock.js:2357 templates/js/translated/stock.js:2412 +#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1739 +#: templates/js/translated/stock.js:2358 templates/js/translated/stock.js:2413 msgid "Description" msgstr "" @@ -292,99 +292,99 @@ msgstr "" msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:689 msgid "Czech" msgstr "" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:690 msgid "German" msgstr "" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:691 msgid "Greek" msgstr "" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:692 msgid "English" msgstr "" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:693 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:694 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:695 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:696 msgid "French" msgstr "" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:697 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:698 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:699 msgid "Italian" msgstr "" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:700 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:701 msgid "Korean" msgstr "" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:702 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:703 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:704 msgid "Polish" msgstr "" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:705 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:706 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:707 msgid "Russian" msgstr "" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:708 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:709 msgid "Thai" msgstr "" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:710 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:711 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:712 msgid "Chinese" msgstr "" @@ -515,7 +515,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2082 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2083 msgid "Merged stock items" msgstr "" @@ -669,7 +669,7 @@ msgstr "" #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:479 #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 @@ -688,8 +688,8 @@ msgstr "" #: templates/js/translated/part.js:1136 templates/js/translated/part.js:1206 #: templates/js/translated/part.js:1402 templates/js/translated/stock.js:582 #: templates/js/translated/stock.js:747 templates/js/translated/stock.js:954 -#: templates/js/translated/stock.js:1695 templates/js/translated/stock.js:2438 -#: templates/js/translated/stock.js:2633 templates/js/translated/stock.js:2767 +#: templates/js/translated/stock.js:1696 templates/js/translated/stock.js:2439 +#: templates/js/translated/stock.js:2634 templates/js/translated/stock.js:2768 msgid "Part" msgstr "" @@ -815,14 +815,14 @@ msgstr "" #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 #: 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:759 stock/serializers.py:858 stock/serializers.py:990 +#: stock/serializers.py:316 stock/serializers.py:445 stock/serializers.py:526 +#: stock/serializers.py:799 stock/serializers.py:898 stock/serializers.py:1030 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1038 #: templates/js/translated/company.js:949 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:1369 templates/js/translated/stock.js:1978 +#: templates/js/translated/stock.js:1370 templates/js/translated/stock.js:1979 msgid "Notes" msgstr "" @@ -878,8 +878,8 @@ msgid "Build to allocate parts" msgstr "" #: 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 +#: order/serializers.py:1017 stock/serializers.py:383 stock/serializers.py:730 +#: stock/serializers.py:856 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 @@ -888,7 +888,7 @@ msgstr "" #: 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:583 templates/js/translated/stock.js:748 -#: templates/js/translated/stock.js:2511 +#: templates/js/translated/stock.js:2512 msgid "Stock Item" msgstr "" @@ -898,7 +898,7 @@ msgstr "" #: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1543 +#: build/templates/build/detail.html:34 common/models.py:1607 #: company/forms.py:36 company/templates/company/supplier_part.html:279 #: order/models.py:911 order/models.py:1414 order/serializers.py:1136 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 @@ -911,7 +911,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:280 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:691 #: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 @@ -928,7 +928,7 @@ msgstr "" #: templates/js/translated/part.js:2321 templates/js/translated/part.js:2355 #: templates/js/translated/part.js:2433 templates/js/translated/stock.js:454 #: templates/js/translated/stock.js:608 templates/js/translated/stock.js:778 -#: templates/js/translated/stock.js:2560 templates/js/translated/stock.js:2645 +#: templates/js/translated/stock.js:2561 templates/js/translated/stock.js:2646 msgid "Quantity" msgstr "" @@ -972,7 +972,7 @@ msgstr "" #: build/serializers.py:198 build/serializers.py:623 order/models.py:354 #: 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 +#: stock/serializers.py:289 msgid "Quantity must be greater than zero" msgstr "" @@ -985,7 +985,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 -#: stock/serializers.py:297 templates/js/translated/order.js:1186 +#: stock/serializers.py:298 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:267 templates/js/translated/stock.js:455 msgid "Serial Numbers" msgstr "" @@ -1002,7 +1002,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:553 +#: build/serializers.py:268 stock/api.py:559 msgid "The following serial numbers already exist" msgstr "" @@ -1011,8 +1011,8 @@ msgid "A list of build outputs must be provided" 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:851 stock/serializers.py:1084 +#: stock/serializers.py:309 stock/serializers.py:440 stock/serializers.py:521 +#: stock/serializers.py:891 stock/serializers.py:1124 #: 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 @@ -1021,7 +1021,7 @@ msgstr "" #: templates/js/translated/order.js:3247 templates/js/translated/order.js:3328 #: templates/js/translated/part.js:181 templates/js/translated/stock.js:584 #: templates/js/translated/stock.js:749 templates/js/translated/stock.js:956 -#: templates/js/translated/stock.js:1849 templates/js/translated/stock.js:2452 +#: templates/js/translated/stock.js:1850 templates/js/translated/stock.js:2453 msgid "Location" msgstr "" @@ -1034,8 +1034,8 @@ msgstr "" #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2509 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 -#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1824 -#: templates/js/translated/stock.js:2529 templates/js/translated/stock.js:2661 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1825 +#: templates/js/translated/stock.js:2530 templates/js/translated/stock.js:2662 msgid "Status" msgstr "" @@ -1112,7 +1112,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:703 +#: build/serializers.py:609 stock/serializers.py:743 msgid "Item must be in stock" msgstr "" @@ -1333,8 +1333,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:1022 templates/js/translated/stock.js:1838 -#: templates/js/translated/stock.js:2668 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:1839 +#: templates/js/translated/stock.js:2669 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1545,912 +1545,912 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:365 +#: common/models.py:434 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:367 +#: common/models.py:436 msgid "Settings value" msgstr "" -#: common/models.py:408 +#: common/models.py:477 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:425 +#: common/models.py:494 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:436 +#: common/models.py:505 msgid "Value must be an integer value" msgstr "" -#: common/models.py:481 +#: common/models.py:550 msgid "Key string must be unique" msgstr "" -#: common/models.py:665 +#: common/models.py:734 msgid "No group" msgstr "" -#: common/models.py:704 +#: common/models.py:773 msgid "Restart required" msgstr "" -#: common/models.py:705 +#: common/models.py:774 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:712 +#: common/models.py:781 msgid "Server Instance Name" msgstr "" -#: common/models.py:714 +#: common/models.py:783 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:718 +#: common/models.py:787 msgid "Use instance name" msgstr "" -#: common/models.py:719 +#: common/models.py:788 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:725 +#: common/models.py:794 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:726 +#: common/models.py:795 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:732 company/models.py:93 company/models.py:94 +#: common/models.py:801 company/models.py:93 company/models.py:94 msgid "Company name" msgstr "" -#: common/models.py:733 +#: common/models.py:802 msgid "Internal company name" msgstr "" -#: common/models.py:738 +#: common/models.py:807 msgid "Base URL" msgstr "" -#: common/models.py:739 +#: common/models.py:808 msgid "Base URL for server instance" msgstr "" -#: common/models.py:745 +#: common/models.py:814 msgid "Default Currency" msgstr "" -#: common/models.py:746 +#: common/models.py:815 msgid "Default currency" msgstr "" -#: common/models.py:752 +#: common/models.py:821 msgid "Download from URL" msgstr "" -#: common/models.py:753 +#: common/models.py:822 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:828 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:760 +#: common/models.py:829 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:766 +#: common/models.py:835 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:767 +#: common/models.py:836 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:773 +#: common/models.py:842 msgid "IPN Regex" msgstr "" -#: common/models.py:774 +#: common/models.py:843 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:778 +#: common/models.py:847 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:779 +#: common/models.py:848 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:785 +#: common/models.py:854 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:786 +#: common/models.py:855 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:792 +#: common/models.py:861 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:793 +#: common/models.py:862 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:799 +#: common/models.py:868 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:800 +#: common/models.py:869 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:806 +#: common/models.py:875 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:807 +#: common/models.py:876 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:813 +#: common/models.py:882 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:814 +#: common/models.py:883 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:820 part/models.py:2360 report/models.py:157 +#: common/models.py:889 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:821 +#: common/models.py:890 msgid "Parts are templates by default" msgstr "" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 +#: common/models.py:896 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" msgstr "" -#: common/models.py:828 +#: common/models.py:897 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:834 part/models.py:890 +#: common/models.py:903 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:835 +#: common/models.py:904 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:841 part/models.py:901 +#: common/models.py:910 part/models.py:901 msgid "Purchaseable" msgstr "" -#: common/models.py:842 +#: common/models.py:911 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:848 part/models.py:906 +#: common/models.py:917 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:849 +#: common/models.py:918 msgid "Parts are salable by default" msgstr "" -#: common/models.py:855 part/models.py:896 +#: common/models.py:924 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:856 +#: common/models.py:925 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:862 part/models.py:916 +#: common/models.py:931 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:863 +#: common/models.py:932 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:869 +#: common/models.py:938 msgid "Show Import in Views" msgstr "" -#: common/models.py:870 +#: common/models.py:939 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:876 +#: common/models.py:945 msgid "Show Price in Forms" msgstr "" -#: common/models.py:877 +#: common/models.py:946 msgid "Display part price in some forms" msgstr "" -#: common/models.py:888 +#: common/models.py:957 msgid "Show Price in BOM" msgstr "" -#: common/models.py:889 +#: common/models.py:958 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:900 +#: common/models.py:969 msgid "Show Price History" msgstr "" -#: common/models.py:901 +#: common/models.py:970 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:907 +#: common/models.py:976 msgid "Show related parts" msgstr "" -#: common/models.py:908 +#: common/models.py:977 msgid "Display related parts for a part" msgstr "" -#: common/models.py:914 +#: common/models.py:983 msgid "Create initial stock" msgstr "" -#: common/models.py:915 +#: common/models.py:984 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:921 +#: common/models.py:990 msgid "Internal Prices" msgstr "" -#: common/models.py:922 +#: common/models.py:991 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:928 +#: common/models.py:997 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:929 +#: common/models.py:998 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:935 +#: common/models.py:1004 msgid "Part Name Display Format" msgstr "" -#: common/models.py:936 +#: common/models.py:1005 msgid "Format to display the part name" msgstr "" -#: common/models.py:943 +#: common/models.py:1012 msgid "Enable Reports" msgstr "" -#: common/models.py:944 +#: common/models.py:1013 msgid "Enable generation of reports" msgstr "" -#: common/models.py:950 templates/stats.html:25 +#: common/models.py:1019 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:951 +#: common/models.py:1020 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:957 +#: common/models.py:1026 msgid "Page Size" msgstr "" -#: common/models.py:958 +#: common/models.py:1027 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:968 +#: common/models.py:1037 msgid "Enable Test Reports" msgstr "" -#: common/models.py:969 +#: common/models.py:1038 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:975 +#: common/models.py:1044 msgid "Attach Test Reports" msgstr "" -#: common/models.py:976 +#: common/models.py:1045 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:982 +#: common/models.py:1051 msgid "Batch Code Template" msgstr "" -#: common/models.py:983 +#: common/models.py:1052 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:988 +#: common/models.py:1057 msgid "Stock Expiry" msgstr "" -#: common/models.py:989 +#: common/models.py:1058 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:995 +#: common/models.py:1064 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:996 +#: common/models.py:1065 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1002 +#: common/models.py:1071 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1003 +#: common/models.py:1072 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1005 +#: common/models.py:1074 msgid "days" msgstr "" -#: common/models.py:1010 +#: common/models.py:1079 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1011 +#: common/models.py:1080 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1017 +#: common/models.py:1086 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1018 +#: common/models.py:1087 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1024 +#: common/models.py:1093 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1025 +#: common/models.py:1094 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1030 +#: common/models.py:1099 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1031 +#: common/models.py:1100 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1035 +#: common/models.py:1104 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1036 +#: common/models.py:1105 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1041 +#: common/models.py:1110 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1042 +#: common/models.py:1111 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1048 +#: common/models.py:1117 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1049 +#: common/models.py:1118 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1055 +#: common/models.py:1124 msgid "Enable password forgot" msgstr "" -#: common/models.py:1056 +#: common/models.py:1125 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1131 msgid "Enable registration" msgstr "" -#: common/models.py:1063 +#: common/models.py:1132 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1069 +#: common/models.py:1138 msgid "Enable SSO" msgstr "" -#: common/models.py:1070 +#: common/models.py:1139 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1076 +#: common/models.py:1145 msgid "Email required" msgstr "" -#: common/models.py:1077 +#: common/models.py:1146 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1083 +#: common/models.py:1152 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1084 +#: common/models.py:1153 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1090 +#: common/models.py:1159 msgid "Mail twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1160 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1097 +#: common/models.py:1166 msgid "Password twice" msgstr "" -#: common/models.py:1098 +#: common/models.py:1167 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1104 +#: common/models.py:1173 msgid "Group on signup" msgstr "" -#: common/models.py:1105 +#: common/models.py:1174 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1111 +#: common/models.py:1180 msgid "Enforce MFA" msgstr "" -#: common/models.py:1112 +#: common/models.py:1181 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1118 +#: common/models.py:1187 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1119 +#: common/models.py:1188 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1127 +#: common/models.py:1196 msgid "Enable URL integration" msgstr "" -#: common/models.py:1128 +#: common/models.py:1197 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1135 +#: common/models.py:1204 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1136 +#: common/models.py:1205 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1143 +#: common/models.py:1212 msgid "Enable app integration" msgstr "" -#: common/models.py:1144 +#: common/models.py:1213 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1151 +#: common/models.py:1220 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1152 +#: common/models.py:1221 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1159 +#: common/models.py:1228 msgid "Enable event integration" msgstr "" -#: common/models.py:1160 +#: common/models.py:1229 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1177 common/models.py:1499 +#: common/models.py:1246 common/models.py:1568 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1199 +#: common/models.py:1268 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1200 +#: common/models.py:1269 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1275 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1207 +#: common/models.py:1276 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1213 +#: common/models.py:1282 msgid "Show latest parts" msgstr "" -#: common/models.py:1214 +#: common/models.py:1283 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1220 +#: common/models.py:1289 msgid "Recent Part Count" msgstr "" -#: common/models.py:1221 +#: common/models.py:1290 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1227 +#: common/models.py:1296 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1228 +#: common/models.py:1297 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1303 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1235 +#: common/models.py:1304 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1241 +#: common/models.py:1310 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1242 +#: common/models.py:1311 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1248 +#: common/models.py:1317 msgid "Show low stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1318 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1324 msgid "Show depleted stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1325 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1331 msgid "Show needed stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1332 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1338 msgid "Show expired stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1339 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1345 msgid "Show stale stock" msgstr "" -#: common/models.py:1277 +#: common/models.py:1346 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1352 msgid "Show pending builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1353 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1359 msgid "Show overdue builds" msgstr "" -#: common/models.py:1291 +#: common/models.py:1360 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1366 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1367 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1373 msgid "Show overdue POs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1374 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1380 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1381 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1387 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1319 +#: common/models.py:1388 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1324 +#: common/models.py:1393 msgid "Enable label printing" msgstr "" -#: common/models.py:1325 +#: common/models.py:1394 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1331 +#: common/models.py:1400 msgid "Inline label display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1401 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1407 msgid "Inline report display" msgstr "" -#: common/models.py:1339 +#: common/models.py:1408 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1345 +#: common/models.py:1414 msgid "Search Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1415 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1421 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1422 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1428 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1429 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1435 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1367 +#: common/models.py:1436 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1442 msgid "Search Categories" msgstr "" -#: common/models.py:1374 +#: common/models.py:1443 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1449 msgid "Search Stock" msgstr "" -#: common/models.py:1381 +#: common/models.py:1450 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1456 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1388 +#: common/models.py:1457 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1463 msgid "Search Locations" msgstr "" -#: common/models.py:1395 +#: common/models.py:1464 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1470 msgid "Search Companies" msgstr "" -#: common/models.py:1402 +#: common/models.py:1471 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1477 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1478 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1484 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1485 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1491 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1492 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1498 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1430 +#: common/models.py:1499 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1505 msgid "Search Preview Results" msgstr "" -#: common/models.py:1437 +#: common/models.py:1506 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1512 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1513 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1519 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1451 +#: common/models.py:1520 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1457 +#: common/models.py:1526 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1458 +#: common/models.py:1527 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1464 +#: common/models.py:1533 msgid "Date Format" msgstr "" -#: common/models.py:1465 +#: common/models.py:1534 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1479 part/templates/part/detail.html:39 +#: common/models.py:1548 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1480 +#: common/models.py:1549 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1544 company/forms.py:37 +#: common/models.py:1608 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1551 company/serializers.py:319 +#: common/models.py:1615 company/serializers.py:319 #: company/templates/company/supplier_part.html:284 order/models.py:951 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:2095 msgid "Price" msgstr "" -#: common/models.py:1552 +#: common/models.py:1616 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1712 common/models.py:1890 +#: common/models.py:1776 common/models.py:1954 msgid "Endpoint" msgstr "" -#: common/models.py:1713 +#: common/models.py:1777 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1722 +#: common/models.py:1786 msgid "Name for this webhook" msgstr "" -#: common/models.py:1727 part/models.py:911 plugin/models.py:99 +#: common/models.py:1791 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,67 +2458,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1728 +#: common/models.py:1792 msgid "Is this webhook active" msgstr "" -#: common/models.py:1742 +#: common/models.py:1806 msgid "Token" msgstr "" -#: common/models.py:1743 +#: common/models.py:1807 msgid "Token for access" msgstr "" -#: common/models.py:1750 +#: common/models.py:1814 msgid "Secret" msgstr "" -#: common/models.py:1751 +#: common/models.py:1815 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1857 +#: common/models.py:1921 msgid "Message ID" msgstr "" -#: common/models.py:1858 +#: common/models.py:1922 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1866 +#: common/models.py:1930 msgid "Host" msgstr "" -#: common/models.py:1867 +#: common/models.py:1931 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1874 +#: common/models.py:1938 msgid "Header" msgstr "" -#: common/models.py:1875 +#: common/models.py:1939 msgid "Header of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1945 msgid "Body" msgstr "" -#: common/models.py:1882 +#: common/models.py:1946 msgid "Body of this message" msgstr "" -#: common/models.py:1891 +#: common/models.py:1955 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1896 +#: common/models.py:1960 msgid "Worked on" msgstr "" -#: common/models.py:1897 +#: common/models.py:1961 msgid "Was the work on this message finished?" msgstr "" @@ -2657,7 +2657,7 @@ msgstr "" #: company/models.py:145 company/serializers.py:325 #: company/templates/company/company_base.html:106 part/serializers.py:139 -#: part/serializers.py:170 stock/serializers.py:162 +#: part/serializers.py:170 stock/serializers.py:163 msgid "Currency" msgstr "" @@ -2793,7 +2793,7 @@ msgstr "" #: company/models.py:519 company/templates/company/supplier_part.html:146 #: 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 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:388 msgid "Note" msgstr "" @@ -2807,7 +2807,7 @@ msgstr "" #: company/models.py:525 company/templates/company/supplier_part.html:139 #: stock/models.py:608 stock/templates/stock/item_base.html:245 -#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1974 +#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1975 msgid "Packaging" msgstr "" @@ -2902,11 +2902,11 @@ msgstr "" #: company/templates/company/company_base.html:86 order/models.py:651 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:745 +#: stock/models.py:628 stock/serializers.py:785 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:381 templates/js/translated/order.js:2458 -#: templates/js/translated/stock.js:2493 +#: templates/js/translated/stock.js:2494 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "" @@ -3079,7 +3079,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 -#: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:33 +#: templates/js/translated/forms.js:442 templates/js/translated/helpers.js:33 #: users/models.py:219 msgid "Delete" msgstr "" @@ -3127,7 +3127,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:894 templates/js/translated/order.js:884 -#: templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:1932 msgid "Supplier Part" msgstr "" @@ -3235,7 +3235,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:43 #: templates/js/translated/bom.js:554 templates/js/translated/part.js:747 #: templates/js/translated/part.js:1295 templates/js/translated/part.js:1456 -#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1749 +#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1750 #: templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3262,7 +3262,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:2369 users/models.py:39 +#: templates/js/translated/stock.js:2370 users/models.py:39 msgid "Stock Items" msgstr "" @@ -3536,8 +3536,8 @@ msgstr "" #: 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:968 templates/js/translated/stock.js:1908 -#: templates/js/translated/stock.js:2474 +#: templates/js/translated/part.js:968 templates/js/translated/stock.js:1909 +#: templates/js/translated/stock.js:2475 msgid "Purchase Order" msgstr "" @@ -3557,8 +3557,8 @@ msgid "Number of items received" msgstr "" #: order/models.py:1030 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:1962 +#: stock/serializers.py:154 stock/templates/stock/item_base.html:191 +#: templates/js/translated/stock.js:1963 msgid "Purchase Price" msgstr "" @@ -4121,19 +4121,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1011 +#: part/api.py:1058 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1015 +#: part/api.py:1062 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1030 +#: part/api.py:1077 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 +#: part/api.py:1108 part/api.py:1112 part/api.py:1127 part/api.py:1131 msgid "This field is required" msgstr "" @@ -4268,7 +4268,7 @@ msgstr "" #: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:735 templates/js/translated/part.js:1391 -#: templates/js/translated/stock.js:1721 +#: templates/js/translated/stock.js:1722 msgid "IPN" msgstr "" @@ -4611,7 +4611,7 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:164 msgid "Purchase currency of this stock item" msgstr "" @@ -5752,7 +5752,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2402 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2403 msgid "Date" msgstr "" @@ -5771,19 +5771,19 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: templates/js/translated/stock.js:606 templates/js/translated/stock.js:776 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2652 msgid "Serial" msgstr "" -#: stock/api.py:505 +#: stock/api.py:511 msgid "Quantity is required" msgstr "" -#: stock/api.py:512 +#: stock/api.py:518 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:537 +#: stock/api.py:543 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5891,7 +5891,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1879 msgid "Expiry Date" msgstr "" @@ -5969,7 +5969,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1347 stock/serializers.py:895 +#: stock/models.py:1347 stock/serializers.py:935 msgid "Duplicate stock items" msgstr "" @@ -6021,120 +6021,128 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:156 +#: stock/serializers.py:157 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:280 +#: stock/serializers.py:281 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:293 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:299 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 +#: stock/serializers.py:310 stock/serializers.py:892 stock/serializers.py:1125 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:316 +#: stock/serializers.py:317 msgid "Optional note field" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:327 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:344 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:383 +#: stock/serializers.py:384 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:397 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:404 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:440 +#: stock/serializers.py:441 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:445 stock/serializers.py:487 +#: stock/serializers.py:446 stock/serializers.py:527 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:482 +#: stock/serializers.py:480 +msgid "Select part to convert stock item into" +msgstr "" + +#: stock/serializers.py:491 +msgid "Selected part is not a valid option for conversion" +msgstr "" + +#: stock/serializers.py:522 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:707 +#: stock/serializers.py:747 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:711 +#: stock/serializers.py:751 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:755 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:786 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:752 +#: stock/serializers.py:792 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:760 +#: stock/serializers.py:800 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:770 stock/serializers.py:1001 +#: stock/serializers.py:810 stock/serializers.py:1041 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:859 +#: stock/serializers.py:899 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:864 +#: stock/serializers.py:904 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:865 +#: stock/serializers.py:905 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:870 +#: stock/serializers.py:910 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:871 +#: stock/serializers.py:911 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:881 +#: stock/serializers.py:921 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:963 +#: stock/serializers.py:1003 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:1031 msgid "Stock transaction notes" msgstr "" @@ -6171,7 +6179,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2795 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2796 msgid "Install Stock Item" msgstr "" @@ -6179,7 +6187,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1517 +#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1518 msgid "Add Test Result" msgstr "" @@ -6366,7 +6374,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1894 +#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1895 msgid "Last Updated" msgstr "" @@ -6382,7 +6390,23 @@ msgstr "" msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:642 +#: stock/templates/stock/item_base.html:594 +msgid "Select one of the part variants listed below." +msgstr "" + +#: stock/templates/stock/item_base.html:597 +msgid "Warning" +msgstr "" + +#: stock/templates/stock/item_base.html:598 +msgid "This action cannot be easily undone" +msgstr "" + +#: stock/templates/stock/item_base.html:606 +msgid "Convert Stock Item" +msgstr "" + +#: stock/templates/stock/item_base.html:664 msgid "Return to Stock" msgstr "" @@ -6466,32 +6490,11 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:143 -msgid "Convert Stock Item" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:8 -#, python-format -msgid "This stock item is current an instance of %(part)s" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:9 -msgid "It can be converted to one of the part variants listed below." -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:13 -msgid "Warning" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:14 -msgid "This action cannot be easily undone" -msgstr "" - -#: stock/views.py:110 +#: stock/views.py:109 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:126 +#: stock/views.py:125 msgid "Stock Item QR Code" msgstr "" @@ -7303,7 +7306,7 @@ 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 +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:633 msgid "Confirm" msgstr "تایید" @@ -8175,8 +8178,8 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2447 templates/js/translated/part.js:1383 -#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1681 -#: templates/js/translated/stock.js:2339 +#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:2340 msgid "Select" msgstr "" @@ -8188,7 +8191,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2581 +#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2582 msgid "No user information" msgstr "" @@ -8342,61 +8345,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:353 templates/js/translated/forms.js:368 -#: templates/js/translated/forms.js:382 templates/js/translated/forms.js:396 +#: templates/js/translated/forms.js:356 templates/js/translated/forms.js:371 +#: templates/js/translated/forms.js:385 templates/js/translated/forms.js:399 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:355 +#: templates/js/translated/forms.js:358 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:370 +#: templates/js/translated/forms.js:373 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:384 +#: templates/js/translated/forms.js:387 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:398 +#: templates/js/translated/forms.js:401 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:656 +#: templates/js/translated/forms.js:659 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:757 +#: templates/js/translated/forms.js:760 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1249 templates/modals.html:19 +#: templates/js/translated/forms.js:1252 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1682 +#: templates/js/translated/forms.js:1685 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1897 templates/search.html:29 +#: templates/js/translated/forms.js:1900 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2150 +#: templates/js/translated/forms.js:2153 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2628 +#: templates/js/translated/forms.js:2631 msgid "Select Columns" msgstr "" @@ -8727,7 +8730,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2142 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2143 msgid "Stock Status" msgstr "" @@ -8921,7 +8924,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1597 +#: templates/js/translated/stock.js:1598 msgid "Shipped to customer" msgstr "" @@ -9187,7 +9190,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:1573 templates/js/translated/part.js:1785 -#: templates/js/translated/stock.js:2300 +#: templates/js/translated/stock.js:2301 msgid "Display as list" msgstr "" @@ -9211,7 +9214,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2319 +#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2320 msgid "Display as tree" msgstr "" @@ -9219,7 +9222,7 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2363 +#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2364 msgid "Path" msgstr "" @@ -9232,7 +9235,7 @@ msgid "Edit test result" msgstr "" #: templates/js/translated/part.js:1978 templates/js/translated/stock.js:1296 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1556 msgid "Delete test result" msgstr "" @@ -9565,180 +9568,180 @@ msgstr "" msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1374 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1538 +#: templates/js/translated/stock.js:1539 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/stock.js:1561 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1590 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1593 +#: templates/js/translated/stock.js:1594 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1601 +#: templates/js/translated/stock.js:1602 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1607 +#: templates/js/translated/stock.js:1608 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1775 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:1780 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1782 +#: templates/js/translated/stock.js:1783 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1785 +#: templates/js/translated/stock.js:1786 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1787 +#: templates/js/translated/stock.js:1788 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1790 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1793 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1797 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1799 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1806 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1807 +#: templates/js/translated/stock.js:1808 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1809 +#: templates/js/translated/stock.js:1810 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1813 +#: templates/js/translated/stock.js:1814 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1865 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1946 +#: templates/js/translated/stock.js:1947 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1984 +#: templates/js/translated/stock.js:1985 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2157 +#: templates/js/translated/stock.js:2158 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2171 +#: templates/js/translated/stock.js:2172 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2173 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2443 +#: templates/js/translated/stock.js:2444 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2465 +#: templates/js/translated/stock.js:2466 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2484 +#: templates/js/translated/stock.js:2485 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2504 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2521 +#: templates/js/translated/stock.js:2522 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2545 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2552 +#: templates/js/translated/stock.js:2553 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2629 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2679 templates/js/translated/stock.js:2715 +#: templates/js/translated/stock.js:2680 templates/js/translated/stock.js:2716 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2729 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2749 +#: templates/js/translated/stock.js:2750 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2751 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2753 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/stock.js:2754 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2755 +#: templates/js/translated/stock.js:2756 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2768 +#: templates/js/translated/stock.js:2769 msgid "Select part to install" msgstr "" @@ -9990,61 +9993,61 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:525 +#: templates/js/translated/tables.js:534 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:528 +#: templates/js/translated/tables.js:537 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:533 +#: templates/js/translated/tables.js:542 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "to" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "of" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:539 templates/navbar.html:102 +#: templates/js/translated/tables.js:548 templates/navbar.html:102 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" msgstr "" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:551 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:554 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:548 +#: templates/js/translated/tables.js:557 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:551 +#: templates/js/translated/tables.js:560 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:563 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:566 msgid "All" msgstr "" diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po index 65b854922b..7dcb1f4756 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-11 13:14+0000\n" -"PO-Revision-Date: 2022-06-11 15:02\n" +"POT-Creation-Date: 2022-06-15 08:34+0000\n" +"PO-Revision-Date: 2022-06-15 16:22\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -141,12 +141,12 @@ msgstr "Commentaire" msgid "File comment" msgstr "Commentaire du fichier" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1575 +#: common/models.py:1576 common/models.py:1799 common/models.py:1800 +#: common/models.py:2062 common/models.py:2063 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:2575 +#: templates/js/translated/stock.js:2576 msgid "User" msgstr "Utilisateur" @@ -183,7 +183,7 @@ msgstr "Erreur lors du renommage du fichier" msgid "Invalid choice" msgstr "Choix invalide" -#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1785 #: company/models.py:355 label/models.py:101 part/models.py:739 #: part/models.py:2319 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -195,7 +195,7 @@ msgstr "Choix invalide" #: templates/js/translated/company.js:744 #: templates/js/translated/notification.js:73 #: templates/js/translated/part.js:684 templates/js/translated/part.js:836 -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2345 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2346 msgid "Name" msgstr "Nom" @@ -217,8 +217,8 @@ msgstr "Nom" #: templates/js/translated/order.js:1888 templates/js/translated/order.js:2476 #: templates/js/translated/part.js:743 templates/js/translated/part.js:1151 #: templates/js/translated/part.js:1424 templates/js/translated/part.js:1876 -#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1738 -#: templates/js/translated/stock.js:2357 templates/js/translated/stock.js:2412 +#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1739 +#: templates/js/translated/stock.js:2358 templates/js/translated/stock.js:2413 msgid "Description" msgstr "Description" @@ -292,99 +292,99 @@ msgstr "Colonne requise manquante : {name}" msgid "Duplicate column: '{col}'" msgstr "Colonne duliquée : '{col}'" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:689 msgid "Czech" msgstr "Tchèque" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:690 msgid "German" msgstr "Allemand" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:691 msgid "Greek" msgstr "Grec" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:692 msgid "English" msgstr "Anglais" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:693 msgid "Spanish" msgstr "Espagnol" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:694 msgid "Spanish (Mexican)" msgstr "Espagnol (Mexique)" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:695 msgid "Farsi / Persian" msgstr "Farsi / Perse" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:696 msgid "French" msgstr "Français" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:697 msgid "Hebrew" msgstr "Hébreu" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:698 msgid "Hungarian" msgstr "Hongrois" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:699 msgid "Italian" msgstr "Italien" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:700 msgid "Japanese" msgstr "Japonais" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:701 msgid "Korean" msgstr "Coréen" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:702 msgid "Dutch" msgstr "Néerlandais" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:703 msgid "Norwegian" msgstr "Norvégien" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:704 msgid "Polish" msgstr "Polonais" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:705 msgid "Portuguese" msgstr "Portugais" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:706 msgid "Portuguese (Brazilian)" msgstr "Portugais (Brésilien)" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:707 msgid "Russian" msgstr "Russe" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:708 msgid "Swedish" msgstr "Suédois" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:709 msgid "Thai" msgstr "Thaïlandais" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:710 msgid "Turkish" msgstr "Turc" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:711 msgid "Vietnamese" msgstr "Vietnamien" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:712 msgid "Chinese" msgstr "Chinois" @@ -515,7 +515,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:2082 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2083 msgid "Merged stock items" msgstr "Articles de stock fusionnés" @@ -669,7 +669,7 @@ msgstr "BuildOrder associé a cette fabrication" #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:479 #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 @@ -688,8 +688,8 @@ msgstr "BuildOrder associé a cette fabrication" #: templates/js/translated/part.js:1136 templates/js/translated/part.js:1206 #: templates/js/translated/part.js:1402 templates/js/translated/stock.js:582 #: templates/js/translated/stock.js:747 templates/js/translated/stock.js:954 -#: templates/js/translated/stock.js:1695 templates/js/translated/stock.js:2438 -#: templates/js/translated/stock.js:2633 templates/js/translated/stock.js:2767 +#: templates/js/translated/stock.js:1696 templates/js/translated/stock.js:2439 +#: templates/js/translated/stock.js:2634 templates/js/translated/stock.js:2768 msgid "Part" msgstr "Pièce" @@ -815,14 +815,14 @@ msgstr "Lien Externe" #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 #: 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:759 stock/serializers.py:858 stock/serializers.py:990 +#: stock/serializers.py:316 stock/serializers.py:445 stock/serializers.py:526 +#: stock/serializers.py:799 stock/serializers.py:898 stock/serializers.py:1030 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1038 #: templates/js/translated/company.js:949 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:1369 templates/js/translated/stock.js:1978 +#: templates/js/translated/stock.js:1370 templates/js/translated/stock.js:1979 msgid "Notes" msgstr "Notes" @@ -878,8 +878,8 @@ msgid "Build to allocate parts" msgstr "Construction à laquelle allouer des pièces" #: 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 +#: order/serializers.py:1017 stock/serializers.py:383 stock/serializers.py:730 +#: stock/serializers.py:856 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 @@ -888,7 +888,7 @@ msgstr "Construction à laquelle allouer des pièces" #: 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:583 templates/js/translated/stock.js:748 -#: templates/js/translated/stock.js:2511 +#: templates/js/translated/stock.js:2512 msgid "Stock Item" msgstr "Article en stock" @@ -898,7 +898,7 @@ msgstr "Stock d'origine de l'article" #: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1543 +#: build/templates/build/detail.html:34 common/models.py:1607 #: company/forms.py:36 company/templates/company/supplier_part.html:279 #: order/models.py:911 order/models.py:1414 order/serializers.py:1136 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 @@ -911,7 +911,7 @@ msgstr "Stock d'origine de l'article" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:280 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:691 #: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 @@ -928,7 +928,7 @@ msgstr "Stock d'origine de l'article" #: templates/js/translated/part.js:2321 templates/js/translated/part.js:2355 #: templates/js/translated/part.js:2433 templates/js/translated/stock.js:454 #: templates/js/translated/stock.js:608 templates/js/translated/stock.js:778 -#: templates/js/translated/stock.js:2560 templates/js/translated/stock.js:2645 +#: templates/js/translated/stock.js:2561 templates/js/translated/stock.js:2646 msgid "Quantity" msgstr "Quantité" @@ -972,7 +972,7 @@ msgstr "Entrer la quantité désiré pour la fabrication" #: build/serializers.py:198 build/serializers.py:623 order/models.py:354 #: 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 +#: stock/serializers.py:289 msgid "Quantity must be greater than zero" msgstr "La quantité doit être supérieure à zéro" @@ -985,7 +985,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa 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:1140 -#: stock/serializers.py:297 templates/js/translated/order.js:1186 +#: stock/serializers.py:298 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:267 templates/js/translated/stock.js:455 msgid "Serial Numbers" msgstr "Numéros de série" @@ -1002,7 +1002,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:553 +#: build/serializers.py:268 stock/api.py:559 msgid "The following serial numbers already exist" msgstr "Le numéro de série suivant existe déjà" @@ -1011,8 +1011,8 @@ msgid "A list of build outputs must be provided" 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:851 stock/serializers.py:1084 +#: stock/serializers.py:309 stock/serializers.py:440 stock/serializers.py:521 +#: stock/serializers.py:891 stock/serializers.py:1124 #: 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 @@ -1021,7 +1021,7 @@ msgstr "Une liste d'ordre de production doit être fourni" #: templates/js/translated/order.js:3247 templates/js/translated/order.js:3328 #: templates/js/translated/part.js:181 templates/js/translated/stock.js:584 #: templates/js/translated/stock.js:749 templates/js/translated/stock.js:956 -#: templates/js/translated/stock.js:1849 templates/js/translated/stock.js:2452 +#: templates/js/translated/stock.js:1850 templates/js/translated/stock.js:2453 msgid "Location" msgstr "Emplacement" @@ -1034,8 +1034,8 @@ msgstr "Emplacement des ordres de production achevés" #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2509 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 -#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1824 -#: templates/js/translated/stock.js:2529 templates/js/translated/stock.js:2661 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1825 +#: templates/js/translated/stock.js:2530 templates/js/translated/stock.js:2662 msgid "Status" msgstr "État" @@ -1112,7 +1112,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:703 +#: build/serializers.py:609 stock/serializers.py:743 msgid "Item must be in stock" msgstr "L'article doit être en stock" @@ -1333,8 +1333,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:1022 templates/js/translated/stock.js:1838 -#: templates/js/translated/stock.js:2668 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:1839 +#: templates/js/translated/stock.js:2669 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1545,912 +1545,912 @@ msgstr "{name.title()} Fichier" msgid "Select {name} file to upload" msgstr "Sélectionner le fichier {name} à uploader" -#: common/models.py:365 +#: common/models.py:434 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:367 +#: common/models.py:436 msgid "Settings value" msgstr "Valeur du paramètre" -#: common/models.py:408 +#: common/models.py:477 msgid "Chosen value is not a valid option" msgstr "La valeur choisie n'est pas une option valide" -#: common/models.py:425 +#: common/models.py:494 msgid "Value must be a boolean value" msgstr "La valeur doit être une valeur booléenne" -#: common/models.py:436 +#: common/models.py:505 msgid "Value must be an integer value" msgstr "La valeur doit être un nombre entier" -#: common/models.py:481 +#: common/models.py:550 msgid "Key string must be unique" msgstr "La chaîne de caractères constituant la clé doit être unique" -#: common/models.py:665 +#: common/models.py:734 msgid "No group" msgstr "Pas de groupe" -#: common/models.py:704 +#: common/models.py:773 msgid "Restart required" msgstr "Redémarrage nécessaire" -#: common/models.py:705 +#: common/models.py:774 msgid "A setting has been changed which requires a server restart" msgstr "Un paramètre a été modifié, ce qui nécessite un redémarrage du serveur" -#: common/models.py:712 +#: common/models.py:781 msgid "Server Instance Name" msgstr "" -#: common/models.py:714 +#: common/models.py:783 msgid "String descriptor for the server instance" msgstr "Chaîne de caractères descriptive pour l'instance serveur" -#: common/models.py:718 +#: common/models.py:787 msgid "Use instance name" msgstr "Utiliser le nom de l'instance" -#: common/models.py:719 +#: common/models.py:788 msgid "Use the instance name in the title-bar" msgstr "Utiliser le nom de l’instance dans la barre de titre" -#: common/models.py:725 +#: common/models.py:794 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:726 +#: common/models.py:795 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:732 company/models.py:93 company/models.py:94 +#: common/models.py:801 company/models.py:93 company/models.py:94 msgid "Company name" msgstr "Nom de la société" -#: common/models.py:733 +#: common/models.py:802 msgid "Internal company name" msgstr "Nom de société interne" -#: common/models.py:738 +#: common/models.py:807 msgid "Base URL" msgstr "URL de base" -#: common/models.py:739 +#: common/models.py:808 msgid "Base URL for server instance" msgstr "URL de base pour l'instance serveur" -#: common/models.py:745 +#: common/models.py:814 msgid "Default Currency" msgstr "Devise par défaut" -#: common/models.py:746 +#: common/models.py:815 msgid "Default currency" msgstr "Devises par défaut" -#: common/models.py:752 +#: common/models.py:821 msgid "Download from URL" msgstr "Télécharger depuis l'URL" -#: common/models.py:753 +#: common/models.py:822 msgid "Allow download of remote images and files from external URL" msgstr "Autoriser le téléchargement d'images distantes et de fichiers à partir d'URLs externes" -#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:828 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Support des code-barres" -#: common/models.py:760 +#: common/models.py:829 msgid "Enable barcode scanner support" msgstr "Activer le support du scanner de code-barres" -#: common/models.py:766 +#: common/models.py:835 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:767 +#: common/models.py:836 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:773 +#: common/models.py:842 msgid "IPN Regex" msgstr "Regex IPN" -#: common/models.py:774 +#: common/models.py:843 msgid "Regular expression pattern for matching Part IPN" msgstr "Expression régulière pour la correspondance avec l'IPN de la Pièce" -#: common/models.py:778 +#: common/models.py:847 msgid "Allow Duplicate IPN" msgstr "Autoriser les IPN dupliqués" -#: common/models.py:779 +#: common/models.py:848 msgid "Allow multiple parts to share the same IPN" msgstr "Permettre à plusieurs pièces de partager le même IPN" -#: common/models.py:785 +#: common/models.py:854 msgid "Allow Editing IPN" msgstr "Autoriser l'édition de l'IPN" -#: common/models.py:786 +#: common/models.py:855 msgid "Allow changing the IPN value while editing a part" msgstr "Permettre de modifier la valeur de l'IPN lors de l'édition d'une pièce" -#: common/models.py:792 +#: common/models.py:861 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:793 +#: common/models.py:862 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:799 +#: common/models.py:868 msgid "Copy Part Parameter Data" msgstr "Copier les données des paramètres de la pièce" -#: common/models.py:800 +#: common/models.py:869 msgid "Copy parameter data by default when duplicating a part" msgstr "Copier les données des paramètres par défaut lors de la duplication d'une pièce" -#: common/models.py:806 +#: common/models.py:875 msgid "Copy Part Test Data" msgstr "Copier les données de test de la pièce" -#: common/models.py:807 +#: common/models.py:876 msgid "Copy test data by default when duplicating a part" msgstr "Copier les données de test par défaut lors de la duplication d'une pièce" -#: common/models.py:813 +#: common/models.py:882 msgid "Copy Category Parameter Templates" msgstr "Copier les templates de paramètres de catégorie" -#: common/models.py:814 +#: common/models.py:883 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:2360 report/models.py:157 +#: common/models.py:889 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:821 +#: common/models.py:890 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:1384 +#: common/models.py:896 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" msgstr "" -#: common/models.py:828 +#: common/models.py:897 msgid "Parts can be assembled from other components by default" msgstr "Les composantes peuvent être assemblées à partir d'autres composants par défaut" -#: common/models.py:834 part/models.py:890 +#: common/models.py:903 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "Composant" -#: common/models.py:835 +#: common/models.py:904 msgid "Parts can be used as sub-components by default" msgstr "Les composantes peuvent être utilisées comme sous-composants par défaut" -#: common/models.py:841 part/models.py:901 +#: common/models.py:910 part/models.py:901 msgid "Purchaseable" msgstr "Achetable" -#: common/models.py:842 +#: common/models.py:911 msgid "Parts are purchaseable by default" msgstr "Les pièces sont achetables par défaut" -#: common/models.py:848 part/models.py:906 +#: common/models.py:917 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "Vendable" -#: common/models.py:849 +#: common/models.py:918 msgid "Parts are salable by default" msgstr "Les pièces sont vendables par défaut" -#: common/models.py:855 part/models.py:896 +#: common/models.py:924 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "Traçable" -#: common/models.py:856 +#: common/models.py:925 msgid "Parts are trackable by default" msgstr "Les pièces sont traçables par défaut" -#: common/models.py:862 part/models.py:916 +#: common/models.py:931 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Virtuelle" -#: common/models.py:863 +#: common/models.py:932 msgid "Parts are virtual by default" msgstr "Les pièces sont virtuelles par défaut" -#: common/models.py:869 +#: common/models.py:938 msgid "Show Import in Views" msgstr "Afficher l'import dans les vues" -#: common/models.py:870 +#: common/models.py:939 msgid "Display the import wizard in some part views" msgstr "Afficher l'assistant d'importation pour certaine vues de produits" -#: common/models.py:876 +#: common/models.py:945 msgid "Show Price in Forms" msgstr "Afficher le prix dans les formulaires" -#: common/models.py:877 +#: common/models.py:946 msgid "Display part price in some forms" msgstr "Afficher le prix de la pièce dans certains formulaires" -#: common/models.py:888 +#: common/models.py:957 msgid "Show Price in BOM" msgstr "Afficher le prix dans la BOM" -#: common/models.py:889 +#: common/models.py:958 msgid "Include pricing information in BOM tables" msgstr "Inclure les informations de prix dans les tableaux de la BOM" -#: common/models.py:900 +#: common/models.py:969 msgid "Show Price History" msgstr "Historique des prix" -#: common/models.py:901 +#: common/models.py:970 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:907 +#: common/models.py:976 msgid "Show related parts" msgstr "Afficher les pièces connexes" -#: common/models.py:908 +#: common/models.py:977 msgid "Display related parts for a part" msgstr "Afficher les pièces connexes à une pièce" -#: common/models.py:914 +#: common/models.py:983 msgid "Create initial stock" msgstr "Créer un stock initial" -#: common/models.py:915 +#: common/models.py:984 msgid "Create initial stock on part creation" msgstr "Créer le stock initial lors de la création d'une pièce" -#: common/models.py:921 +#: common/models.py:990 msgid "Internal Prices" msgstr "Prix internes" -#: common/models.py:922 +#: common/models.py:991 msgid "Enable internal prices for parts" msgstr "Activer les prix internes pour les pièces" -#: common/models.py:928 +#: common/models.py:997 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:929 +#: common/models.py:998 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:935 +#: common/models.py:1004 msgid "Part Name Display Format" msgstr "" -#: common/models.py:936 +#: common/models.py:1005 msgid "Format to display the part name" msgstr "" -#: common/models.py:943 +#: common/models.py:1012 msgid "Enable Reports" msgstr "" -#: common/models.py:944 +#: common/models.py:1013 msgid "Enable generation of reports" msgstr "" -#: common/models.py:950 templates/stats.html:25 +#: common/models.py:1019 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:951 +#: common/models.py:1020 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:957 +#: common/models.py:1026 msgid "Page Size" msgstr "Taille de la page" -#: common/models.py:958 +#: common/models.py:1027 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:968 +#: common/models.py:1037 msgid "Enable Test Reports" msgstr "" -#: common/models.py:969 +#: common/models.py:1038 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:975 +#: common/models.py:1044 msgid "Attach Test Reports" msgstr "" -#: common/models.py:976 +#: common/models.py:1045 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:982 +#: common/models.py:1051 msgid "Batch Code Template" msgstr "" -#: common/models.py:983 +#: common/models.py:1052 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:988 +#: common/models.py:1057 msgid "Stock Expiry" msgstr "" -#: common/models.py:989 +#: common/models.py:1058 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:995 +#: common/models.py:1064 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:996 +#: common/models.py:1065 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1002 +#: common/models.py:1071 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1003 +#: common/models.py:1072 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1005 +#: common/models.py:1074 msgid "days" msgstr "jours" -#: common/models.py:1010 +#: common/models.py:1079 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1011 +#: common/models.py:1080 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1017 +#: common/models.py:1086 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1018 +#: common/models.py:1087 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1024 +#: common/models.py:1093 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1025 +#: common/models.py:1094 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1030 +#: common/models.py:1099 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1031 +#: common/models.py:1100 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1035 +#: common/models.py:1104 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1036 +#: common/models.py:1105 msgid "Prefix value for sales order reference" msgstr "Valeur préfixe référence commande client" -#: common/models.py:1041 +#: common/models.py:1110 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1042 +#: common/models.py:1111 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1048 +#: common/models.py:1117 msgid "Purchase Order Reference Prefix" msgstr "Préfixe des commandes d'achats" -#: common/models.py:1049 +#: common/models.py:1118 msgid "Prefix value for purchase order reference" msgstr "Valeur préfixe référence bon de commande" -#: common/models.py:1055 +#: common/models.py:1124 msgid "Enable password forgot" msgstr "Activer les mots de passe oubliés" -#: common/models.py:1056 +#: common/models.py:1125 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1131 msgid "Enable registration" msgstr "Activer les inscriptions" -#: common/models.py:1063 +#: common/models.py:1132 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1069 +#: common/models.py:1138 msgid "Enable SSO" msgstr "Activer le SSO" -#: common/models.py:1070 +#: common/models.py:1139 msgid "Enable SSO on the login pages" msgstr "Activer le SSO sur les pages de connexion" -#: common/models.py:1076 +#: common/models.py:1145 msgid "Email required" msgstr "Email requis" -#: common/models.py:1077 +#: common/models.py:1146 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1083 +#: common/models.py:1152 msgid "Auto-fill SSO users" msgstr "Saisie automatique des utilisateurs SSO" -#: common/models.py:1084 +#: common/models.py:1153 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1090 +#: common/models.py:1159 msgid "Mail twice" msgstr "Courriel en double" -#: common/models.py:1091 +#: common/models.py:1160 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1097 +#: common/models.py:1166 msgid "Password twice" msgstr "" -#: common/models.py:1098 +#: common/models.py:1167 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1104 +#: common/models.py:1173 msgid "Group on signup" msgstr "" -#: common/models.py:1105 +#: common/models.py:1174 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1111 +#: common/models.py:1180 msgid "Enforce MFA" msgstr "" -#: common/models.py:1112 +#: common/models.py:1181 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1118 +#: common/models.py:1187 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1119 +#: common/models.py:1188 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1127 +#: common/models.py:1196 msgid "Enable URL integration" msgstr "" -#: common/models.py:1128 +#: common/models.py:1197 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1135 +#: common/models.py:1204 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1136 +#: common/models.py:1205 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1143 +#: common/models.py:1212 msgid "Enable app integration" msgstr "Activer l'intégration de plugins" -#: common/models.py:1144 +#: common/models.py:1213 msgid "Enable plugins to add apps" msgstr "Activer l'intégration de plugin pour ajouter des apps" -#: common/models.py:1151 +#: common/models.py:1220 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1152 +#: common/models.py:1221 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1159 +#: common/models.py:1228 msgid "Enable event integration" msgstr "" -#: common/models.py:1160 +#: common/models.py:1229 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1177 common/models.py:1499 +#: common/models.py:1246 common/models.py:1568 msgid "Settings key (must be unique - case insensitive" msgstr "Clé du paramètre (doit être unique - insensible à la casse)" -#: common/models.py:1199 +#: common/models.py:1268 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1200 +#: common/models.py:1269 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1275 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1207 +#: common/models.py:1276 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1213 +#: common/models.py:1282 msgid "Show latest parts" msgstr "Afficher les dernières pièces" -#: common/models.py:1214 +#: common/models.py:1283 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1220 +#: common/models.py:1289 msgid "Recent Part Count" msgstr "" -#: common/models.py:1221 +#: common/models.py:1290 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1227 +#: common/models.py:1296 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1228 +#: common/models.py:1297 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1303 msgid "Show recent stock changes" msgstr "Afficher les dernières modifications du stock" -#: common/models.py:1235 +#: common/models.py:1304 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1241 +#: common/models.py:1310 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1242 +#: common/models.py:1311 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1248 +#: common/models.py:1317 msgid "Show low stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1318 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1324 msgid "Show depleted stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1325 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1331 msgid "Show needed stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1332 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1338 msgid "Show expired stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1339 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1345 msgid "Show stale stock" msgstr "" -#: common/models.py:1277 +#: common/models.py:1346 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1352 msgid "Show pending builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1353 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1359 msgid "Show overdue builds" msgstr "" -#: common/models.py:1291 +#: common/models.py:1360 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1366 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1367 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1373 msgid "Show overdue POs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1374 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1380 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1381 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1387 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1319 +#: common/models.py:1388 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1324 +#: common/models.py:1393 msgid "Enable label printing" msgstr "" -#: common/models.py:1325 +#: common/models.py:1394 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1331 +#: common/models.py:1400 msgid "Inline label display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1401 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1407 msgid "Inline report display" msgstr "" -#: common/models.py:1339 +#: common/models.py:1408 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1345 +#: common/models.py:1414 msgid "Search Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1415 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1421 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1422 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1428 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1429 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1435 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1367 +#: common/models.py:1436 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1442 msgid "Search Categories" msgstr "" -#: common/models.py:1374 +#: common/models.py:1443 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1449 msgid "Search Stock" msgstr "" -#: common/models.py:1381 +#: common/models.py:1450 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1456 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1388 +#: common/models.py:1457 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1463 msgid "Search Locations" msgstr "" -#: common/models.py:1395 +#: common/models.py:1464 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1470 msgid "Search Companies" msgstr "" -#: common/models.py:1402 +#: common/models.py:1471 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1477 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1478 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1484 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1485 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1491 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1492 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1498 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1430 +#: common/models.py:1499 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1505 msgid "Search Preview Results" msgstr "" -#: common/models.py:1437 +#: common/models.py:1506 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1512 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1513 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1519 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1451 +#: common/models.py:1520 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1457 +#: common/models.py:1526 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1458 +#: common/models.py:1527 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1464 +#: common/models.py:1533 msgid "Date Format" msgstr "" -#: common/models.py:1465 +#: common/models.py:1534 msgid "Preferred format for displaying dates" msgstr "Format préféré pour l'affichage des dates" -#: common/models.py:1479 part/templates/part/detail.html:39 +#: common/models.py:1548 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1480 +#: common/models.py:1549 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1544 company/forms.py:37 +#: common/models.py:1608 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1551 company/serializers.py:319 +#: common/models.py:1615 company/serializers.py:319 #: company/templates/company/supplier_part.html:284 order/models.py:951 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:2095 msgid "Price" msgstr "Prix" -#: common/models.py:1552 +#: common/models.py:1616 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1712 common/models.py:1890 +#: common/models.py:1776 common/models.py:1954 msgid "Endpoint" msgstr "" -#: common/models.py:1713 +#: common/models.py:1777 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1722 +#: common/models.py:1786 msgid "Name for this webhook" msgstr "" -#: common/models.py:1727 part/models.py:911 plugin/models.py:99 +#: common/models.py:1791 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,67 +2458,67 @@ msgstr "" msgid "Active" msgstr "Actif" -#: common/models.py:1728 +#: common/models.py:1792 msgid "Is this webhook active" msgstr "" -#: common/models.py:1742 +#: common/models.py:1806 msgid "Token" msgstr "" -#: common/models.py:1743 +#: common/models.py:1807 msgid "Token for access" msgstr "" -#: common/models.py:1750 +#: common/models.py:1814 msgid "Secret" msgstr "" -#: common/models.py:1751 +#: common/models.py:1815 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1857 +#: common/models.py:1921 msgid "Message ID" msgstr "" -#: common/models.py:1858 +#: common/models.py:1922 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1866 +#: common/models.py:1930 msgid "Host" msgstr "" -#: common/models.py:1867 +#: common/models.py:1931 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1874 +#: common/models.py:1938 msgid "Header" msgstr "" -#: common/models.py:1875 +#: common/models.py:1939 msgid "Header of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1945 msgid "Body" msgstr "" -#: common/models.py:1882 +#: common/models.py:1946 msgid "Body of this message" msgstr "" -#: common/models.py:1891 +#: common/models.py:1955 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1896 +#: common/models.py:1960 msgid "Worked on" msgstr "" -#: common/models.py:1897 +#: common/models.py:1961 msgid "Was the work on this message finished?" msgstr "" @@ -2657,7 +2657,7 @@ msgstr "Cette entreprise fabrique-t-elle des pièces?" #: company/models.py:145 company/serializers.py:325 #: company/templates/company/company_base.html:106 part/serializers.py:139 -#: part/serializers.py:170 stock/serializers.py:162 +#: part/serializers.py:170 stock/serializers.py:163 msgid "Currency" msgstr "Devise" @@ -2793,7 +2793,7 @@ msgstr "" #: company/models.py:519 company/templates/company/supplier_part.html:146 #: 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 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:388 msgid "Note" msgstr "" @@ -2807,7 +2807,7 @@ msgstr "" #: company/models.py:525 company/templates/company/supplier_part.html:139 #: stock/models.py:608 stock/templates/stock/item_base.html:245 -#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1974 +#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1975 msgid "Packaging" msgstr "" @@ -2902,11 +2902,11 @@ msgstr "Télécharger l'image depuis l'URL" #: company/templates/company/company_base.html:86 order/models.py:651 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:745 +#: stock/models.py:628 stock/serializers.py:785 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:381 templates/js/translated/order.js:2458 -#: templates/js/translated/stock.js:2493 +#: templates/js/translated/stock.js:2494 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "" @@ -3079,7 +3079,7 @@ msgstr "Supprimer les pièces du fournisseur" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 -#: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:33 +#: templates/js/translated/forms.js:442 templates/js/translated/helpers.js:33 #: users/models.py:219 msgid "Delete" msgstr "Supprimer" @@ -3127,7 +3127,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:894 templates/js/translated/order.js:884 -#: templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:1932 msgid "Supplier Part" msgstr "" @@ -3235,7 +3235,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:43 #: templates/js/translated/bom.js:554 templates/js/translated/part.js:747 #: templates/js/translated/part.js:1295 templates/js/translated/part.js:1456 -#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1749 +#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1750 #: templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3262,7 +3262,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:2369 users/models.py:39 +#: templates/js/translated/stock.js:2370 users/models.py:39 msgid "Stock Items" msgstr "Éléments en stock" @@ -3536,8 +3536,8 @@ msgstr "Commande" #: 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:968 templates/js/translated/stock.js:1908 -#: templates/js/translated/stock.js:2474 +#: templates/js/translated/part.js:968 templates/js/translated/stock.js:1909 +#: templates/js/translated/stock.js:2475 msgid "Purchase Order" msgstr "Commande d’achat" @@ -3557,8 +3557,8 @@ msgid "Number of items received" msgstr "Nombre d'éléments reçus" #: order/models.py:1030 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:1962 +#: stock/serializers.py:154 stock/templates/stock/item_base.html:191 +#: templates/js/translated/stock.js:1963 msgid "Purchase Price" msgstr "Prix d'achat" @@ -4121,19 +4121,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1011 +#: part/api.py:1058 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1015 +#: part/api.py:1062 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1030 +#: part/api.py:1077 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 +#: part/api.py:1108 part/api.py:1112 part/api.py:1127 part/api.py:1131 msgid "This field is required" msgstr "" @@ -4268,7 +4268,7 @@ msgstr "Catégorie de la pièce" #: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:735 templates/js/translated/part.js:1391 -#: templates/js/translated/stock.js:1721 +#: templates/js/translated/stock.js:1722 msgid "IPN" msgstr "" @@ -4611,7 +4611,7 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:164 msgid "Purchase currency of this stock item" msgstr "Devise d'achat de l'item" @@ -5752,7 +5752,7 @@ 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:2402 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2403 msgid "Date" msgstr "" @@ -5771,19 +5771,19 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: templates/js/translated/stock.js:606 templates/js/translated/stock.js:776 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2652 msgid "Serial" msgstr "" -#: stock/api.py:505 +#: stock/api.py:511 msgid "Quantity is required" msgstr "" -#: stock/api.py:512 +#: stock/api.py:518 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:537 +#: stock/api.py:543 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5891,7 +5891,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1879 msgid "Expiry Date" msgstr "" @@ -5969,7 +5969,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1347 stock/serializers.py:895 +#: stock/models.py:1347 stock/serializers.py:935 msgid "Duplicate stock items" msgstr "" @@ -6021,120 +6021,128 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:156 +#: stock/serializers.py:157 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:280 +#: stock/serializers.py:281 msgid "Enter number of stock items to serialize" msgstr "Entrez le nombre d'articles en stock à sérialiser" -#: stock/serializers.py:292 +#: stock/serializers.py:293 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:299 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:852 stock/serializers.py:1085 +#: stock/serializers.py:310 stock/serializers.py:892 stock/serializers.py:1125 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:316 +#: stock/serializers.py:317 msgid "Optional note field" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:327 msgid "Serial numbers cannot be assigned to this part" msgstr "Les numéros de série ne peuvent pas être assignés à cette pièce" -#: stock/serializers.py:343 +#: stock/serializers.py:344 msgid "Serial numbers already exist" msgstr "Les numéros de série existent déjà" -#: stock/serializers.py:383 +#: stock/serializers.py:384 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:397 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:404 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:440 +#: stock/serializers.py:441 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:445 stock/serializers.py:487 +#: stock/serializers.py:446 stock/serializers.py:527 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:482 +#: stock/serializers.py:480 +msgid "Select part to convert stock item into" +msgstr "" + +#: stock/serializers.py:491 +msgid "Selected part is not a valid option for conversion" +msgstr "" + +#: stock/serializers.py:522 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:707 +#: stock/serializers.py:747 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:711 +#: stock/serializers.py:751 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:755 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:786 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:752 +#: stock/serializers.py:792 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:760 +#: stock/serializers.py:800 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:770 stock/serializers.py:1001 +#: stock/serializers.py:810 stock/serializers.py:1041 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:859 +#: stock/serializers.py:899 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:864 +#: stock/serializers.py:904 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:865 +#: stock/serializers.py:905 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:870 +#: stock/serializers.py:910 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:871 +#: stock/serializers.py:911 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:881 +#: stock/serializers.py:921 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:963 +#: stock/serializers.py:1003 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:1031 msgid "Stock transaction notes" msgstr "" @@ -6171,7 +6179,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2795 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2796 msgid "Install Stock Item" msgstr "" @@ -6179,7 +6187,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1517 +#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1518 msgid "Add Test Result" msgstr "" @@ -6366,7 +6374,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1894 +#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1895 msgid "Last Updated" msgstr "" @@ -6382,7 +6390,23 @@ msgstr "" msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:642 +#: stock/templates/stock/item_base.html:594 +msgid "Select one of the part variants listed below." +msgstr "" + +#: stock/templates/stock/item_base.html:597 +msgid "Warning" +msgstr "" + +#: stock/templates/stock/item_base.html:598 +msgid "This action cannot be easily undone" +msgstr "" + +#: stock/templates/stock/item_base.html:606 +msgid "Convert Stock Item" +msgstr "" + +#: stock/templates/stock/item_base.html:664 msgid "Return to Stock" msgstr "" @@ -6466,32 +6490,11 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:143 -msgid "Convert Stock Item" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:8 -#, python-format -msgid "This stock item is current an instance of %(part)s" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:9 -msgid "It can be converted to one of the part variants listed below." -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:13 -msgid "Warning" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:14 -msgid "This action cannot be easily undone" -msgstr "" - -#: stock/views.py:110 +#: stock/views.py:109 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:126 +#: stock/views.py:125 msgid "Stock Item QR Code" msgstr "" @@ -7303,7 +7306,7 @@ 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 +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:633 msgid "Confirm" msgstr "Confirmer" @@ -8175,8 +8178,8 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2447 templates/js/translated/part.js:1383 -#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1681 -#: templates/js/translated/stock.js:2339 +#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:2340 msgid "Select" msgstr "" @@ -8188,7 +8191,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2581 +#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2582 msgid "No user information" msgstr "Pas d'informations sur l'utilisateur" @@ -8342,61 +8345,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:353 templates/js/translated/forms.js:368 -#: templates/js/translated/forms.js:382 templates/js/translated/forms.js:396 +#: templates/js/translated/forms.js:356 templates/js/translated/forms.js:371 +#: templates/js/translated/forms.js:385 templates/js/translated/forms.js:399 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:355 +#: templates/js/translated/forms.js:358 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:370 +#: templates/js/translated/forms.js:373 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:384 +#: templates/js/translated/forms.js:387 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:398 +#: templates/js/translated/forms.js:401 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:656 +#: templates/js/translated/forms.js:659 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:757 +#: templates/js/translated/forms.js:760 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1249 templates/modals.html:19 +#: templates/js/translated/forms.js:1252 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1682 +#: templates/js/translated/forms.js:1685 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1897 templates/search.html:29 +#: templates/js/translated/forms.js:1900 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2150 +#: templates/js/translated/forms.js:2153 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2628 +#: templates/js/translated/forms.js:2631 msgid "Select Columns" msgstr "" @@ -8727,7 +8730,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2142 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2143 msgid "Stock Status" msgstr "" @@ -8921,7 +8924,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1597 +#: templates/js/translated/stock.js:1598 msgid "Shipped to customer" msgstr "Livré au client" @@ -9187,7 +9190,7 @@ msgid "No category" msgstr "Aucune catégorie" #: templates/js/translated/part.js:1573 templates/js/translated/part.js:1785 -#: templates/js/translated/stock.js:2300 +#: templates/js/translated/stock.js:2301 msgid "Display as list" msgstr "Afficher sous forme de liste" @@ -9211,7 +9214,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2319 +#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2320 msgid "Display as tree" msgstr "Afficher sous forme d'arborescence" @@ -9219,7 +9222,7 @@ msgstr "Afficher sous forme d'arborescence" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2363 +#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2364 msgid "Path" msgstr "Chemin d'accès" @@ -9232,7 +9235,7 @@ msgid "Edit test result" msgstr "Modifier le résultat du test" #: templates/js/translated/part.js:1978 templates/js/translated/stock.js:1296 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1556 msgid "Delete test result" msgstr "Supprimer le résultat du test" @@ -9565,180 +9568,180 @@ msgstr "Ajouter un résultat de test" msgid "No test results found" msgstr "Aucun résultat de test trouvé" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1374 msgid "Test Date" msgstr "Date du test" -#: templates/js/translated/stock.js:1538 +#: templates/js/translated/stock.js:1539 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/stock.js:1561 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1590 msgid "In production" msgstr "En production" -#: templates/js/translated/stock.js:1593 +#: templates/js/translated/stock.js:1594 msgid "Installed in Stock Item" msgstr "Article en stock installé dans un autre article en stock" -#: templates/js/translated/stock.js:1601 +#: templates/js/translated/stock.js:1602 msgid "Assigned to Sales Order" msgstr "Assigné à une commande de vente" -#: templates/js/translated/stock.js:1607 +#: templates/js/translated/stock.js:1608 msgid "No stock location set" msgstr "Aucun emplacement de stock défini" -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1775 msgid "Stock item is in production" msgstr "L'article de stock est en production" -#: templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:1780 msgid "Stock item assigned to sales order" msgstr "L'article en stock a été assigné à une commande de vente" -#: templates/js/translated/stock.js:1782 +#: templates/js/translated/stock.js:1783 msgid "Stock item assigned to customer" msgstr "L'article en stock a été assigné à un client" -#: templates/js/translated/stock.js:1785 +#: templates/js/translated/stock.js:1786 msgid "Serialized stock item has been allocated" msgstr "L'article de stock sérialisé a été alloué" -#: templates/js/translated/stock.js:1787 +#: templates/js/translated/stock.js:1788 msgid "Stock item has been fully allocated" msgstr "L'article de stock a été complètement alloué" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1790 msgid "Stock item has been partially allocated" msgstr "L'article de stock a été partiellement alloué" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1793 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:1796 +#: templates/js/translated/stock.js:1797 msgid "Stock item has expired" msgstr "L'article en stock a expiré" -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1799 msgid "Stock item will expire soon" msgstr "L'article en stock va bientôt expirer" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1806 msgid "Stock item has been rejected" msgstr "L'article de stock a été rejeté" -#: templates/js/translated/stock.js:1807 +#: templates/js/translated/stock.js:1808 msgid "Stock item is lost" msgstr "L'article de stock est perdu" -#: templates/js/translated/stock.js:1809 +#: templates/js/translated/stock.js:1810 msgid "Stock item is destroyed" msgstr "L'article de stock est détruit" -#: templates/js/translated/stock.js:1813 +#: templates/js/translated/stock.js:1814 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "Epuisé" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1865 msgid "Stocktake" msgstr "Prise d'inventaire" -#: templates/js/translated/stock.js:1946 +#: templates/js/translated/stock.js:1947 msgid "Supplier part not specified" msgstr "Pièce de fournisseur non précisée" -#: templates/js/translated/stock.js:1984 +#: templates/js/translated/stock.js:1985 msgid "No stock items matching query" msgstr "Aucun article de stock ne correspond à la requête" -#: templates/js/translated/stock.js:2157 +#: templates/js/translated/stock.js:2158 msgid "Set Stock Status" msgstr "Définir l'état du stock" -#: templates/js/translated/stock.js:2171 +#: templates/js/translated/stock.js:2172 msgid "Select Status Code" msgstr "Sélectionner le code de statut" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2173 msgid "Status code must be selected" msgstr "Le code de statut doit être sélectionné" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Details" msgstr "Détails" -#: templates/js/translated/stock.js:2443 +#: templates/js/translated/stock.js:2444 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2465 +#: templates/js/translated/stock.js:2466 msgid "Location no longer exists" msgstr "L'emplacement n'existe plus" -#: templates/js/translated/stock.js:2484 +#: templates/js/translated/stock.js:2485 msgid "Purchase order no longer exists" msgstr "La commande d'achat n'existe plus" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2504 msgid "Customer no longer exists" msgstr "Le client n'existe plus" -#: templates/js/translated/stock.js:2521 +#: templates/js/translated/stock.js:2522 msgid "Stock item no longer exists" msgstr "L'article de stock n'existe plus" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2545 msgid "Added" msgstr "Ajouté" -#: templates/js/translated/stock.js:2552 +#: templates/js/translated/stock.js:2553 msgid "Removed" msgstr "Supprimé" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2629 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2679 templates/js/translated/stock.js:2715 +#: templates/js/translated/stock.js:2680 templates/js/translated/stock.js:2716 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2729 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2749 +#: templates/js/translated/stock.js:2750 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2751 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2753 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/stock.js:2754 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2755 +#: templates/js/translated/stock.js:2756 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2768 +#: templates/js/translated/stock.js:2769 msgid "Select part to install" msgstr "" @@ -9990,61 +9993,61 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:525 +#: templates/js/translated/tables.js:534 msgid "Loading data" msgstr "Chargement des données" -#: templates/js/translated/tables.js:528 +#: templates/js/translated/tables.js:537 msgid "rows per page" msgstr "résultats par page" -#: templates/js/translated/tables.js:533 +#: templates/js/translated/tables.js:542 msgid "Showing all rows" msgstr "Afficher toutes les lignes" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "Showing" msgstr "Afficher" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "to" msgstr "à" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "of" msgstr "de" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "rows" msgstr "lignes" -#: templates/js/translated/tables.js:539 templates/navbar.html:102 +#: templates/js/translated/tables.js:548 templates/navbar.html:102 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" msgstr "Rechercher" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:551 msgid "No matching results" msgstr "Aucun résultat correspondant n'a été trouvé" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:554 msgid "Hide/Show pagination" msgstr "Masquer/Afficher la pagination" -#: templates/js/translated/tables.js:548 +#: templates/js/translated/tables.js:557 msgid "Refresh" msgstr "Actualiser" -#: templates/js/translated/tables.js:551 +#: templates/js/translated/tables.js:560 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:563 msgid "Columns" msgstr "Colonnes" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:566 msgid "All" msgstr "Tout" diff --git a/InvenTree/locale/he/LC_MESSAGES/django.po b/InvenTree/locale/he/LC_MESSAGES/django.po index cdc944cf2b..81e24796e2 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-11 13:14+0000\n" -"PO-Revision-Date: 2022-06-11 15:03\n" +"POT-Creation-Date: 2022-06-15 08:34+0000\n" +"PO-Revision-Date: 2022-06-15 16:23\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -141,12 +141,12 @@ msgstr "הערה" msgid "File comment" msgstr "הערת קובץ" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1575 +#: common/models.py:1576 common/models.py:1799 common/models.py:1800 +#: common/models.py:2062 common/models.py:2063 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:2575 +#: templates/js/translated/stock.js:2576 msgid "User" msgstr "משתמש" @@ -183,7 +183,7 @@ msgstr "שגיאה בשינוי שם פריט" msgid "Invalid choice" msgstr "בחירה שגויה" -#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1785 #: company/models.py:355 label/models.py:101 part/models.py:739 #: part/models.py:2319 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -195,7 +195,7 @@ msgstr "בחירה שגויה" #: templates/js/translated/company.js:744 #: templates/js/translated/notification.js:73 #: templates/js/translated/part.js:684 templates/js/translated/part.js:836 -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2345 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2346 msgid "Name" msgstr "שם" @@ -217,8 +217,8 @@ msgstr "שם" #: templates/js/translated/order.js:1888 templates/js/translated/order.js:2476 #: templates/js/translated/part.js:743 templates/js/translated/part.js:1151 #: templates/js/translated/part.js:1424 templates/js/translated/part.js:1876 -#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1738 -#: templates/js/translated/stock.js:2357 templates/js/translated/stock.js:2412 +#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1739 +#: templates/js/translated/stock.js:2358 templates/js/translated/stock.js:2413 msgid "Description" msgstr "תיאור" @@ -292,99 +292,99 @@ msgstr "" msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:689 msgid "Czech" msgstr "" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:690 msgid "German" msgstr "גרמנית" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:691 msgid "Greek" msgstr "יוונית" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:692 msgid "English" msgstr "אנגלית" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:693 msgid "Spanish" msgstr "ספרדית" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:694 msgid "Spanish (Mexican)" msgstr "ספרדית (מקסיקנית)" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:695 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:696 msgid "French" msgstr "צרפתית" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:697 msgid "Hebrew" msgstr "עברית" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:698 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:699 msgid "Italian" msgstr "איטלקית" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:700 msgid "Japanese" msgstr "יפנית" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:701 msgid "Korean" msgstr "קוריאנית" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:702 msgid "Dutch" msgstr "הולנדית" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:703 msgid "Norwegian" msgstr "נורווגית" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:704 msgid "Polish" msgstr "פולנית" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:705 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:706 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:707 msgid "Russian" msgstr "רוסית" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:708 msgid "Swedish" msgstr "שוודית" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:709 msgid "Thai" msgstr "תאילנדית" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:710 msgid "Turkish" msgstr "טורקית" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:711 msgid "Vietnamese" msgstr "ווייטנאמית" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:712 msgid "Chinese" msgstr "סינית" @@ -515,7 +515,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2082 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2083 msgid "Merged stock items" msgstr "" @@ -669,7 +669,7 @@ msgstr "" #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:479 #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 @@ -688,8 +688,8 @@ msgstr "" #: templates/js/translated/part.js:1136 templates/js/translated/part.js:1206 #: templates/js/translated/part.js:1402 templates/js/translated/stock.js:582 #: templates/js/translated/stock.js:747 templates/js/translated/stock.js:954 -#: templates/js/translated/stock.js:1695 templates/js/translated/stock.js:2438 -#: templates/js/translated/stock.js:2633 templates/js/translated/stock.js:2767 +#: templates/js/translated/stock.js:1696 templates/js/translated/stock.js:2439 +#: templates/js/translated/stock.js:2634 templates/js/translated/stock.js:2768 msgid "Part" msgstr "רכיב" @@ -815,14 +815,14 @@ msgstr "" #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 #: 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:759 stock/serializers.py:858 stock/serializers.py:990 +#: stock/serializers.py:316 stock/serializers.py:445 stock/serializers.py:526 +#: stock/serializers.py:799 stock/serializers.py:898 stock/serializers.py:1030 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1038 #: templates/js/translated/company.js:949 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:1369 templates/js/translated/stock.js:1978 +#: templates/js/translated/stock.js:1370 templates/js/translated/stock.js:1979 msgid "Notes" msgstr "" @@ -878,8 +878,8 @@ msgid "Build to allocate parts" msgstr "" #: 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 +#: order/serializers.py:1017 stock/serializers.py:383 stock/serializers.py:730 +#: stock/serializers.py:856 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 @@ -888,7 +888,7 @@ msgstr "" #: 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:583 templates/js/translated/stock.js:748 -#: templates/js/translated/stock.js:2511 +#: templates/js/translated/stock.js:2512 msgid "Stock Item" msgstr "" @@ -898,7 +898,7 @@ msgstr "" #: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1543 +#: build/templates/build/detail.html:34 common/models.py:1607 #: company/forms.py:36 company/templates/company/supplier_part.html:279 #: order/models.py:911 order/models.py:1414 order/serializers.py:1136 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 @@ -911,7 +911,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:280 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:691 #: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 @@ -928,7 +928,7 @@ msgstr "" #: templates/js/translated/part.js:2321 templates/js/translated/part.js:2355 #: templates/js/translated/part.js:2433 templates/js/translated/stock.js:454 #: templates/js/translated/stock.js:608 templates/js/translated/stock.js:778 -#: templates/js/translated/stock.js:2560 templates/js/translated/stock.js:2645 +#: templates/js/translated/stock.js:2561 templates/js/translated/stock.js:2646 msgid "Quantity" msgstr "כמות" @@ -972,7 +972,7 @@ msgstr "" #: build/serializers.py:198 build/serializers.py:623 order/models.py:354 #: 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 +#: stock/serializers.py:289 msgid "Quantity must be greater than zero" msgstr "" @@ -985,7 +985,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 -#: stock/serializers.py:297 templates/js/translated/order.js:1186 +#: stock/serializers.py:298 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:267 templates/js/translated/stock.js:455 msgid "Serial Numbers" msgstr "מספרים סידוריים" @@ -1002,7 +1002,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:553 +#: build/serializers.py:268 stock/api.py:559 msgid "The following serial numbers already exist" msgstr "" @@ -1011,8 +1011,8 @@ msgid "A list of build outputs must be provided" 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:851 stock/serializers.py:1084 +#: stock/serializers.py:309 stock/serializers.py:440 stock/serializers.py:521 +#: stock/serializers.py:891 stock/serializers.py:1124 #: 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 @@ -1021,7 +1021,7 @@ msgstr "" #: templates/js/translated/order.js:3247 templates/js/translated/order.js:3328 #: templates/js/translated/part.js:181 templates/js/translated/stock.js:584 #: templates/js/translated/stock.js:749 templates/js/translated/stock.js:956 -#: templates/js/translated/stock.js:1849 templates/js/translated/stock.js:2452 +#: templates/js/translated/stock.js:1850 templates/js/translated/stock.js:2453 msgid "Location" msgstr "" @@ -1034,8 +1034,8 @@ msgstr "" #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2509 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 -#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1824 -#: templates/js/translated/stock.js:2529 templates/js/translated/stock.js:2661 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1825 +#: templates/js/translated/stock.js:2530 templates/js/translated/stock.js:2662 msgid "Status" msgstr "" @@ -1112,7 +1112,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:703 +#: build/serializers.py:609 stock/serializers.py:743 msgid "Item must be in stock" msgstr "" @@ -1333,8 +1333,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:1022 templates/js/translated/stock.js:1838 -#: templates/js/translated/stock.js:2668 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:1839 +#: templates/js/translated/stock.js:2669 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1545,912 +1545,912 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:365 +#: common/models.py:434 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:367 +#: common/models.py:436 msgid "Settings value" msgstr "" -#: common/models.py:408 +#: common/models.py:477 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:425 +#: common/models.py:494 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:436 +#: common/models.py:505 msgid "Value must be an integer value" msgstr "" -#: common/models.py:481 +#: common/models.py:550 msgid "Key string must be unique" msgstr "" -#: common/models.py:665 +#: common/models.py:734 msgid "No group" msgstr "" -#: common/models.py:704 +#: common/models.py:773 msgid "Restart required" msgstr "" -#: common/models.py:705 +#: common/models.py:774 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:712 +#: common/models.py:781 msgid "Server Instance Name" msgstr "" -#: common/models.py:714 +#: common/models.py:783 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:718 +#: common/models.py:787 msgid "Use instance name" msgstr "" -#: common/models.py:719 +#: common/models.py:788 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:725 +#: common/models.py:794 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:726 +#: common/models.py:795 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:732 company/models.py:93 company/models.py:94 +#: common/models.py:801 company/models.py:93 company/models.py:94 msgid "Company name" msgstr "" -#: common/models.py:733 +#: common/models.py:802 msgid "Internal company name" msgstr "" -#: common/models.py:738 +#: common/models.py:807 msgid "Base URL" msgstr "" -#: common/models.py:739 +#: common/models.py:808 msgid "Base URL for server instance" msgstr "" -#: common/models.py:745 +#: common/models.py:814 msgid "Default Currency" msgstr "" -#: common/models.py:746 +#: common/models.py:815 msgid "Default currency" msgstr "" -#: common/models.py:752 +#: common/models.py:821 msgid "Download from URL" msgstr "" -#: common/models.py:753 +#: common/models.py:822 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:828 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:760 +#: common/models.py:829 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:766 +#: common/models.py:835 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:767 +#: common/models.py:836 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:773 +#: common/models.py:842 msgid "IPN Regex" msgstr "" -#: common/models.py:774 +#: common/models.py:843 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:778 +#: common/models.py:847 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:779 +#: common/models.py:848 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:785 +#: common/models.py:854 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:786 +#: common/models.py:855 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:792 +#: common/models.py:861 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:793 +#: common/models.py:862 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:799 +#: common/models.py:868 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:800 +#: common/models.py:869 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:806 +#: common/models.py:875 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:807 +#: common/models.py:876 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:813 +#: common/models.py:882 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:814 +#: common/models.py:883 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:820 part/models.py:2360 report/models.py:157 +#: common/models.py:889 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:821 +#: common/models.py:890 msgid "Parts are templates by default" msgstr "" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 +#: common/models.py:896 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" msgstr "" -#: common/models.py:828 +#: common/models.py:897 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:834 part/models.py:890 +#: common/models.py:903 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:835 +#: common/models.py:904 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:841 part/models.py:901 +#: common/models.py:910 part/models.py:901 msgid "Purchaseable" msgstr "" -#: common/models.py:842 +#: common/models.py:911 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:848 part/models.py:906 +#: common/models.py:917 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:849 +#: common/models.py:918 msgid "Parts are salable by default" msgstr "" -#: common/models.py:855 part/models.py:896 +#: common/models.py:924 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:856 +#: common/models.py:925 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:862 part/models.py:916 +#: common/models.py:931 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:863 +#: common/models.py:932 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:869 +#: common/models.py:938 msgid "Show Import in Views" msgstr "" -#: common/models.py:870 +#: common/models.py:939 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:876 +#: common/models.py:945 msgid "Show Price in Forms" msgstr "" -#: common/models.py:877 +#: common/models.py:946 msgid "Display part price in some forms" msgstr "" -#: common/models.py:888 +#: common/models.py:957 msgid "Show Price in BOM" msgstr "" -#: common/models.py:889 +#: common/models.py:958 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:900 +#: common/models.py:969 msgid "Show Price History" msgstr "" -#: common/models.py:901 +#: common/models.py:970 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:907 +#: common/models.py:976 msgid "Show related parts" msgstr "" -#: common/models.py:908 +#: common/models.py:977 msgid "Display related parts for a part" msgstr "" -#: common/models.py:914 +#: common/models.py:983 msgid "Create initial stock" msgstr "" -#: common/models.py:915 +#: common/models.py:984 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:921 +#: common/models.py:990 msgid "Internal Prices" msgstr "" -#: common/models.py:922 +#: common/models.py:991 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:928 +#: common/models.py:997 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:929 +#: common/models.py:998 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:935 +#: common/models.py:1004 msgid "Part Name Display Format" msgstr "" -#: common/models.py:936 +#: common/models.py:1005 msgid "Format to display the part name" msgstr "" -#: common/models.py:943 +#: common/models.py:1012 msgid "Enable Reports" msgstr "" -#: common/models.py:944 +#: common/models.py:1013 msgid "Enable generation of reports" msgstr "" -#: common/models.py:950 templates/stats.html:25 +#: common/models.py:1019 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:951 +#: common/models.py:1020 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:957 +#: common/models.py:1026 msgid "Page Size" msgstr "" -#: common/models.py:958 +#: common/models.py:1027 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:968 +#: common/models.py:1037 msgid "Enable Test Reports" msgstr "" -#: common/models.py:969 +#: common/models.py:1038 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:975 +#: common/models.py:1044 msgid "Attach Test Reports" msgstr "" -#: common/models.py:976 +#: common/models.py:1045 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:982 +#: common/models.py:1051 msgid "Batch Code Template" msgstr "" -#: common/models.py:983 +#: common/models.py:1052 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:988 +#: common/models.py:1057 msgid "Stock Expiry" msgstr "" -#: common/models.py:989 +#: common/models.py:1058 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:995 +#: common/models.py:1064 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:996 +#: common/models.py:1065 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1002 +#: common/models.py:1071 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1003 +#: common/models.py:1072 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1005 +#: common/models.py:1074 msgid "days" msgstr "" -#: common/models.py:1010 +#: common/models.py:1079 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1011 +#: common/models.py:1080 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1017 +#: common/models.py:1086 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1018 +#: common/models.py:1087 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1024 +#: common/models.py:1093 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1025 +#: common/models.py:1094 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1030 +#: common/models.py:1099 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1031 +#: common/models.py:1100 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1035 +#: common/models.py:1104 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1036 +#: common/models.py:1105 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1041 +#: common/models.py:1110 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1042 +#: common/models.py:1111 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1048 +#: common/models.py:1117 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1049 +#: common/models.py:1118 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1055 +#: common/models.py:1124 msgid "Enable password forgot" msgstr "" -#: common/models.py:1056 +#: common/models.py:1125 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1131 msgid "Enable registration" msgstr "" -#: common/models.py:1063 +#: common/models.py:1132 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1069 +#: common/models.py:1138 msgid "Enable SSO" msgstr "" -#: common/models.py:1070 +#: common/models.py:1139 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1076 +#: common/models.py:1145 msgid "Email required" msgstr "" -#: common/models.py:1077 +#: common/models.py:1146 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1083 +#: common/models.py:1152 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1084 +#: common/models.py:1153 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1090 +#: common/models.py:1159 msgid "Mail twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1160 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1097 +#: common/models.py:1166 msgid "Password twice" msgstr "" -#: common/models.py:1098 +#: common/models.py:1167 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1104 +#: common/models.py:1173 msgid "Group on signup" msgstr "" -#: common/models.py:1105 +#: common/models.py:1174 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1111 +#: common/models.py:1180 msgid "Enforce MFA" msgstr "" -#: common/models.py:1112 +#: common/models.py:1181 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1118 +#: common/models.py:1187 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1119 +#: common/models.py:1188 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1127 +#: common/models.py:1196 msgid "Enable URL integration" msgstr "" -#: common/models.py:1128 +#: common/models.py:1197 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1135 +#: common/models.py:1204 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1136 +#: common/models.py:1205 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1143 +#: common/models.py:1212 msgid "Enable app integration" msgstr "" -#: common/models.py:1144 +#: common/models.py:1213 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1151 +#: common/models.py:1220 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1152 +#: common/models.py:1221 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1159 +#: common/models.py:1228 msgid "Enable event integration" msgstr "" -#: common/models.py:1160 +#: common/models.py:1229 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1177 common/models.py:1499 +#: common/models.py:1246 common/models.py:1568 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1199 +#: common/models.py:1268 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1200 +#: common/models.py:1269 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1275 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1207 +#: common/models.py:1276 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1213 +#: common/models.py:1282 msgid "Show latest parts" msgstr "" -#: common/models.py:1214 +#: common/models.py:1283 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1220 +#: common/models.py:1289 msgid "Recent Part Count" msgstr "" -#: common/models.py:1221 +#: common/models.py:1290 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1227 +#: common/models.py:1296 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1228 +#: common/models.py:1297 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1303 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1235 +#: common/models.py:1304 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1241 +#: common/models.py:1310 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1242 +#: common/models.py:1311 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1248 +#: common/models.py:1317 msgid "Show low stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1318 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1324 msgid "Show depleted stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1325 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1331 msgid "Show needed stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1332 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1338 msgid "Show expired stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1339 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1345 msgid "Show stale stock" msgstr "" -#: common/models.py:1277 +#: common/models.py:1346 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1352 msgid "Show pending builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1353 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1359 msgid "Show overdue builds" msgstr "" -#: common/models.py:1291 +#: common/models.py:1360 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1366 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1367 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1373 msgid "Show overdue POs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1374 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1380 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1381 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1387 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1319 +#: common/models.py:1388 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1324 +#: common/models.py:1393 msgid "Enable label printing" msgstr "" -#: common/models.py:1325 +#: common/models.py:1394 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1331 +#: common/models.py:1400 msgid "Inline label display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1401 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1407 msgid "Inline report display" msgstr "" -#: common/models.py:1339 +#: common/models.py:1408 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1345 +#: common/models.py:1414 msgid "Search Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1415 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1421 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1422 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1428 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1429 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1435 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1367 +#: common/models.py:1436 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1442 msgid "Search Categories" msgstr "" -#: common/models.py:1374 +#: common/models.py:1443 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1449 msgid "Search Stock" msgstr "" -#: common/models.py:1381 +#: common/models.py:1450 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1456 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1388 +#: common/models.py:1457 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1463 msgid "Search Locations" msgstr "" -#: common/models.py:1395 +#: common/models.py:1464 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1470 msgid "Search Companies" msgstr "" -#: common/models.py:1402 +#: common/models.py:1471 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1477 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1478 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1484 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1485 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1491 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1492 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1498 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1430 +#: common/models.py:1499 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1505 msgid "Search Preview Results" msgstr "" -#: common/models.py:1437 +#: common/models.py:1506 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1512 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1513 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1519 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1451 +#: common/models.py:1520 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1457 +#: common/models.py:1526 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1458 +#: common/models.py:1527 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1464 +#: common/models.py:1533 msgid "Date Format" msgstr "" -#: common/models.py:1465 +#: common/models.py:1534 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1479 part/templates/part/detail.html:39 +#: common/models.py:1548 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1480 +#: common/models.py:1549 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1544 company/forms.py:37 +#: common/models.py:1608 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1551 company/serializers.py:319 +#: common/models.py:1615 company/serializers.py:319 #: company/templates/company/supplier_part.html:284 order/models.py:951 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:2095 msgid "Price" msgstr "" -#: common/models.py:1552 +#: common/models.py:1616 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1712 common/models.py:1890 +#: common/models.py:1776 common/models.py:1954 msgid "Endpoint" msgstr "" -#: common/models.py:1713 +#: common/models.py:1777 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1722 +#: common/models.py:1786 msgid "Name for this webhook" msgstr "" -#: common/models.py:1727 part/models.py:911 plugin/models.py:99 +#: common/models.py:1791 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,67 +2458,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1728 +#: common/models.py:1792 msgid "Is this webhook active" msgstr "" -#: common/models.py:1742 +#: common/models.py:1806 msgid "Token" msgstr "" -#: common/models.py:1743 +#: common/models.py:1807 msgid "Token for access" msgstr "" -#: common/models.py:1750 +#: common/models.py:1814 msgid "Secret" msgstr "" -#: common/models.py:1751 +#: common/models.py:1815 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1857 +#: common/models.py:1921 msgid "Message ID" msgstr "" -#: common/models.py:1858 +#: common/models.py:1922 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1866 +#: common/models.py:1930 msgid "Host" msgstr "" -#: common/models.py:1867 +#: common/models.py:1931 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1874 +#: common/models.py:1938 msgid "Header" msgstr "" -#: common/models.py:1875 +#: common/models.py:1939 msgid "Header of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1945 msgid "Body" msgstr "" -#: common/models.py:1882 +#: common/models.py:1946 msgid "Body of this message" msgstr "" -#: common/models.py:1891 +#: common/models.py:1955 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1896 +#: common/models.py:1960 msgid "Worked on" msgstr "" -#: common/models.py:1897 +#: common/models.py:1961 msgid "Was the work on this message finished?" msgstr "" @@ -2657,7 +2657,7 @@ msgstr "" #: company/models.py:145 company/serializers.py:325 #: company/templates/company/company_base.html:106 part/serializers.py:139 -#: part/serializers.py:170 stock/serializers.py:162 +#: part/serializers.py:170 stock/serializers.py:163 msgid "Currency" msgstr "" @@ -2793,7 +2793,7 @@ msgstr "" #: company/models.py:519 company/templates/company/supplier_part.html:146 #: 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 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:388 msgid "Note" msgstr "" @@ -2807,7 +2807,7 @@ msgstr "" #: company/models.py:525 company/templates/company/supplier_part.html:139 #: stock/models.py:608 stock/templates/stock/item_base.html:245 -#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1974 +#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1975 msgid "Packaging" msgstr "" @@ -2902,11 +2902,11 @@ msgstr "" #: company/templates/company/company_base.html:86 order/models.py:651 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:745 +#: stock/models.py:628 stock/serializers.py:785 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:381 templates/js/translated/order.js:2458 -#: templates/js/translated/stock.js:2493 +#: templates/js/translated/stock.js:2494 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "" @@ -3079,7 +3079,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 -#: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:33 +#: templates/js/translated/forms.js:442 templates/js/translated/helpers.js:33 #: users/models.py:219 msgid "Delete" msgstr "" @@ -3127,7 +3127,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:894 templates/js/translated/order.js:884 -#: templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:1932 msgid "Supplier Part" msgstr "" @@ -3235,7 +3235,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:43 #: templates/js/translated/bom.js:554 templates/js/translated/part.js:747 #: templates/js/translated/part.js:1295 templates/js/translated/part.js:1456 -#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1749 +#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1750 #: templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3262,7 +3262,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:2369 users/models.py:39 +#: templates/js/translated/stock.js:2370 users/models.py:39 msgid "Stock Items" msgstr "" @@ -3536,8 +3536,8 @@ msgstr "" #: 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:968 templates/js/translated/stock.js:1908 -#: templates/js/translated/stock.js:2474 +#: templates/js/translated/part.js:968 templates/js/translated/stock.js:1909 +#: templates/js/translated/stock.js:2475 msgid "Purchase Order" msgstr "" @@ -3557,8 +3557,8 @@ msgid "Number of items received" msgstr "" #: order/models.py:1030 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:1962 +#: stock/serializers.py:154 stock/templates/stock/item_base.html:191 +#: templates/js/translated/stock.js:1963 msgid "Purchase Price" msgstr "" @@ -4121,19 +4121,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1011 +#: part/api.py:1058 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1015 +#: part/api.py:1062 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1030 +#: part/api.py:1077 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 +#: part/api.py:1108 part/api.py:1112 part/api.py:1127 part/api.py:1131 msgid "This field is required" msgstr "" @@ -4268,7 +4268,7 @@ msgstr "" #: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:735 templates/js/translated/part.js:1391 -#: templates/js/translated/stock.js:1721 +#: templates/js/translated/stock.js:1722 msgid "IPN" msgstr "" @@ -4611,7 +4611,7 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:164 msgid "Purchase currency of this stock item" msgstr "" @@ -5752,7 +5752,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2402 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2403 msgid "Date" msgstr "" @@ -5771,19 +5771,19 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: templates/js/translated/stock.js:606 templates/js/translated/stock.js:776 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2652 msgid "Serial" msgstr "" -#: stock/api.py:505 +#: stock/api.py:511 msgid "Quantity is required" msgstr "" -#: stock/api.py:512 +#: stock/api.py:518 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:537 +#: stock/api.py:543 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5891,7 +5891,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1879 msgid "Expiry Date" msgstr "" @@ -5969,7 +5969,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1347 stock/serializers.py:895 +#: stock/models.py:1347 stock/serializers.py:935 msgid "Duplicate stock items" msgstr "" @@ -6021,120 +6021,128 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:156 +#: stock/serializers.py:157 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:280 +#: stock/serializers.py:281 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:293 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:299 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 +#: stock/serializers.py:310 stock/serializers.py:892 stock/serializers.py:1125 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:316 +#: stock/serializers.py:317 msgid "Optional note field" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:327 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:344 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:383 +#: stock/serializers.py:384 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:397 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:404 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:440 +#: stock/serializers.py:441 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:445 stock/serializers.py:487 +#: stock/serializers.py:446 stock/serializers.py:527 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:482 +#: stock/serializers.py:480 +msgid "Select part to convert stock item into" +msgstr "" + +#: stock/serializers.py:491 +msgid "Selected part is not a valid option for conversion" +msgstr "" + +#: stock/serializers.py:522 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:707 +#: stock/serializers.py:747 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:711 +#: stock/serializers.py:751 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:755 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:786 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:752 +#: stock/serializers.py:792 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:760 +#: stock/serializers.py:800 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:770 stock/serializers.py:1001 +#: stock/serializers.py:810 stock/serializers.py:1041 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:859 +#: stock/serializers.py:899 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:864 +#: stock/serializers.py:904 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:865 +#: stock/serializers.py:905 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:870 +#: stock/serializers.py:910 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:871 +#: stock/serializers.py:911 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:881 +#: stock/serializers.py:921 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:963 +#: stock/serializers.py:1003 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:1031 msgid "Stock transaction notes" msgstr "" @@ -6171,7 +6179,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2795 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2796 msgid "Install Stock Item" msgstr "" @@ -6179,7 +6187,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1517 +#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1518 msgid "Add Test Result" msgstr "" @@ -6366,7 +6374,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1894 +#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1895 msgid "Last Updated" msgstr "" @@ -6382,7 +6390,23 @@ msgstr "" msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:642 +#: stock/templates/stock/item_base.html:594 +msgid "Select one of the part variants listed below." +msgstr "" + +#: stock/templates/stock/item_base.html:597 +msgid "Warning" +msgstr "" + +#: stock/templates/stock/item_base.html:598 +msgid "This action cannot be easily undone" +msgstr "" + +#: stock/templates/stock/item_base.html:606 +msgid "Convert Stock Item" +msgstr "" + +#: stock/templates/stock/item_base.html:664 msgid "Return to Stock" msgstr "" @@ -6466,32 +6490,11 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:143 -msgid "Convert Stock Item" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:8 -#, python-format -msgid "This stock item is current an instance of %(part)s" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:9 -msgid "It can be converted to one of the part variants listed below." -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:13 -msgid "Warning" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:14 -msgid "This action cannot be easily undone" -msgstr "" - -#: stock/views.py:110 +#: stock/views.py:109 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:126 +#: stock/views.py:125 msgid "Stock Item QR Code" msgstr "" @@ -7303,7 +7306,7 @@ 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 +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:633 msgid "Confirm" msgstr "אשר" @@ -8175,8 +8178,8 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2447 templates/js/translated/part.js:1383 -#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1681 -#: templates/js/translated/stock.js:2339 +#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:2340 msgid "Select" msgstr "" @@ -8188,7 +8191,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2581 +#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2582 msgid "No user information" msgstr "" @@ -8342,61 +8345,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:353 templates/js/translated/forms.js:368 -#: templates/js/translated/forms.js:382 templates/js/translated/forms.js:396 +#: templates/js/translated/forms.js:356 templates/js/translated/forms.js:371 +#: templates/js/translated/forms.js:385 templates/js/translated/forms.js:399 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:355 +#: templates/js/translated/forms.js:358 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:370 +#: templates/js/translated/forms.js:373 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:384 +#: templates/js/translated/forms.js:387 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:398 +#: templates/js/translated/forms.js:401 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:656 +#: templates/js/translated/forms.js:659 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:757 +#: templates/js/translated/forms.js:760 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1249 templates/modals.html:19 +#: templates/js/translated/forms.js:1252 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1682 +#: templates/js/translated/forms.js:1685 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1897 templates/search.html:29 +#: templates/js/translated/forms.js:1900 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2150 +#: templates/js/translated/forms.js:2153 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2628 +#: templates/js/translated/forms.js:2631 msgid "Select Columns" msgstr "" @@ -8727,7 +8730,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2142 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2143 msgid "Stock Status" msgstr "" @@ -8921,7 +8924,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1597 +#: templates/js/translated/stock.js:1598 msgid "Shipped to customer" msgstr "" @@ -9187,7 +9190,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:1573 templates/js/translated/part.js:1785 -#: templates/js/translated/stock.js:2300 +#: templates/js/translated/stock.js:2301 msgid "Display as list" msgstr "" @@ -9211,7 +9214,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2319 +#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2320 msgid "Display as tree" msgstr "" @@ -9219,7 +9222,7 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2363 +#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2364 msgid "Path" msgstr "" @@ -9232,7 +9235,7 @@ msgid "Edit test result" msgstr "" #: templates/js/translated/part.js:1978 templates/js/translated/stock.js:1296 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1556 msgid "Delete test result" msgstr "" @@ -9565,180 +9568,180 @@ msgstr "" msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1374 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1538 +#: templates/js/translated/stock.js:1539 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/stock.js:1561 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1590 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1593 +#: templates/js/translated/stock.js:1594 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1601 +#: templates/js/translated/stock.js:1602 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1607 +#: templates/js/translated/stock.js:1608 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1775 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:1780 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1782 +#: templates/js/translated/stock.js:1783 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1785 +#: templates/js/translated/stock.js:1786 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1787 +#: templates/js/translated/stock.js:1788 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1790 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1793 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1797 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1799 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1806 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1807 +#: templates/js/translated/stock.js:1808 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1809 +#: templates/js/translated/stock.js:1810 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1813 +#: templates/js/translated/stock.js:1814 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1865 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1946 +#: templates/js/translated/stock.js:1947 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1984 +#: templates/js/translated/stock.js:1985 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2157 +#: templates/js/translated/stock.js:2158 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2171 +#: templates/js/translated/stock.js:2172 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2173 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2443 +#: templates/js/translated/stock.js:2444 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2465 +#: templates/js/translated/stock.js:2466 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2484 +#: templates/js/translated/stock.js:2485 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2504 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2521 +#: templates/js/translated/stock.js:2522 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2545 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2552 +#: templates/js/translated/stock.js:2553 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2629 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2679 templates/js/translated/stock.js:2715 +#: templates/js/translated/stock.js:2680 templates/js/translated/stock.js:2716 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2729 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2749 +#: templates/js/translated/stock.js:2750 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2751 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2753 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/stock.js:2754 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2755 +#: templates/js/translated/stock.js:2756 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2768 +#: templates/js/translated/stock.js:2769 msgid "Select part to install" msgstr "" @@ -9990,61 +9993,61 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:525 +#: templates/js/translated/tables.js:534 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:528 +#: templates/js/translated/tables.js:537 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:533 +#: templates/js/translated/tables.js:542 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "to" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "of" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:539 templates/navbar.html:102 +#: templates/js/translated/tables.js:548 templates/navbar.html:102 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" msgstr "" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:551 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:554 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:548 +#: templates/js/translated/tables.js:557 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:551 +#: templates/js/translated/tables.js:560 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:563 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:566 msgid "All" msgstr "" diff --git a/InvenTree/locale/hu/LC_MESSAGES/django.po b/InvenTree/locale/hu/LC_MESSAGES/django.po index f1883af2b5..4e05c02acb 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-11 13:14+0000\n" -"PO-Revision-Date: 2022-06-11 15:03\n" +"POT-Creation-Date: 2022-06-15 08:34+0000\n" +"PO-Revision-Date: 2022-06-15 16:23\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -141,12 +141,12 @@ msgstr "Megjegyzés" msgid "File comment" msgstr "Leírás, bővebb infó" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1575 +#: common/models.py:1576 common/models.py:1799 common/models.py:1800 +#: common/models.py:2062 common/models.py:2063 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:2575 +#: templates/js/translated/stock.js:2576 msgid "User" msgstr "Felhasználó" @@ -183,7 +183,7 @@ msgstr "Hiba a fájl átnevezésekor" msgid "Invalid choice" msgstr "Érvénytelen választás" -#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1785 #: company/models.py:355 label/models.py:101 part/models.py:739 #: part/models.py:2319 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -195,7 +195,7 @@ msgstr "Érvénytelen választás" #: templates/js/translated/company.js:744 #: templates/js/translated/notification.js:73 #: templates/js/translated/part.js:684 templates/js/translated/part.js:836 -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2345 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2346 msgid "Name" msgstr "Név" @@ -217,8 +217,8 @@ msgstr "Név" #: templates/js/translated/order.js:1888 templates/js/translated/order.js:2476 #: templates/js/translated/part.js:743 templates/js/translated/part.js:1151 #: templates/js/translated/part.js:1424 templates/js/translated/part.js:1876 -#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1738 -#: templates/js/translated/stock.js:2357 templates/js/translated/stock.js:2412 +#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1739 +#: templates/js/translated/stock.js:2358 templates/js/translated/stock.js:2413 msgid "Description" msgstr "Leírás" @@ -292,99 +292,99 @@ msgstr "Szükséges oszlop hiányzik: '{name}'" msgid "Duplicate column: '{col}'" msgstr "Duplikált oszlop: '{col}'" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:689 msgid "Czech" msgstr "Cseh" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:690 msgid "German" msgstr "Német" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:691 msgid "Greek" msgstr "Görög" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:692 msgid "English" msgstr "Angol" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:693 msgid "Spanish" msgstr "Spanyol" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:694 msgid "Spanish (Mexican)" msgstr "Spanyol (Mexikói)" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:695 msgid "Farsi / Persian" msgstr "Fárszi/Perzsa" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:696 msgid "French" msgstr "Francia" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:697 msgid "Hebrew" msgstr "Héber" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:698 msgid "Hungarian" msgstr "Magyar" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:699 msgid "Italian" msgstr "Olasz" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:700 msgid "Japanese" msgstr "Japán" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:701 msgid "Korean" msgstr "Koreai" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:702 msgid "Dutch" msgstr "Holland" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:703 msgid "Norwegian" msgstr "Norvég" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:704 msgid "Polish" msgstr "Lengyel" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:705 msgid "Portuguese" msgstr "Portugál" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:706 msgid "Portuguese (Brazilian)" msgstr "Portugál (Brazíliai)" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:707 msgid "Russian" msgstr "Orosz" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:708 msgid "Swedish" msgstr "Svéd" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:709 msgid "Thai" msgstr "Tháj" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:710 msgid "Turkish" msgstr "Török" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:711 msgid "Vietnamese" msgstr "Vietnámi" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:712 msgid "Chinese" msgstr "Kínai" @@ -515,7 +515,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:2082 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2083 msgid "Merged stock items" msgstr "Összevont készlet tétel" @@ -669,7 +669,7 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:479 #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 @@ -688,8 +688,8 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: templates/js/translated/part.js:1136 templates/js/translated/part.js:1206 #: templates/js/translated/part.js:1402 templates/js/translated/stock.js:582 #: templates/js/translated/stock.js:747 templates/js/translated/stock.js:954 -#: templates/js/translated/stock.js:1695 templates/js/translated/stock.js:2438 -#: templates/js/translated/stock.js:2633 templates/js/translated/stock.js:2767 +#: templates/js/translated/stock.js:1696 templates/js/translated/stock.js:2439 +#: templates/js/translated/stock.js:2634 templates/js/translated/stock.js:2768 msgid "Part" msgstr "Alkatrész" @@ -815,14 +815,14 @@ msgstr "Külső link" #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 #: 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:759 stock/serializers.py:858 stock/serializers.py:990 +#: stock/serializers.py:316 stock/serializers.py:445 stock/serializers.py:526 +#: stock/serializers.py:799 stock/serializers.py:898 stock/serializers.py:1030 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1038 #: templates/js/translated/company.js:949 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:1369 templates/js/translated/stock.js:1978 +#: templates/js/translated/stock.js:1370 templates/js/translated/stock.js:1979 msgid "Notes" msgstr "Megjegyzések" @@ -878,8 +878,8 @@ msgid "Build to allocate parts" msgstr "Gyártás amihez készletet foglaljunk" #: 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 +#: order/serializers.py:1017 stock/serializers.py:383 stock/serializers.py:730 +#: stock/serializers.py:856 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 @@ -888,7 +888,7 @@ msgstr "Gyártás amihez készletet foglaljunk" #: 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:583 templates/js/translated/stock.js:748 -#: templates/js/translated/stock.js:2511 +#: templates/js/translated/stock.js:2512 msgid "Stock Item" msgstr "Készlet tétel" @@ -898,7 +898,7 @@ msgstr "Forrás készlet tétel" #: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1543 +#: build/templates/build/detail.html:34 common/models.py:1607 #: company/forms.py:36 company/templates/company/supplier_part.html:279 #: order/models.py:911 order/models.py:1414 order/serializers.py:1136 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 @@ -911,7 +911,7 @@ msgstr "Forrás készlet tétel" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:280 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:691 #: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 @@ -928,7 +928,7 @@ msgstr "Forrás készlet tétel" #: templates/js/translated/part.js:2321 templates/js/translated/part.js:2355 #: templates/js/translated/part.js:2433 templates/js/translated/stock.js:454 #: templates/js/translated/stock.js:608 templates/js/translated/stock.js:778 -#: templates/js/translated/stock.js:2560 templates/js/translated/stock.js:2645 +#: templates/js/translated/stock.js:2561 templates/js/translated/stock.js:2646 msgid "Quantity" msgstr "Mennyiség" @@ -972,7 +972,7 @@ msgstr "Add meg a mennyiséget a gyártás kimenetéhez" #: build/serializers.py:198 build/serializers.py:623 order/models.py:354 #: 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 +#: stock/serializers.py:289 msgid "Quantity must be greater than zero" msgstr "Mennyiségnek nullánál többnek kell lennie" @@ -985,7 +985,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa 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:1140 -#: stock/serializers.py:297 templates/js/translated/order.js:1186 +#: stock/serializers.py:298 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:267 templates/js/translated/stock.js:455 msgid "Serial Numbers" msgstr "Sorozatszámok" @@ -1002,7 +1002,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:553 +#: build/serializers.py:268 stock/api.py:559 msgid "The following serial numbers already exist" msgstr "A következő sorozatszámok már léteznek" @@ -1011,8 +1011,8 @@ msgid "A list of build outputs must be provided" 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:851 stock/serializers.py:1084 +#: stock/serializers.py:309 stock/serializers.py:440 stock/serializers.py:521 +#: stock/serializers.py:891 stock/serializers.py:1124 #: 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 @@ -1021,7 +1021,7 @@ msgstr "A gyártási kimenetek listáját meg kell adni" #: templates/js/translated/order.js:3247 templates/js/translated/order.js:3328 #: templates/js/translated/part.js:181 templates/js/translated/stock.js:584 #: templates/js/translated/stock.js:749 templates/js/translated/stock.js:956 -#: templates/js/translated/stock.js:1849 templates/js/translated/stock.js:2452 +#: templates/js/translated/stock.js:1850 templates/js/translated/stock.js:2453 msgid "Location" msgstr "Hely" @@ -1034,8 +1034,8 @@ msgstr "A kész gyártási kimenetek helye" #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2509 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 -#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1824 -#: templates/js/translated/stock.js:2529 templates/js/translated/stock.js:2661 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1825 +#: templates/js/translated/stock.js:2530 templates/js/translated/stock.js:2662 msgid "Status" msgstr "Állapot" @@ -1113,7 +1113,7 @@ 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:703 +#: build/serializers.py:609 stock/serializers.py:743 msgid "Item must be in stock" msgstr "A tételnek kell legyen készlete" @@ -1334,8 +1334,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:1022 templates/js/translated/stock.js:1838 -#: templates/js/translated/stock.js:2668 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:1839 +#: templates/js/translated/stock.js:2669 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1546,912 +1546,912 @@ msgstr "{name.title()} Fájl" msgid "Select {name} file to upload" msgstr "{name} fájl kiválasztása feltöltéshez" -#: common/models.py:365 +#: common/models.py:434 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:367 +#: common/models.py:436 msgid "Settings value" msgstr "Beállítás értéke" -#: common/models.py:408 +#: common/models.py:477 msgid "Chosen value is not a valid option" msgstr "A kiválasztott érték nem egy érvényes lehetőség" -#: common/models.py:425 +#: common/models.py:494 msgid "Value must be a boolean value" msgstr "Az érték bináris kell legyen" -#: common/models.py:436 +#: common/models.py:505 msgid "Value must be an integer value" msgstr "Az érték egész szám kell legyen" -#: common/models.py:481 +#: common/models.py:550 msgid "Key string must be unique" msgstr "Kulcs string egyedi kell legyen" -#: common/models.py:665 +#: common/models.py:734 msgid "No group" msgstr "Nincs csoport" -#: common/models.py:704 +#: common/models.py:773 msgid "Restart required" msgstr "Újraindítás szükséges" -#: common/models.py:705 +#: common/models.py:774 msgid "A setting has been changed which requires a server restart" msgstr "Egy olyan beállítás megváltozott ami a kiszolgáló újraindítását igényli" -#: common/models.py:712 +#: common/models.py:781 msgid "Server Instance Name" msgstr "Kiszolgáló példány neve" -#: common/models.py:714 +#: common/models.py:783 msgid "String descriptor for the server instance" msgstr "String leíró a kiszolgáló példányhoz" -#: common/models.py:718 +#: common/models.py:787 msgid "Use instance name" msgstr "Példány név használata" -#: common/models.py:719 +#: common/models.py:788 msgid "Use the instance name in the title-bar" msgstr "Példány név használata a címsorban" -#: common/models.py:725 +#: common/models.py:794 msgid "Restrict showing `about`" msgstr "Verzió infók megjelenítésének tiltása" -#: common/models.py:726 +#: common/models.py:795 msgid "Show the `about` modal only to superusers" msgstr "Verzió infók megjelenítése csak admin felhasználóknak" -#: common/models.py:732 company/models.py:93 company/models.py:94 +#: common/models.py:801 company/models.py:93 company/models.py:94 msgid "Company name" msgstr "Cég neve" -#: common/models.py:733 +#: common/models.py:802 msgid "Internal company name" msgstr "Belső cégnév" -#: common/models.py:738 +#: common/models.py:807 msgid "Base URL" msgstr "Kiindulási URL" -#: common/models.py:739 +#: common/models.py:808 msgid "Base URL for server instance" msgstr "Kiindulási URL a kiszolgáló példányhoz" -#: common/models.py:745 +#: common/models.py:814 msgid "Default Currency" msgstr "Alapértelmezett pénznem" -#: common/models.py:746 +#: common/models.py:815 msgid "Default currency" msgstr "Alapértelmezett pénznem" -#: common/models.py:752 +#: common/models.py:821 msgid "Download from URL" msgstr "Letöltés URL-ről" -#: common/models.py:753 +#: common/models.py:822 msgid "Allow download of remote images and files from external URL" msgstr "Képek és fájlok letöltésének engedélyezése külső URL-ről" -#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:828 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Vonalkód támogatás" -#: common/models.py:760 +#: common/models.py:829 msgid "Enable barcode scanner support" msgstr "Vonalkód olvasó engedélyezése" -#: common/models.py:766 +#: common/models.py:835 msgid "Barcode Webcam Support" msgstr "Webkamerás vonalkód olvasás" -#: common/models.py:767 +#: common/models.py:836 msgid "Allow barcode scanning via webcam in browser" msgstr "Webkamerás kódolvasás engedélyezése a böngészőből" -#: common/models.py:773 +#: common/models.py:842 msgid "IPN Regex" msgstr "IPN reguláris kifejezés" -#: common/models.py:774 +#: common/models.py:843 msgid "Regular expression pattern for matching Part IPN" msgstr "Reguláris kifejezés ami illeszkedik az alkatrész IPN-re" -#: common/models.py:778 +#: common/models.py:847 msgid "Allow Duplicate IPN" msgstr "Többször is előforduló IPN engedélyezése" -#: common/models.py:779 +#: common/models.py:848 msgid "Allow multiple parts to share the same IPN" msgstr "Azonos IPN használható legyen több alkatrész esetén is" -#: common/models.py:785 +#: common/models.py:854 msgid "Allow Editing IPN" msgstr "IPN szerkesztésének engedélyezése" -#: common/models.py:786 +#: common/models.py:855 msgid "Allow changing the IPN value while editing a part" msgstr "IPN megváltoztatásánsak engedélyezése az alkatrész szerkesztése közben" -#: common/models.py:792 +#: common/models.py:861 msgid "Copy Part BOM Data" msgstr "Alkatrészjegyzék adatok másolása" -#: common/models.py:793 +#: common/models.py:862 msgid "Copy BOM data by default when duplicating a part" msgstr "Alkatrész másoláskor az alkatrészjegyzék adatokat is másoljuk alapból" -#: common/models.py:799 +#: common/models.py:868 msgid "Copy Part Parameter Data" msgstr "Alkatrész paraméterek másolása" -#: common/models.py:800 +#: common/models.py:869 msgid "Copy parameter data by default when duplicating a part" msgstr "Alkatrész másoláskor a paramétereket is másoljuk alapból" -#: common/models.py:806 +#: common/models.py:875 msgid "Copy Part Test Data" msgstr "Alkatrész teszt adatok másolása" -#: common/models.py:807 +#: common/models.py:876 msgid "Copy test data by default when duplicating a part" msgstr "Alkatrész másoláskor a tesztek adatait is másoljuk alapból" -#: common/models.py:813 +#: common/models.py:882 msgid "Copy Category Parameter Templates" msgstr "Kategória paraméter sablonok másolása" -#: common/models.py:814 +#: common/models.py:883 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:2360 report/models.py:157 +#: common/models.py:889 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "Sablon" -#: common/models.py:821 +#: common/models.py:890 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:1384 +#: common/models.py:896 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" msgstr "Gyártmány" -#: common/models.py:828 +#: common/models.py:897 msgid "Parts can be assembled from other components by default" msgstr "Alkatrészeket alapból lehessen gyártani másik alkatrészekből" -#: common/models.py:834 part/models.py:890 +#: common/models.py:903 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "Összetevő" -#: common/models.py:835 +#: common/models.py:904 msgid "Parts can be used as sub-components by default" msgstr "Alkatrészek alapból használhatók összetevőként más alkatrészekhez" -#: common/models.py:841 part/models.py:901 +#: common/models.py:910 part/models.py:901 msgid "Purchaseable" msgstr "Beszerezhető" -#: common/models.py:842 +#: common/models.py:911 msgid "Parts are purchaseable by default" msgstr "Alkatrészek alapból beszerezhetők legyenek" -#: common/models.py:848 part/models.py:906 +#: common/models.py:917 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "Értékesíthető" -#: common/models.py:849 +#: common/models.py:918 msgid "Parts are salable by default" msgstr "Alkatrészek alapból eladhatók legyenek" -#: common/models.py:855 part/models.py:896 +#: common/models.py:924 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "Követésre kötelezett" -#: common/models.py:856 +#: common/models.py:925 msgid "Parts are trackable by default" msgstr "Alkatrészek alapból követésre kötelezettek legyenek" -#: common/models.py:862 part/models.py:916 +#: common/models.py:931 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Virtuális" -#: common/models.py:863 +#: common/models.py:932 msgid "Parts are virtual by default" msgstr "Alkatrészek alapból virtuálisak legyenek" -#: common/models.py:869 +#: common/models.py:938 msgid "Show Import in Views" msgstr "Importálás megjelenítése a nézetekben" -#: common/models.py:870 +#: common/models.py:939 msgid "Display the import wizard in some part views" msgstr "Import segéd megjelenítése néhány alkatrész nézetben" -#: common/models.py:876 +#: common/models.py:945 msgid "Show Price in Forms" msgstr "Ár megjelenítése a formokon" -#: common/models.py:877 +#: common/models.py:946 msgid "Display part price in some forms" msgstr "Alkatrész árak megjelenítése néhány formon" -#: common/models.py:888 +#: common/models.py:957 msgid "Show Price in BOM" msgstr "Ár megjelenítése az alkatrészjegyzékben" -#: common/models.py:889 +#: common/models.py:958 msgid "Include pricing information in BOM tables" msgstr "Árinformációk megjelenítése az alkatrészjegyzék táblákban" -#: common/models.py:900 +#: common/models.py:969 msgid "Show Price History" msgstr "Ártörténet megjelenítése" -#: common/models.py:901 +#: common/models.py:970 msgid "Display historical pricing for Part" msgstr "Alkatrész ártörténet megjelenítése" -#: common/models.py:907 +#: common/models.py:976 msgid "Show related parts" msgstr "Kapcsolódó alkatrészek megjelenítése" -#: common/models.py:908 +#: common/models.py:977 msgid "Display related parts for a part" msgstr "Alkatrész kapcsolódó alkatrészeinek megjelenítése" -#: common/models.py:914 +#: common/models.py:983 msgid "Create initial stock" msgstr "Kezdeti készlet létrehozása" -#: common/models.py:915 +#: common/models.py:984 msgid "Create initial stock on part creation" msgstr "Kezdeti készlet megadása az alkatrész létrehozásakor" -#: common/models.py:921 +#: common/models.py:990 msgid "Internal Prices" msgstr "Belső árak" -#: common/models.py:922 +#: common/models.py:991 msgid "Enable internal prices for parts" msgstr "Alkatrészekhez belső ár engedélyezése" -#: common/models.py:928 +#: common/models.py:997 msgid "Internal Price as BOM-Price" msgstr "Belső ár alkatrészjegyzék árként" -#: common/models.py:929 +#: common/models.py:998 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "Belső ár használata (ha van) az alkatrészjegyzék árszámításában" -#: common/models.py:935 +#: common/models.py:1004 msgid "Part Name Display Format" msgstr "Alkatrész név megjelenítés formátuma" -#: common/models.py:936 +#: common/models.py:1005 msgid "Format to display the part name" msgstr "Formátum az alkatrész név megjelenítéséhez" -#: common/models.py:943 +#: common/models.py:1012 msgid "Enable Reports" msgstr "Riportok engedélyezése" -#: common/models.py:944 +#: common/models.py:1013 msgid "Enable generation of reports" msgstr "Riportok előállításának engedélyezése" -#: common/models.py:950 templates/stats.html:25 +#: common/models.py:1019 templates/stats.html:25 msgid "Debug Mode" msgstr "Debug mód" -#: common/models.py:951 +#: common/models.py:1020 msgid "Generate reports in debug mode (HTML output)" msgstr "Riportok előállítása HTML formátumban (hibakereséshez)" -#: common/models.py:957 +#: common/models.py:1026 msgid "Page Size" msgstr "Lapméret" -#: common/models.py:958 +#: common/models.py:1027 msgid "Default page size for PDF reports" msgstr "Alapértelmezett lapméret a PDF riportokhoz" -#: common/models.py:968 +#: common/models.py:1037 msgid "Enable Test Reports" msgstr "Teszt riportok engedélyezése" -#: common/models.py:969 +#: common/models.py:1038 msgid "Enable generation of test reports" msgstr "Teszt riportok előállításának engedélyezése" -#: common/models.py:975 +#: common/models.py:1044 msgid "Attach Test Reports" msgstr "Teszt riportok hozzáadása" -#: common/models.py:976 +#: common/models.py:1045 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Teszt riport nyomtatáskor egy másolat hozzáadása a készlet tételhez" -#: common/models.py:982 +#: common/models.py:1051 msgid "Batch Code Template" msgstr "Batch kód sablon" -#: common/models.py:983 +#: common/models.py:1052 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:988 +#: common/models.py:1057 msgid "Stock Expiry" msgstr "Készlet lejárata" -#: common/models.py:989 +#: common/models.py:1058 msgid "Enable stock expiry functionality" msgstr "Készlet lejárat kezelésének engedélyezése" -#: common/models.py:995 +#: common/models.py:1064 msgid "Sell Expired Stock" msgstr "Lejárt készlet értékesítése" -#: common/models.py:996 +#: common/models.py:1065 msgid "Allow sale of expired stock" msgstr "Lejárt készlet értékesítésének engedélyezése" -#: common/models.py:1002 +#: common/models.py:1071 msgid "Stock Stale Time" msgstr "Álló készlet ideje" -#: common/models.py:1003 +#: common/models.py:1072 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:1005 +#: common/models.py:1074 msgid "days" msgstr "nap" -#: common/models.py:1010 +#: common/models.py:1079 msgid "Build Expired Stock" msgstr "Lejárt készlet gyártása" -#: common/models.py:1011 +#: common/models.py:1080 msgid "Allow building with expired stock" msgstr "Gyártás engedélyezése lejárt készletből" -#: common/models.py:1017 +#: common/models.py:1086 msgid "Stock Ownership Control" msgstr "Készlet tulajdonosok kezelése" -#: common/models.py:1018 +#: common/models.py:1087 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:1024 +#: common/models.py:1093 msgid "Build Order Reference Prefix" msgstr "Gyártási utasítás azonosító előtagja" -#: common/models.py:1025 +#: common/models.py:1094 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:1030 +#: common/models.py:1099 msgid "Build Order Reference Regex" msgstr "Gyártási utasítás azonosító reguláris kifejezés" -#: common/models.py:1031 +#: common/models.py:1100 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:1035 +#: common/models.py:1104 msgid "Sales Order Reference Prefix" msgstr "Vevői rendelés azonosító előtagja" -#: common/models.py:1036 +#: common/models.py:1105 msgid "Prefix value for sales order reference" msgstr "Előtag értéke a vevői rendelés azonosítóhoz" -#: common/models.py:1041 +#: common/models.py:1110 msgid "Sales Order Default Shipment" msgstr "Vevői rendeléshez alapértelmezett szállítmány" -#: common/models.py:1042 +#: common/models.py:1111 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:1048 +#: common/models.py:1117 msgid "Purchase Order Reference Prefix" msgstr "Beszerzési rendelés azonosító előtagja" -#: common/models.py:1049 +#: common/models.py:1118 msgid "Prefix value for purchase order reference" msgstr "Előtag értéke a beszerzési rendelés azonosítóhoz" -#: common/models.py:1055 +#: common/models.py:1124 msgid "Enable password forgot" msgstr "Elfelejtett jelszó engedélyezése" -#: common/models.py:1056 +#: common/models.py:1125 msgid "Enable password forgot function on the login pages" msgstr "Elfelejtett jelszó funkció engedélyezése a bejentkező oldalon" -#: common/models.py:1062 +#: common/models.py:1131 msgid "Enable registration" msgstr "Regisztráció engedélyezése" -#: common/models.py:1063 +#: common/models.py:1132 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:1069 +#: common/models.py:1138 msgid "Enable SSO" msgstr "SSO engedélyezése" -#: common/models.py:1070 +#: common/models.py:1139 msgid "Enable SSO on the login pages" msgstr "SSO engedélyezése a bejelentkező oldalon" -#: common/models.py:1076 +#: common/models.py:1145 msgid "Email required" msgstr "Email szükséges" -#: common/models.py:1077 +#: common/models.py:1146 msgid "Require user to supply mail on signup" msgstr "Kötelező email megadás regisztrációkor" -#: common/models.py:1083 +#: common/models.py:1152 msgid "Auto-fill SSO users" msgstr "SSO felhasználók automatikus kitöltése" -#: common/models.py:1084 +#: common/models.py:1153 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:1090 +#: common/models.py:1159 msgid "Mail twice" msgstr "Email kétszer" -#: common/models.py:1091 +#: common/models.py:1160 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:1097 +#: common/models.py:1166 msgid "Password twice" msgstr "Jelszó kétszer" -#: common/models.py:1098 +#: common/models.py:1167 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:1104 +#: common/models.py:1173 msgid "Group on signup" msgstr "Csoport regisztráláskor" -#: common/models.py:1105 +#: common/models.py:1174 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:1111 +#: common/models.py:1180 msgid "Enforce MFA" msgstr "Többfaktoros hitelesítés kényszerítése" -#: common/models.py:1112 +#: common/models.py:1181 msgid "Users must use multifactor security." msgstr "A felhasználóknak többfaktoros hitelesítést kell használniuk." -#: common/models.py:1118 +#: common/models.py:1187 msgid "Check plugins on startup" msgstr "Pluginok ellenőrzése indításkor" -#: common/models.py:1119 +#: common/models.py:1188 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:1127 +#: common/models.py:1196 msgid "Enable URL integration" msgstr "URL integráció engedélyezése" -#: common/models.py:1128 +#: common/models.py:1197 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:1135 +#: common/models.py:1204 msgid "Enable navigation integration" msgstr "Navigációs integráció engedélyezése" -#: common/models.py:1136 +#: common/models.py:1205 msgid "Enable plugins to integrate into navigation" msgstr "Navigációs integráció engedélyezése a pluginok számára" -#: common/models.py:1143 +#: common/models.py:1212 msgid "Enable app integration" msgstr "App integráció engedélyezése" -#: common/models.py:1144 +#: common/models.py:1213 msgid "Enable plugins to add apps" msgstr "App hozzáadásának engedélyezése a pluginok számára" -#: common/models.py:1151 +#: common/models.py:1220 msgid "Enable schedule integration" msgstr "Ütemezés integráció engedélyezése" -#: common/models.py:1152 +#: common/models.py:1221 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:1159 +#: common/models.py:1228 msgid "Enable event integration" msgstr "Esemény integráció engedélyezése" -#: common/models.py:1160 +#: common/models.py:1229 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:1177 common/models.py:1499 +#: common/models.py:1246 common/models.py:1568 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:1199 +#: common/models.py:1268 msgid "Show subscribed parts" msgstr "Értesítésre beállított alkatrészek megjelenítése" -#: common/models.py:1200 +#: common/models.py:1269 msgid "Show subscribed parts on the homepage" msgstr "Alkatrész értesítések megjelenítése a főoldalon" -#: common/models.py:1206 +#: common/models.py:1275 msgid "Show subscribed categories" msgstr "Értesítésre beállított kategóriák megjelenítése" -#: common/models.py:1207 +#: common/models.py:1276 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:1213 +#: common/models.py:1282 msgid "Show latest parts" msgstr "Legújabb alkatrészek megjelenítése" -#: common/models.py:1214 +#: common/models.py:1283 msgid "Show latest parts on the homepage" msgstr "Legújabb alkatrészek megjelenítése a főoldalon" -#: common/models.py:1220 +#: common/models.py:1289 msgid "Recent Part Count" msgstr "Legfrissebb alkatrész szám" -#: common/models.py:1221 +#: common/models.py:1290 msgid "Number of recent parts to display on index page" msgstr "Főoldalon megjelenítendő legújabb alkatrészek" -#: common/models.py:1227 +#: common/models.py:1296 msgid "Show unvalidated BOMs" msgstr "Jóváhagyás nélküli alkatrészjegyzékek megjelenítése" -#: common/models.py:1228 +#: common/models.py:1297 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:1234 +#: common/models.py:1303 msgid "Show recent stock changes" msgstr "Legfrissebb készlet változások megjelenítése" -#: common/models.py:1235 +#: common/models.py:1304 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:1241 +#: common/models.py:1310 msgid "Recent Stock Count" msgstr "Legfrissebb készlet mennyiség" -#: common/models.py:1242 +#: common/models.py:1311 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:1248 +#: common/models.py:1317 msgid "Show low stock" msgstr "Alacsony készlet megjelenítése" -#: common/models.py:1249 +#: common/models.py:1318 msgid "Show low stock items on the homepage" msgstr "Alacsony készletek megjelenítése a főoldalon" -#: common/models.py:1255 +#: common/models.py:1324 msgid "Show depleted stock" msgstr "Kimerült készlet megjelenítése" -#: common/models.py:1256 +#: common/models.py:1325 msgid "Show depleted stock items on the homepage" msgstr "Kimerült készletek megjelenítése a főoldalon" -#: common/models.py:1262 +#: common/models.py:1331 msgid "Show needed stock" msgstr "Gyártáshoz szükséges készlet megjelenítése" -#: common/models.py:1263 +#: common/models.py:1332 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:1269 +#: common/models.py:1338 msgid "Show expired stock" msgstr "Lejárt készlet megjelenítése" -#: common/models.py:1270 +#: common/models.py:1339 msgid "Show expired stock items on the homepage" msgstr "Lejárt készletek megjelenítése a főoldalon" -#: common/models.py:1276 +#: common/models.py:1345 msgid "Show stale stock" msgstr "Állott készlet megjelenítése" -#: common/models.py:1277 +#: common/models.py:1346 msgid "Show stale stock items on the homepage" msgstr "Álló készletek megjelenítése a főoldalon" -#: common/models.py:1283 +#: common/models.py:1352 msgid "Show pending builds" msgstr "Függő gyártások megjelenítése" -#: common/models.py:1284 +#: common/models.py:1353 msgid "Show pending builds on the homepage" msgstr "Folyamatban lévő gyártások megjelenítése a főoldalon" -#: common/models.py:1290 +#: common/models.py:1359 msgid "Show overdue builds" msgstr "Késésben lévő gyártások megjelenítése" -#: common/models.py:1291 +#: common/models.py:1360 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:1297 +#: common/models.py:1366 msgid "Show outstanding POs" msgstr "Kintlévő beszerzési rendelések megjelenítése" -#: common/models.py:1298 +#: common/models.py:1367 msgid "Show outstanding POs on the homepage" msgstr "Kintlévő beszerzési rendelések megjelenítése a főoldalon" -#: common/models.py:1304 +#: common/models.py:1373 msgid "Show overdue POs" msgstr "Késésben lévő megrendelések megjelenítése" -#: common/models.py:1305 +#: common/models.py:1374 msgid "Show overdue POs on the homepage" msgstr "Késésben lévő megrendelések megjelenítése a főoldalon" -#: common/models.py:1311 +#: common/models.py:1380 msgid "Show outstanding SOs" msgstr "Függő vevői rendelések megjelenítése" -#: common/models.py:1312 +#: common/models.py:1381 msgid "Show outstanding SOs on the homepage" msgstr "Függő vevői rendelések megjelenítése a főoldalon" -#: common/models.py:1318 +#: common/models.py:1387 msgid "Show overdue SOs" msgstr "Késésben lévő vevői rendelések megjelenítése" -#: common/models.py:1319 +#: common/models.py:1388 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:1324 +#: common/models.py:1393 msgid "Enable label printing" msgstr "Címke nyomtatás engedélyezése" -#: common/models.py:1325 +#: common/models.py:1394 msgid "Enable label printing from the web interface" msgstr "Címke nyomtatás engedélyezése a web felületről" -#: common/models.py:1331 +#: common/models.py:1400 msgid "Inline label display" msgstr "Beágyazott címke megjelenítés" -#: common/models.py:1332 +#: common/models.py:1401 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:1338 +#: common/models.py:1407 msgid "Inline report display" msgstr "Beágyazott riport megjelenítés" -#: common/models.py:1339 +#: common/models.py:1408 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:1345 +#: common/models.py:1414 msgid "Search Parts" msgstr "Alkatrészek keresése" -#: common/models.py:1346 +#: common/models.py:1415 msgid "Display parts in search preview window" msgstr "Alkatrészek megjelenítése a keresési előnézetben" -#: common/models.py:1352 +#: common/models.py:1421 msgid "Seach Supplier Parts" msgstr "Beszállítói alkatrészek keresése" -#: common/models.py:1353 +#: common/models.py:1422 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:1359 +#: common/models.py:1428 msgid "Search Manufacturer Parts" msgstr "Gyártói alkatrészek keresése" -#: common/models.py:1360 +#: common/models.py:1429 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:1366 +#: common/models.py:1435 msgid "Hide Inactive Parts" msgstr "Inaktív alkatrészek elrejtése" -#: common/models.py:1367 +#: common/models.py:1436 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:1373 +#: common/models.py:1442 msgid "Search Categories" msgstr "Kategóriák keresése" -#: common/models.py:1374 +#: common/models.py:1443 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:1380 +#: common/models.py:1449 msgid "Search Stock" msgstr "Készlet keresése" -#: common/models.py:1381 +#: common/models.py:1450 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:1387 +#: common/models.py:1456 msgid "Hide Unavailable Stock Items" msgstr "Nem elérhető készlet tételek elrejtése" -#: common/models.py:1388 +#: common/models.py:1457 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:1394 +#: common/models.py:1463 msgid "Search Locations" msgstr "Helyek keresése" -#: common/models.py:1395 +#: common/models.py:1464 msgid "Display stock locations in search preview window" msgstr "Készlet helyek megjelenítése a keresési előnézetben" -#: common/models.py:1401 +#: common/models.py:1470 msgid "Search Companies" msgstr "Cégek keresése" -#: common/models.py:1402 +#: common/models.py:1471 msgid "Display companies in search preview window" msgstr "Cégek megjelenítése a keresési előnézetben" -#: common/models.py:1408 +#: common/models.py:1477 msgid "Search Purchase Orders" msgstr "Beszerzési rendelések keresése" -#: common/models.py:1409 +#: common/models.py:1478 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:1415 +#: common/models.py:1484 msgid "Exclude Inactive Purchase Orders" msgstr "Inaktív beszerzési rendelések kihagyása" -#: common/models.py:1416 +#: common/models.py:1485 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:1422 +#: common/models.py:1491 msgid "Search Sales Orders" msgstr "Vevői rendelések keresése" -#: common/models.py:1423 +#: common/models.py:1492 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:1429 +#: common/models.py:1498 msgid "Exclude Inactive Sales Orders" msgstr "Inaktív vevői rendelések kihagyása" -#: common/models.py:1430 +#: common/models.py:1499 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:1436 +#: common/models.py:1505 msgid "Search Preview Results" msgstr "Keresési előnézet eredményei" -#: common/models.py:1437 +#: common/models.py:1506 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:1443 +#: common/models.py:1512 msgid "Show Quantity in Forms" msgstr "Mennyiség megjelenítése a formokon" -#: common/models.py:1444 +#: common/models.py:1513 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:1450 +#: common/models.py:1519 msgid "Escape Key Closes Forms" msgstr "ESC billentyű zárja be a formot" -#: common/models.py:1451 +#: common/models.py:1520 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:1457 +#: common/models.py:1526 msgid "Fixed Navbar" msgstr "Rögzített menüsor" -#: common/models.py:1458 +#: common/models.py:1527 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:1464 +#: common/models.py:1533 msgid "Date Format" msgstr "Dátum formátum" -#: common/models.py:1465 +#: common/models.py:1534 msgid "Preferred format for displaying dates" msgstr "Preferált dátum formátum a dátumok kijelzésekor" -#: common/models.py:1479 part/templates/part/detail.html:39 +#: common/models.py:1548 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "Alkatrész ütemezés" -#: common/models.py:1480 +#: common/models.py:1549 msgid "Display part scheduling information" msgstr "Alkatrész ütemezési információk megjelenítése" -#: common/models.py:1544 company/forms.py:37 +#: common/models.py:1608 company/forms.py:37 msgid "Price break quantity" msgstr "Árlépcső mennyiség" -#: common/models.py:1551 company/serializers.py:319 +#: common/models.py:1615 company/serializers.py:319 #: company/templates/company/supplier_part.html:284 order/models.py:951 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:2095 msgid "Price" msgstr "Ár" -#: common/models.py:1552 +#: common/models.py:1616 msgid "Unit price at specified quantity" msgstr "Egységár egy meghatározott mennyiség esetén" -#: common/models.py:1712 common/models.py:1890 +#: common/models.py:1776 common/models.py:1954 msgid "Endpoint" msgstr "Végpont" -#: common/models.py:1713 +#: common/models.py:1777 msgid "Endpoint at which this webhook is received" msgstr "Végpont ahol ez a webhook érkezik" -#: common/models.py:1722 +#: common/models.py:1786 msgid "Name for this webhook" msgstr "Webhook neve" -#: common/models.py:1727 part/models.py:911 plugin/models.py:99 +#: common/models.py:1791 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 @@ -2459,67 +2459,67 @@ msgstr "Webhook neve" msgid "Active" msgstr "Aktív" -#: common/models.py:1728 +#: common/models.py:1792 msgid "Is this webhook active" msgstr "Aktív-e ez a webhook" -#: common/models.py:1742 +#: common/models.py:1806 msgid "Token" msgstr "Token" -#: common/models.py:1743 +#: common/models.py:1807 msgid "Token for access" msgstr "Token a hozzáféréshez" -#: common/models.py:1750 +#: common/models.py:1814 msgid "Secret" msgstr "Titok" -#: common/models.py:1751 +#: common/models.py:1815 msgid "Shared secret for HMAC" msgstr "Megosztott titok a HMAC-hoz" -#: common/models.py:1857 +#: common/models.py:1921 msgid "Message ID" msgstr "Üzenet azonosító" -#: common/models.py:1858 +#: common/models.py:1922 msgid "Unique identifier for this message" msgstr "Egyedi azonosító ehhez az üzenethez" -#: common/models.py:1866 +#: common/models.py:1930 msgid "Host" msgstr "Kiszolgáló" -#: common/models.py:1867 +#: common/models.py:1931 msgid "Host from which this message was received" msgstr "Kiszolgáló ahonnan ez az üzenet érkezett" -#: common/models.py:1874 +#: common/models.py:1938 msgid "Header" msgstr "Fejléc" -#: common/models.py:1875 +#: common/models.py:1939 msgid "Header of this message" msgstr "Üzenet fejléce" -#: common/models.py:1881 +#: common/models.py:1945 msgid "Body" msgstr "Törzs" -#: common/models.py:1882 +#: common/models.py:1946 msgid "Body of this message" msgstr "Üzenet törzse" -#: common/models.py:1891 +#: common/models.py:1955 msgid "Endpoint on which this message was received" msgstr "Végpont amin ez az üzenet érkezett" -#: common/models.py:1896 +#: common/models.py:1960 msgid "Worked on" msgstr "Dolgozott rajta" -#: common/models.py:1897 +#: common/models.py:1961 msgid "Was the work on this message finished?" msgstr "Befejeződött a munka ezzel az üzenettel?" @@ -2658,7 +2658,7 @@ msgstr "Gyárt ez a cég alkatrészeket?" #: company/models.py:145 company/serializers.py:325 #: company/templates/company/company_base.html:106 part/serializers.py:139 -#: part/serializers.py:170 stock/serializers.py:162 +#: part/serializers.py:170 stock/serializers.py:163 msgid "Currency" msgstr "Pénznem" @@ -2794,7 +2794,7 @@ msgstr "Beszállítói alkatrész leírása" #: company/models.py:519 company/templates/company/supplier_part.html:146 #: 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 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:388 msgid "Note" msgstr "Megjegyzés" @@ -2808,7 +2808,7 @@ msgstr "Minimális díj (pl. tárolási díj)" #: company/models.py:525 company/templates/company/supplier_part.html:139 #: stock/models.py:608 stock/templates/stock/item_base.html:245 -#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1974 +#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1975 msgid "Packaging" msgstr "Csomagolás" @@ -2903,11 +2903,11 @@ msgstr "Kép letöltése URL-ről" #: company/templates/company/company_base.html:86 order/models.py:651 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:745 +#: stock/models.py:628 stock/serializers.py:785 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:381 templates/js/translated/order.js:2458 -#: templates/js/translated/stock.js:2493 +#: templates/js/translated/stock.js:2494 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "Vevő" @@ -3080,7 +3080,7 @@ msgstr "Beszállítói alkatrész törlése" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 -#: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:33 +#: templates/js/translated/forms.js:442 templates/js/translated/helpers.js:33 #: users/models.py:219 msgid "Delete" msgstr "Törlés" @@ -3128,7 +3128,7 @@ msgstr "Hozzárendelt készlet tételek" #: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:894 templates/js/translated/order.js:884 -#: templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:1932 msgid "Supplier Part" msgstr "Beszállítói alkatrész" @@ -3236,7 +3236,7 @@ msgstr "Alkatrész elérhetőség frissítése" #: templates/InvenTree/settings/sidebar.html:43 #: templates/js/translated/bom.js:554 templates/js/translated/part.js:747 #: templates/js/translated/part.js:1295 templates/js/translated/part.js:1456 -#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1749 +#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1750 #: templates/navbar.html:31 msgid "Stock" msgstr "Készlet" @@ -3263,7 +3263,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:2369 users/models.py:39 +#: templates/js/translated/stock.js:2370 users/models.py:39 msgid "Stock Items" msgstr "Készlet tételek" @@ -3537,8 +3537,8 @@ msgstr "Rendelés" #: 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:968 templates/js/translated/stock.js:1908 -#: templates/js/translated/stock.js:2474 +#: templates/js/translated/part.js:968 templates/js/translated/stock.js:1909 +#: templates/js/translated/stock.js:2475 msgid "Purchase Order" msgstr "Beszerzési rendelés" @@ -3558,8 +3558,8 @@ msgid "Number of items received" msgstr "Érkezett tételek száma" #: order/models.py:1030 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:1962 +#: stock/serializers.py:154 stock/templates/stock/item_base.html:191 +#: templates/js/translated/stock.js:1963 msgid "Purchase Price" msgstr "Beszerzési ár" @@ -4122,19 +4122,19 @@ msgstr "Teljes alkatrészjegyzék jóváhagyása" msgid "This option must be selected" msgstr "Ennek az opciónak ki kll lennie választva" -#: part/api.py:1011 +#: part/api.py:1058 msgid "Must be greater than zero" msgstr "Nullánál nagyobb kell legyen" -#: part/api.py:1015 +#: part/api.py:1062 msgid "Must be a valid quantity" msgstr "Érvényes mennyiségnek kell lennie" -#: part/api.py:1030 +#: part/api.py:1077 msgid "Specify location for initial part stock" msgstr "Hely megadása a kezdeti alkarész készlethez" -#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 +#: part/api.py:1108 part/api.py:1112 part/api.py:1127 part/api.py:1131 msgid "This field is required" msgstr "Ez a mező kötelező" @@ -4269,7 +4269,7 @@ msgstr "Alkatrész kategória" #: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:735 templates/js/translated/part.js:1391 -#: templates/js/translated/stock.js:1721 +#: templates/js/translated/stock.js:1722 msgid "IPN" msgstr "IPN" @@ -4612,7 +4612,7 @@ msgstr "Alkatrész kapcsolat nem hozható létre önmagával" msgid "Duplicate relationship already exists" msgstr "Már létezik duplikált alkatrész kapcsolat" -#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:164 msgid "Purchase currency of this stock item" msgstr "Beszerzési pénzneme ennek a készlet tételnek" @@ -5753,7 +5753,7 @@ 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:2402 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2403 msgid "Date" msgstr "Dátum" @@ -5772,19 +5772,19 @@ msgstr "Beépített tételek" #: report/templates/report/inventree_test_report_base.html:137 #: templates/js/translated/stock.js:606 templates/js/translated/stock.js:776 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2652 msgid "Serial" msgstr "Sorozatszám" -#: stock/api.py:505 +#: stock/api.py:511 msgid "Quantity is required" msgstr "Mennyiség megadása kötelező" -#: stock/api.py:512 +#: stock/api.py:518 msgid "Valid part must be supplied" msgstr "Egy érvényes alkatrészt meg kell adni" -#: stock/api.py:537 +#: stock/api.py:543 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" @@ -5892,7 +5892,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:1878 +#: templates/js/translated/stock.js:1879 msgid "Expiry Date" msgstr "Lejárati dátum" @@ -5970,7 +5970,7 @@ msgstr "Készlet tétel gyártás alatt" msgid "Serialized stock cannot be merged" msgstr "Követésre kötelezett készlet nem vonható össze" -#: stock/models.py:1347 stock/serializers.py:895 +#: stock/models.py:1347 stock/serializers.py:935 msgid "Duplicate stock items" msgstr "Duplikált készlet tételek vannak" @@ -6022,120 +6022,128 @@ msgstr "Teszt eredmény melléklet" msgid "Test notes" msgstr "Tesztek megjegyzései" -#: stock/serializers.py:156 +#: stock/serializers.py:157 msgid "Purchase price of this stock item" msgstr "Beszerzési ára ennek a készlet tételnek" -#: stock/serializers.py:280 +#: stock/serializers.py:281 msgid "Enter number of stock items to serialize" msgstr "Add meg hány készlet tételt lássunk el sorozatszámmal" -#: stock/serializers.py:292 +#: stock/serializers.py:293 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "A mennyiség nem lépheti túl a rendelkezésre álló készletet ({q})" -#: stock/serializers.py:298 +#: stock/serializers.py:299 msgid "Enter serial numbers for new items" msgstr "Írd be a sorozatszámokat az új tételekhez" -#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 +#: stock/serializers.py:310 stock/serializers.py:892 stock/serializers.py:1125 msgid "Destination stock location" msgstr "Cél készlet hely" -#: stock/serializers.py:316 +#: stock/serializers.py:317 msgid "Optional note field" msgstr "Opcionális megjegyzés mező" -#: stock/serializers.py:326 +#: stock/serializers.py:327 msgid "Serial numbers cannot be assigned to this part" msgstr "Sorozatszámokat nem lehet hozzárendelni ehhez az alkatrészhez" -#: stock/serializers.py:343 +#: stock/serializers.py:344 msgid "Serial numbers already exist" msgstr "A sorozatszámok már léteznek" -#: stock/serializers.py:383 +#: stock/serializers.py:384 msgid "Select stock item to install" msgstr "Válaszd ki a beépítésre szánt készlet tételt" -#: stock/serializers.py:396 +#: stock/serializers.py:397 msgid "Stock item is unavailable" msgstr "Készlet tétel nem elérhető" -#: stock/serializers.py:403 +#: stock/serializers.py:404 msgid "Selected part is not in the Bill of Materials" msgstr "A kiválasztott alkatrész nincs az alkatrészjegyzékben" -#: stock/serializers.py:440 +#: stock/serializers.py:441 msgid "Destination location for uninstalled item" msgstr "Cél hely a kiszedett tételeknek" -#: stock/serializers.py:445 stock/serializers.py:487 +#: stock/serializers.py:446 stock/serializers.py:527 msgid "Add transaction note (optional)" msgstr "Tranzakció megjegyzés hozzáadása (opcionális)" -#: stock/serializers.py:482 +#: stock/serializers.py:480 +msgid "Select part to convert stock item into" +msgstr "" + +#: stock/serializers.py:491 +msgid "Selected part is not a valid option for conversion" +msgstr "" + +#: stock/serializers.py:522 msgid "Destination location for returned item" msgstr "Cél hely a visszatérő tételeknek" -#: stock/serializers.py:707 +#: stock/serializers.py:747 msgid "Part must be salable" msgstr "Az alkatrésznek értékesíthetőnek kell lennie" -#: stock/serializers.py:711 +#: stock/serializers.py:751 msgid "Item is allocated to a sales order" msgstr "A tétel egy vevő rendeléshez foglalt" -#: stock/serializers.py:715 +#: stock/serializers.py:755 msgid "Item is allocated to a build order" msgstr "A tétel egy gyártási utasításhoz foglalt" -#: stock/serializers.py:746 +#: stock/serializers.py:786 msgid "Customer to assign stock items" msgstr "Vevő akihez rendeljük a készlet tételeket" -#: stock/serializers.py:752 +#: stock/serializers.py:792 msgid "Selected company is not a customer" msgstr "A kiválasztott cég nem egy vevő" -#: stock/serializers.py:760 +#: stock/serializers.py:800 msgid "Stock assignment notes" msgstr "Készlet hozzárendelés megjegyzései" -#: stock/serializers.py:770 stock/serializers.py:1001 +#: stock/serializers.py:810 stock/serializers.py:1041 msgid "A list of stock items must be provided" msgstr "A készlet tételek listáját meg kell adni" -#: stock/serializers.py:859 +#: stock/serializers.py:899 msgid "Stock merging notes" msgstr "Készlet összevonás megjegyzései" -#: stock/serializers.py:864 +#: stock/serializers.py:904 msgid "Allow mismatched suppliers" msgstr "Nem egyező beszállítók megengedése" -#: stock/serializers.py:865 +#: stock/serializers.py:905 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:870 +#: stock/serializers.py:910 msgid "Allow mismatched status" msgstr "Nem egyező állapotok megjelenítése" -#: stock/serializers.py:871 +#: stock/serializers.py:911 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:881 +#: stock/serializers.py:921 msgid "At least two stock items must be provided" msgstr "Legalább két készlet tételt meg kell adni" -#: stock/serializers.py:963 +#: stock/serializers.py:1003 msgid "StockItem primary key value" msgstr "Készlet tétel elsődleges kulcs értéke" -#: stock/serializers.py:991 +#: stock/serializers.py:1031 msgid "Stock transaction notes" msgstr "Készlet tranzakció megjegyzései" @@ -6172,7 +6180,7 @@ 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:2795 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2796 msgid "Install Stock Item" msgstr "Készlet tétel beépítése" @@ -6180,7 +6188,7 @@ msgstr "Készlet tétel beépítése" msgid "Delete all test results for this stock item" msgstr "Készlet tétel összes teszt eredményének törlése" -#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1517 +#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1518 msgid "Add Test Result" msgstr "Teszt eredmény hozzáadása" @@ -6367,7 +6375,7 @@ msgid "Stale" msgstr "Állott" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1894 +#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1895 msgid "Last Updated" msgstr "Utoljára módosítva" @@ -6383,7 +6391,23 @@ msgstr "Még nem volt leltározva" msgid "Edit Stock Status" msgstr "Készlet állapot szerkesztése" -#: stock/templates/stock/item_base.html:642 +#: stock/templates/stock/item_base.html:594 +msgid "Select one of the part variants listed below." +msgstr "" + +#: stock/templates/stock/item_base.html:597 +msgid "Warning" +msgstr "Figyelem" + +#: stock/templates/stock/item_base.html:598 +msgid "This action cannot be easily undone" +msgstr "Ez a művelet nem vonható vissza könnyen" + +#: stock/templates/stock/item_base.html:606 +msgid "Convert Stock Item" +msgstr "Készlet tétel konvertálása" + +#: stock/templates/stock/item_base.html:664 msgid "Return to Stock" msgstr "Visszavétel készletre" @@ -6467,32 +6491,11 @@ msgstr "Foglalások" msgid "Child Items" msgstr "Gyermek tételek" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:143 -msgid "Convert Stock Item" -msgstr "Készlet tétel konvertálása" - -#: stock/templates/stock/stockitem_convert.html:8 -#, python-format -msgid "This stock item is current an instance of %(part)s" -msgstr "Ez a készlet tétel jelenleg a %(part)s egyik példánya" - -#: stock/templates/stock/stockitem_convert.html:9 -msgid "It can be converted to one of the part variants listed below." -msgstr "Átalakítható a lentebbi változatok egyikére." - -#: stock/templates/stock/stockitem_convert.html:13 -msgid "Warning" -msgstr "Figyelem" - -#: stock/templates/stock/stockitem_convert.html:14 -msgid "This action cannot be easily undone" -msgstr "Ez a művelet nem vonható vissza könnyen" - -#: stock/views.py:110 +#: stock/views.py:109 msgid "Stock Location QR code" msgstr "Készlet hely QR kódja" -#: stock/views.py:126 +#: stock/views.py:125 msgid "Stock Item QR Code" msgstr "Készlet tétel QR kódja" @@ -7304,7 +7307,7 @@ 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 +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:633 msgid "Confirm" msgstr "Megerősítés" @@ -8176,8 +8179,8 @@ msgid "No builds matching query" msgstr "Nincs a lekérdezéssel egyező gyártási utasítás" #: templates/js/translated/build.js:2447 templates/js/translated/part.js:1383 -#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1681 -#: templates/js/translated/stock.js:2339 +#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:2340 msgid "Select" msgstr "Kiválaszt" @@ -8189,7 +8192,7 @@ msgstr "Gyártás késésben van" msgid "Progress" msgstr "Haladás" -#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2581 +#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2582 msgid "No user information" msgstr "Nincs felhasználói információ" @@ -8343,61 +8346,61 @@ msgstr "Összes szűrő törlése" msgid "Create filter" msgstr "Szűrő létrehozása" -#: templates/js/translated/forms.js:353 templates/js/translated/forms.js:368 -#: templates/js/translated/forms.js:382 templates/js/translated/forms.js:396 +#: templates/js/translated/forms.js:356 templates/js/translated/forms.js:371 +#: templates/js/translated/forms.js:385 templates/js/translated/forms.js:399 msgid "Action Prohibited" msgstr "Művelet tiltva" -#: templates/js/translated/forms.js:355 +#: templates/js/translated/forms.js:358 msgid "Create operation not allowed" msgstr "Létrehozás nem engedélyezett" -#: templates/js/translated/forms.js:370 +#: templates/js/translated/forms.js:373 msgid "Update operation not allowed" msgstr "Módosítás nem engedélyezett" -#: templates/js/translated/forms.js:384 +#: templates/js/translated/forms.js:387 msgid "Delete operation not allowed" msgstr "Törlés nem engedélyezett" -#: templates/js/translated/forms.js:398 +#: templates/js/translated/forms.js:401 msgid "View operation not allowed" msgstr "Megtekintés nem engedélyezett" -#: templates/js/translated/forms.js:656 +#: templates/js/translated/forms.js:659 msgid "Keep this form open" msgstr "Form nyitva tartása" -#: templates/js/translated/forms.js:757 +#: templates/js/translated/forms.js:760 msgid "Enter a valid number" msgstr "Adj meg egy érvényes számot" -#: templates/js/translated/forms.js:1249 templates/modals.html:19 +#: templates/js/translated/forms.js:1252 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Form hibák vannak" -#: templates/js/translated/forms.js:1682 +#: templates/js/translated/forms.js:1685 msgid "No results found" msgstr "Nincs eredmény" -#: templates/js/translated/forms.js:1897 templates/search.html:29 +#: templates/js/translated/forms.js:1900 templates/search.html:29 msgid "Searching" msgstr "Keresés" -#: templates/js/translated/forms.js:2150 +#: templates/js/translated/forms.js:2153 msgid "Clear input" msgstr "Bevitel törlése" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "File Column" msgstr "Fájl oszlop" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "Field Name" msgstr "Mező név" -#: templates/js/translated/forms.js:2628 +#: templates/js/translated/forms.js:2631 msgid "Select Columns" msgstr "Oszlopok kiválasztása" @@ -8728,7 +8731,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:2142 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2143 msgid "Stock Status" msgstr "Készlet állapota" @@ -8922,7 +8925,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:1597 +#: templates/js/translated/stock.js:1598 msgid "Shipped to customer" msgstr "Vevőnek kiszállítva" @@ -9188,7 +9191,7 @@ msgid "No category" msgstr "Nincs kategória" #: templates/js/translated/part.js:1573 templates/js/translated/part.js:1785 -#: templates/js/translated/stock.js:2300 +#: templates/js/translated/stock.js:2301 msgid "Display as list" msgstr "Megjelenítés listaként" @@ -9212,7 +9215,7 @@ msgstr "Alkatrész kategória kiválasztása" msgid "Category is required" msgstr "Kategória megadása kötelező" -#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2319 +#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2320 msgid "Display as tree" msgstr "Megjelenítés fában" @@ -9220,7 +9223,7 @@ msgstr "Megjelenítés fában" msgid "Subscribed category" msgstr "Értesítésre beállított kategória" -#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2363 +#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2364 msgid "Path" msgstr "Elérési út" @@ -9233,7 +9236,7 @@ msgid "Edit test result" msgstr "Teszt eredmény szerkesztése" #: templates/js/translated/part.js:1978 templates/js/translated/stock.js:1296 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1556 msgid "Delete test result" msgstr "Teszt eredmény törlése" @@ -9566,180 +9569,180 @@ msgstr "Teszt eredmény hozzáadása" msgid "No test results found" msgstr "Nincs teszt eredmény" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1374 msgid "Test Date" msgstr "Teszt dátuma" -#: templates/js/translated/stock.js:1538 +#: templates/js/translated/stock.js:1539 msgid "Edit Test Result" msgstr "Teszt eredmény szerkesztése" -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/stock.js:1561 msgid "Delete Test Result" msgstr "Teszt eredmény törlése" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1590 msgid "In production" msgstr "Gyártásban" -#: templates/js/translated/stock.js:1593 +#: templates/js/translated/stock.js:1594 msgid "Installed in Stock Item" msgstr "Beépítve készlet tételbe" -#: templates/js/translated/stock.js:1601 +#: templates/js/translated/stock.js:1602 msgid "Assigned to Sales Order" msgstr "Vevő rendeléshez hozzárendelve" -#: templates/js/translated/stock.js:1607 +#: templates/js/translated/stock.js:1608 msgid "No stock location set" msgstr "Nincs hely megadva" -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1775 msgid "Stock item is in production" msgstr "Készlet tétel gyártás alatt" -#: templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:1780 msgid "Stock item assigned to sales order" msgstr "Készlet tétel hozzárendelve egy vevői rendeléshez" -#: templates/js/translated/stock.js:1782 +#: templates/js/translated/stock.js:1783 msgid "Stock item assigned to customer" msgstr "Készlet tétel hozzárendelve egy vevőhöz" -#: templates/js/translated/stock.js:1785 +#: templates/js/translated/stock.js:1786 msgid "Serialized stock item has been allocated" msgstr "Egyedi követésre kötelezett készlet tétel lefoglalva" -#: templates/js/translated/stock.js:1787 +#: templates/js/translated/stock.js:1788 msgid "Stock item has been fully allocated" msgstr "Készlet tétel teljes egészében lefoglalva" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1790 msgid "Stock item has been partially allocated" msgstr "Készlet tétel részben lefoglalva" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1793 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:1796 +#: templates/js/translated/stock.js:1797 msgid "Stock item has expired" msgstr "Készlet tétel lejárt" -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1799 msgid "Stock item will expire soon" msgstr "Készlet tétel hamarosan lejár" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1806 msgid "Stock item has been rejected" msgstr "Készlet tétel elutasítva" -#: templates/js/translated/stock.js:1807 +#: templates/js/translated/stock.js:1808 msgid "Stock item is lost" msgstr "Készlet tétel elveszett" -#: templates/js/translated/stock.js:1809 +#: templates/js/translated/stock.js:1810 msgid "Stock item is destroyed" msgstr "Készlet tétel megsemmisült" -#: templates/js/translated/stock.js:1813 +#: templates/js/translated/stock.js:1814 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "Kimerült" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1865 msgid "Stocktake" msgstr "Leltár" -#: templates/js/translated/stock.js:1946 +#: templates/js/translated/stock.js:1947 msgid "Supplier part not specified" msgstr "Beszállítói alkatrész nincs megadva" -#: templates/js/translated/stock.js:1984 +#: templates/js/translated/stock.js:1985 msgid "No stock items matching query" msgstr "Nincs a lekérdezésnek megfelelő készlet tétel" -#: templates/js/translated/stock.js:2157 +#: templates/js/translated/stock.js:2158 msgid "Set Stock Status" msgstr "Készlet állapot beállítása" -#: templates/js/translated/stock.js:2171 +#: templates/js/translated/stock.js:2172 msgid "Select Status Code" msgstr "Státuszkód kiválasztása" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2173 msgid "Status code must be selected" msgstr "Státuszkódot ki kell választani" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Details" msgstr "Részletek" -#: templates/js/translated/stock.js:2443 +#: templates/js/translated/stock.js:2444 msgid "Part information unavailable" msgstr "Alkatrész információ nem áll rendelkezésre" -#: templates/js/translated/stock.js:2465 +#: templates/js/translated/stock.js:2466 msgid "Location no longer exists" msgstr "A hely már nem létezik" -#: templates/js/translated/stock.js:2484 +#: templates/js/translated/stock.js:2485 msgid "Purchase order no longer exists" msgstr "Beszerzési megrendelés már nem létezik" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2504 msgid "Customer no longer exists" msgstr "Vevő már nem létezik" -#: templates/js/translated/stock.js:2521 +#: templates/js/translated/stock.js:2522 msgid "Stock item no longer exists" msgstr "A készlet tétel már nem létezik" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2545 msgid "Added" msgstr "Hozzáadva" -#: templates/js/translated/stock.js:2552 +#: templates/js/translated/stock.js:2553 msgid "Removed" msgstr "Eltávolítva" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2629 msgid "No installed items" msgstr "Nincsenek beépített tételek" -#: templates/js/translated/stock.js:2679 templates/js/translated/stock.js:2715 +#: templates/js/translated/stock.js:2680 templates/js/translated/stock.js:2716 msgid "Uninstall Stock Item" msgstr "Készlet tétel kiszedése" -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2729 msgid "Select stock item to uninstall" msgstr "Válaszd ki a kiszedni való készlet tételt" -#: templates/js/translated/stock.js:2749 +#: templates/js/translated/stock.js:2750 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:2750 +#: templates/js/translated/stock.js:2751 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:2752 +#: templates/js/translated/stock.js:2753 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:2753 +#: templates/js/translated/stock.js:2754 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:2754 +#: templates/js/translated/stock.js:2755 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:2755 +#: templates/js/translated/stock.js:2756 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:2768 +#: templates/js/translated/stock.js:2769 msgid "Select part to install" msgstr "Válaszd ki a beépítendő alkatrészt" @@ -9991,61 +9994,61 @@ msgstr "Táblázat exportálása" msgid "Select File Format" msgstr "Fájlfomátum kiválasztása" -#: templates/js/translated/tables.js:525 +#: templates/js/translated/tables.js:534 msgid "Loading data" msgstr "Adatok betöltése" -#: templates/js/translated/tables.js:528 +#: templates/js/translated/tables.js:537 msgid "rows per page" msgstr "sor oldalanként" -#: templates/js/translated/tables.js:533 +#: templates/js/translated/tables.js:542 msgid "Showing all rows" msgstr "Összes sor mutatása" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "Showing" msgstr "Látható" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "to" msgstr "-" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "of" msgstr "a" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "rows" msgstr "sorból," -#: templates/js/translated/tables.js:539 templates/navbar.html:102 +#: templates/js/translated/tables.js:548 templates/navbar.html:102 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" msgstr "Keresés" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:551 msgid "No matching results" msgstr "Nincs egyező eredmény" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:554 msgid "Hide/Show pagination" msgstr "Lapozó elrejtése/megjelenítése" -#: templates/js/translated/tables.js:548 +#: templates/js/translated/tables.js:557 msgid "Refresh" msgstr "Frissítés" -#: templates/js/translated/tables.js:551 +#: templates/js/translated/tables.js:560 msgid "Toggle" msgstr "Átváltás" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:563 msgid "Columns" msgstr "Oszlopok" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:566 msgid "All" msgstr "Összes" diff --git a/InvenTree/locale/id/LC_MESSAGES/django.po b/InvenTree/locale/id/LC_MESSAGES/django.po index 194abfac25..081e977001 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-11 13:14+0000\n" -"PO-Revision-Date: 2022-06-11 15:03\n" +"POT-Creation-Date: 2022-06-15 08:34+0000\n" +"PO-Revision-Date: 2022-06-15 16:22\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -141,12 +141,12 @@ msgstr "" msgid "File comment" msgstr "" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1575 +#: common/models.py:1576 common/models.py:1799 common/models.py:1800 +#: common/models.py:2062 common/models.py:2063 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:2575 +#: templates/js/translated/stock.js:2576 msgid "User" msgstr "" @@ -183,7 +183,7 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1785 #: company/models.py:355 label/models.py:101 part/models.py:739 #: part/models.py:2319 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -195,7 +195,7 @@ msgstr "" #: templates/js/translated/company.js:744 #: templates/js/translated/notification.js:73 #: templates/js/translated/part.js:684 templates/js/translated/part.js:836 -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2345 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2346 msgid "Name" msgstr "" @@ -217,8 +217,8 @@ msgstr "" #: templates/js/translated/order.js:1888 templates/js/translated/order.js:2476 #: templates/js/translated/part.js:743 templates/js/translated/part.js:1151 #: templates/js/translated/part.js:1424 templates/js/translated/part.js:1876 -#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1738 -#: templates/js/translated/stock.js:2357 templates/js/translated/stock.js:2412 +#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1739 +#: templates/js/translated/stock.js:2358 templates/js/translated/stock.js:2413 msgid "Description" msgstr "" @@ -292,99 +292,99 @@ msgstr "" msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:689 msgid "Czech" msgstr "" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:690 msgid "German" msgstr "" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:691 msgid "Greek" msgstr "" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:692 msgid "English" msgstr "" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:693 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:694 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:695 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:696 msgid "French" msgstr "" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:697 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:698 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:699 msgid "Italian" msgstr "" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:700 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:701 msgid "Korean" msgstr "" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:702 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:703 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:704 msgid "Polish" msgstr "" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:705 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:706 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:707 msgid "Russian" msgstr "" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:708 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:709 msgid "Thai" msgstr "" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:710 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:711 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:712 msgid "Chinese" msgstr "" @@ -515,7 +515,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2082 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2083 msgid "Merged stock items" msgstr "" @@ -669,7 +669,7 @@ msgstr "" #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:479 #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 @@ -688,8 +688,8 @@ msgstr "" #: templates/js/translated/part.js:1136 templates/js/translated/part.js:1206 #: templates/js/translated/part.js:1402 templates/js/translated/stock.js:582 #: templates/js/translated/stock.js:747 templates/js/translated/stock.js:954 -#: templates/js/translated/stock.js:1695 templates/js/translated/stock.js:2438 -#: templates/js/translated/stock.js:2633 templates/js/translated/stock.js:2767 +#: templates/js/translated/stock.js:1696 templates/js/translated/stock.js:2439 +#: templates/js/translated/stock.js:2634 templates/js/translated/stock.js:2768 msgid "Part" msgstr "" @@ -815,14 +815,14 @@ msgstr "" #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 #: 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:759 stock/serializers.py:858 stock/serializers.py:990 +#: stock/serializers.py:316 stock/serializers.py:445 stock/serializers.py:526 +#: stock/serializers.py:799 stock/serializers.py:898 stock/serializers.py:1030 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1038 #: templates/js/translated/company.js:949 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:1369 templates/js/translated/stock.js:1978 +#: templates/js/translated/stock.js:1370 templates/js/translated/stock.js:1979 msgid "Notes" msgstr "" @@ -878,8 +878,8 @@ msgid "Build to allocate parts" msgstr "" #: 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 +#: order/serializers.py:1017 stock/serializers.py:383 stock/serializers.py:730 +#: stock/serializers.py:856 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 @@ -888,7 +888,7 @@ msgstr "" #: 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:583 templates/js/translated/stock.js:748 -#: templates/js/translated/stock.js:2511 +#: templates/js/translated/stock.js:2512 msgid "Stock Item" msgstr "" @@ -898,7 +898,7 @@ msgstr "" #: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1543 +#: build/templates/build/detail.html:34 common/models.py:1607 #: company/forms.py:36 company/templates/company/supplier_part.html:279 #: order/models.py:911 order/models.py:1414 order/serializers.py:1136 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 @@ -911,7 +911,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:280 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:691 #: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 @@ -928,7 +928,7 @@ msgstr "" #: templates/js/translated/part.js:2321 templates/js/translated/part.js:2355 #: templates/js/translated/part.js:2433 templates/js/translated/stock.js:454 #: templates/js/translated/stock.js:608 templates/js/translated/stock.js:778 -#: templates/js/translated/stock.js:2560 templates/js/translated/stock.js:2645 +#: templates/js/translated/stock.js:2561 templates/js/translated/stock.js:2646 msgid "Quantity" msgstr "" @@ -972,7 +972,7 @@ msgstr "" #: build/serializers.py:198 build/serializers.py:623 order/models.py:354 #: 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 +#: stock/serializers.py:289 msgid "Quantity must be greater than zero" msgstr "" @@ -985,7 +985,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 -#: stock/serializers.py:297 templates/js/translated/order.js:1186 +#: stock/serializers.py:298 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:267 templates/js/translated/stock.js:455 msgid "Serial Numbers" msgstr "" @@ -1002,7 +1002,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:553 +#: build/serializers.py:268 stock/api.py:559 msgid "The following serial numbers already exist" msgstr "" @@ -1011,8 +1011,8 @@ msgid "A list of build outputs must be provided" 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:851 stock/serializers.py:1084 +#: stock/serializers.py:309 stock/serializers.py:440 stock/serializers.py:521 +#: stock/serializers.py:891 stock/serializers.py:1124 #: 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 @@ -1021,7 +1021,7 @@ msgstr "" #: templates/js/translated/order.js:3247 templates/js/translated/order.js:3328 #: templates/js/translated/part.js:181 templates/js/translated/stock.js:584 #: templates/js/translated/stock.js:749 templates/js/translated/stock.js:956 -#: templates/js/translated/stock.js:1849 templates/js/translated/stock.js:2452 +#: templates/js/translated/stock.js:1850 templates/js/translated/stock.js:2453 msgid "Location" msgstr "" @@ -1034,8 +1034,8 @@ msgstr "" #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2509 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 -#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1824 -#: templates/js/translated/stock.js:2529 templates/js/translated/stock.js:2661 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1825 +#: templates/js/translated/stock.js:2530 templates/js/translated/stock.js:2662 msgid "Status" msgstr "" @@ -1112,7 +1112,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:703 +#: build/serializers.py:609 stock/serializers.py:743 msgid "Item must be in stock" msgstr "" @@ -1333,8 +1333,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:1022 templates/js/translated/stock.js:1838 -#: templates/js/translated/stock.js:2668 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:1839 +#: templates/js/translated/stock.js:2669 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1545,912 +1545,912 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:365 +#: common/models.py:434 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:367 +#: common/models.py:436 msgid "Settings value" msgstr "" -#: common/models.py:408 +#: common/models.py:477 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:425 +#: common/models.py:494 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:436 +#: common/models.py:505 msgid "Value must be an integer value" msgstr "" -#: common/models.py:481 +#: common/models.py:550 msgid "Key string must be unique" msgstr "" -#: common/models.py:665 +#: common/models.py:734 msgid "No group" msgstr "" -#: common/models.py:704 +#: common/models.py:773 msgid "Restart required" msgstr "" -#: common/models.py:705 +#: common/models.py:774 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:712 +#: common/models.py:781 msgid "Server Instance Name" msgstr "" -#: common/models.py:714 +#: common/models.py:783 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:718 +#: common/models.py:787 msgid "Use instance name" msgstr "" -#: common/models.py:719 +#: common/models.py:788 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:725 +#: common/models.py:794 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:726 +#: common/models.py:795 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:732 company/models.py:93 company/models.py:94 +#: common/models.py:801 company/models.py:93 company/models.py:94 msgid "Company name" msgstr "" -#: common/models.py:733 +#: common/models.py:802 msgid "Internal company name" msgstr "" -#: common/models.py:738 +#: common/models.py:807 msgid "Base URL" msgstr "" -#: common/models.py:739 +#: common/models.py:808 msgid "Base URL for server instance" msgstr "" -#: common/models.py:745 +#: common/models.py:814 msgid "Default Currency" msgstr "" -#: common/models.py:746 +#: common/models.py:815 msgid "Default currency" msgstr "" -#: common/models.py:752 +#: common/models.py:821 msgid "Download from URL" msgstr "" -#: common/models.py:753 +#: common/models.py:822 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:828 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:760 +#: common/models.py:829 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:766 +#: common/models.py:835 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:767 +#: common/models.py:836 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:773 +#: common/models.py:842 msgid "IPN Regex" msgstr "" -#: common/models.py:774 +#: common/models.py:843 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:778 +#: common/models.py:847 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:779 +#: common/models.py:848 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:785 +#: common/models.py:854 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:786 +#: common/models.py:855 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:792 +#: common/models.py:861 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:793 +#: common/models.py:862 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:799 +#: common/models.py:868 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:800 +#: common/models.py:869 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:806 +#: common/models.py:875 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:807 +#: common/models.py:876 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:813 +#: common/models.py:882 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:814 +#: common/models.py:883 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:820 part/models.py:2360 report/models.py:157 +#: common/models.py:889 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:821 +#: common/models.py:890 msgid "Parts are templates by default" msgstr "" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 +#: common/models.py:896 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" msgstr "" -#: common/models.py:828 +#: common/models.py:897 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:834 part/models.py:890 +#: common/models.py:903 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:835 +#: common/models.py:904 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:841 part/models.py:901 +#: common/models.py:910 part/models.py:901 msgid "Purchaseable" msgstr "" -#: common/models.py:842 +#: common/models.py:911 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:848 part/models.py:906 +#: common/models.py:917 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:849 +#: common/models.py:918 msgid "Parts are salable by default" msgstr "" -#: common/models.py:855 part/models.py:896 +#: common/models.py:924 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:856 +#: common/models.py:925 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:862 part/models.py:916 +#: common/models.py:931 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:863 +#: common/models.py:932 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:869 +#: common/models.py:938 msgid "Show Import in Views" msgstr "" -#: common/models.py:870 +#: common/models.py:939 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:876 +#: common/models.py:945 msgid "Show Price in Forms" msgstr "" -#: common/models.py:877 +#: common/models.py:946 msgid "Display part price in some forms" msgstr "" -#: common/models.py:888 +#: common/models.py:957 msgid "Show Price in BOM" msgstr "" -#: common/models.py:889 +#: common/models.py:958 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:900 +#: common/models.py:969 msgid "Show Price History" msgstr "" -#: common/models.py:901 +#: common/models.py:970 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:907 +#: common/models.py:976 msgid "Show related parts" msgstr "" -#: common/models.py:908 +#: common/models.py:977 msgid "Display related parts for a part" msgstr "" -#: common/models.py:914 +#: common/models.py:983 msgid "Create initial stock" msgstr "" -#: common/models.py:915 +#: common/models.py:984 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:921 +#: common/models.py:990 msgid "Internal Prices" msgstr "" -#: common/models.py:922 +#: common/models.py:991 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:928 +#: common/models.py:997 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:929 +#: common/models.py:998 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:935 +#: common/models.py:1004 msgid "Part Name Display Format" msgstr "" -#: common/models.py:936 +#: common/models.py:1005 msgid "Format to display the part name" msgstr "" -#: common/models.py:943 +#: common/models.py:1012 msgid "Enable Reports" msgstr "" -#: common/models.py:944 +#: common/models.py:1013 msgid "Enable generation of reports" msgstr "" -#: common/models.py:950 templates/stats.html:25 +#: common/models.py:1019 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:951 +#: common/models.py:1020 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:957 +#: common/models.py:1026 msgid "Page Size" msgstr "" -#: common/models.py:958 +#: common/models.py:1027 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:968 +#: common/models.py:1037 msgid "Enable Test Reports" msgstr "" -#: common/models.py:969 +#: common/models.py:1038 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:975 +#: common/models.py:1044 msgid "Attach Test Reports" msgstr "" -#: common/models.py:976 +#: common/models.py:1045 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:982 +#: common/models.py:1051 msgid "Batch Code Template" msgstr "" -#: common/models.py:983 +#: common/models.py:1052 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:988 +#: common/models.py:1057 msgid "Stock Expiry" msgstr "" -#: common/models.py:989 +#: common/models.py:1058 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:995 +#: common/models.py:1064 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:996 +#: common/models.py:1065 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1002 +#: common/models.py:1071 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1003 +#: common/models.py:1072 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1005 +#: common/models.py:1074 msgid "days" msgstr "" -#: common/models.py:1010 +#: common/models.py:1079 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1011 +#: common/models.py:1080 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1017 +#: common/models.py:1086 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1018 +#: common/models.py:1087 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1024 +#: common/models.py:1093 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1025 +#: common/models.py:1094 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1030 +#: common/models.py:1099 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1031 +#: common/models.py:1100 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1035 +#: common/models.py:1104 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1036 +#: common/models.py:1105 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1041 +#: common/models.py:1110 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1042 +#: common/models.py:1111 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1048 +#: common/models.py:1117 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1049 +#: common/models.py:1118 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1055 +#: common/models.py:1124 msgid "Enable password forgot" msgstr "" -#: common/models.py:1056 +#: common/models.py:1125 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1131 msgid "Enable registration" msgstr "" -#: common/models.py:1063 +#: common/models.py:1132 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1069 +#: common/models.py:1138 msgid "Enable SSO" msgstr "" -#: common/models.py:1070 +#: common/models.py:1139 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1076 +#: common/models.py:1145 msgid "Email required" msgstr "" -#: common/models.py:1077 +#: common/models.py:1146 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1083 +#: common/models.py:1152 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1084 +#: common/models.py:1153 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1090 +#: common/models.py:1159 msgid "Mail twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1160 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1097 +#: common/models.py:1166 msgid "Password twice" msgstr "" -#: common/models.py:1098 +#: common/models.py:1167 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1104 +#: common/models.py:1173 msgid "Group on signup" msgstr "" -#: common/models.py:1105 +#: common/models.py:1174 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1111 +#: common/models.py:1180 msgid "Enforce MFA" msgstr "" -#: common/models.py:1112 +#: common/models.py:1181 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1118 +#: common/models.py:1187 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1119 +#: common/models.py:1188 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1127 +#: common/models.py:1196 msgid "Enable URL integration" msgstr "" -#: common/models.py:1128 +#: common/models.py:1197 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1135 +#: common/models.py:1204 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1136 +#: common/models.py:1205 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1143 +#: common/models.py:1212 msgid "Enable app integration" msgstr "" -#: common/models.py:1144 +#: common/models.py:1213 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1151 +#: common/models.py:1220 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1152 +#: common/models.py:1221 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1159 +#: common/models.py:1228 msgid "Enable event integration" msgstr "" -#: common/models.py:1160 +#: common/models.py:1229 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1177 common/models.py:1499 +#: common/models.py:1246 common/models.py:1568 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1199 +#: common/models.py:1268 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1200 +#: common/models.py:1269 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1275 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1207 +#: common/models.py:1276 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1213 +#: common/models.py:1282 msgid "Show latest parts" msgstr "" -#: common/models.py:1214 +#: common/models.py:1283 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1220 +#: common/models.py:1289 msgid "Recent Part Count" msgstr "" -#: common/models.py:1221 +#: common/models.py:1290 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1227 +#: common/models.py:1296 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1228 +#: common/models.py:1297 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1303 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1235 +#: common/models.py:1304 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1241 +#: common/models.py:1310 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1242 +#: common/models.py:1311 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1248 +#: common/models.py:1317 msgid "Show low stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1318 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1324 msgid "Show depleted stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1325 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1331 msgid "Show needed stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1332 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1338 msgid "Show expired stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1339 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1345 msgid "Show stale stock" msgstr "" -#: common/models.py:1277 +#: common/models.py:1346 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1352 msgid "Show pending builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1353 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1359 msgid "Show overdue builds" msgstr "" -#: common/models.py:1291 +#: common/models.py:1360 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1366 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1367 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1373 msgid "Show overdue POs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1374 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1380 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1381 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1387 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1319 +#: common/models.py:1388 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1324 +#: common/models.py:1393 msgid "Enable label printing" msgstr "" -#: common/models.py:1325 +#: common/models.py:1394 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1331 +#: common/models.py:1400 msgid "Inline label display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1401 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1407 msgid "Inline report display" msgstr "" -#: common/models.py:1339 +#: common/models.py:1408 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1345 +#: common/models.py:1414 msgid "Search Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1415 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1421 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1422 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1428 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1429 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1435 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1367 +#: common/models.py:1436 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1442 msgid "Search Categories" msgstr "" -#: common/models.py:1374 +#: common/models.py:1443 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1449 msgid "Search Stock" msgstr "" -#: common/models.py:1381 +#: common/models.py:1450 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1456 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1388 +#: common/models.py:1457 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1463 msgid "Search Locations" msgstr "" -#: common/models.py:1395 +#: common/models.py:1464 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1470 msgid "Search Companies" msgstr "" -#: common/models.py:1402 +#: common/models.py:1471 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1477 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1478 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1484 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1485 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1491 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1492 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1498 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1430 +#: common/models.py:1499 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1505 msgid "Search Preview Results" msgstr "" -#: common/models.py:1437 +#: common/models.py:1506 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1512 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1513 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1519 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1451 +#: common/models.py:1520 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1457 +#: common/models.py:1526 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1458 +#: common/models.py:1527 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1464 +#: common/models.py:1533 msgid "Date Format" msgstr "" -#: common/models.py:1465 +#: common/models.py:1534 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1479 part/templates/part/detail.html:39 +#: common/models.py:1548 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1480 +#: common/models.py:1549 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1544 company/forms.py:37 +#: common/models.py:1608 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1551 company/serializers.py:319 +#: common/models.py:1615 company/serializers.py:319 #: company/templates/company/supplier_part.html:284 order/models.py:951 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:2095 msgid "Price" msgstr "" -#: common/models.py:1552 +#: common/models.py:1616 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1712 common/models.py:1890 +#: common/models.py:1776 common/models.py:1954 msgid "Endpoint" msgstr "" -#: common/models.py:1713 +#: common/models.py:1777 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1722 +#: common/models.py:1786 msgid "Name for this webhook" msgstr "" -#: common/models.py:1727 part/models.py:911 plugin/models.py:99 +#: common/models.py:1791 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,67 +2458,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1728 +#: common/models.py:1792 msgid "Is this webhook active" msgstr "" -#: common/models.py:1742 +#: common/models.py:1806 msgid "Token" msgstr "" -#: common/models.py:1743 +#: common/models.py:1807 msgid "Token for access" msgstr "" -#: common/models.py:1750 +#: common/models.py:1814 msgid "Secret" msgstr "" -#: common/models.py:1751 +#: common/models.py:1815 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1857 +#: common/models.py:1921 msgid "Message ID" msgstr "" -#: common/models.py:1858 +#: common/models.py:1922 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1866 +#: common/models.py:1930 msgid "Host" msgstr "" -#: common/models.py:1867 +#: common/models.py:1931 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1874 +#: common/models.py:1938 msgid "Header" msgstr "" -#: common/models.py:1875 +#: common/models.py:1939 msgid "Header of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1945 msgid "Body" msgstr "" -#: common/models.py:1882 +#: common/models.py:1946 msgid "Body of this message" msgstr "" -#: common/models.py:1891 +#: common/models.py:1955 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1896 +#: common/models.py:1960 msgid "Worked on" msgstr "" -#: common/models.py:1897 +#: common/models.py:1961 msgid "Was the work on this message finished?" msgstr "" @@ -2657,7 +2657,7 @@ msgstr "" #: company/models.py:145 company/serializers.py:325 #: company/templates/company/company_base.html:106 part/serializers.py:139 -#: part/serializers.py:170 stock/serializers.py:162 +#: part/serializers.py:170 stock/serializers.py:163 msgid "Currency" msgstr "" @@ -2793,7 +2793,7 @@ msgstr "" #: company/models.py:519 company/templates/company/supplier_part.html:146 #: 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 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:388 msgid "Note" msgstr "" @@ -2807,7 +2807,7 @@ msgstr "" #: company/models.py:525 company/templates/company/supplier_part.html:139 #: stock/models.py:608 stock/templates/stock/item_base.html:245 -#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1974 +#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1975 msgid "Packaging" msgstr "" @@ -2902,11 +2902,11 @@ msgstr "" #: company/templates/company/company_base.html:86 order/models.py:651 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:745 +#: stock/models.py:628 stock/serializers.py:785 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:381 templates/js/translated/order.js:2458 -#: templates/js/translated/stock.js:2493 +#: templates/js/translated/stock.js:2494 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "" @@ -3079,7 +3079,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 -#: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:33 +#: templates/js/translated/forms.js:442 templates/js/translated/helpers.js:33 #: users/models.py:219 msgid "Delete" msgstr "" @@ -3127,7 +3127,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:894 templates/js/translated/order.js:884 -#: templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:1932 msgid "Supplier Part" msgstr "" @@ -3235,7 +3235,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:43 #: templates/js/translated/bom.js:554 templates/js/translated/part.js:747 #: templates/js/translated/part.js:1295 templates/js/translated/part.js:1456 -#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1749 +#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1750 #: templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3262,7 +3262,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:2369 users/models.py:39 +#: templates/js/translated/stock.js:2370 users/models.py:39 msgid "Stock Items" msgstr "" @@ -3536,8 +3536,8 @@ msgstr "" #: 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:968 templates/js/translated/stock.js:1908 -#: templates/js/translated/stock.js:2474 +#: templates/js/translated/part.js:968 templates/js/translated/stock.js:1909 +#: templates/js/translated/stock.js:2475 msgid "Purchase Order" msgstr "" @@ -3557,8 +3557,8 @@ msgid "Number of items received" msgstr "" #: order/models.py:1030 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:1962 +#: stock/serializers.py:154 stock/templates/stock/item_base.html:191 +#: templates/js/translated/stock.js:1963 msgid "Purchase Price" msgstr "" @@ -4121,19 +4121,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1011 +#: part/api.py:1058 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1015 +#: part/api.py:1062 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1030 +#: part/api.py:1077 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 +#: part/api.py:1108 part/api.py:1112 part/api.py:1127 part/api.py:1131 msgid "This field is required" msgstr "" @@ -4268,7 +4268,7 @@ msgstr "" #: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:735 templates/js/translated/part.js:1391 -#: templates/js/translated/stock.js:1721 +#: templates/js/translated/stock.js:1722 msgid "IPN" msgstr "" @@ -4611,7 +4611,7 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:164 msgid "Purchase currency of this stock item" msgstr "" @@ -5752,7 +5752,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2402 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2403 msgid "Date" msgstr "" @@ -5771,19 +5771,19 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: templates/js/translated/stock.js:606 templates/js/translated/stock.js:776 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2652 msgid "Serial" msgstr "" -#: stock/api.py:505 +#: stock/api.py:511 msgid "Quantity is required" msgstr "" -#: stock/api.py:512 +#: stock/api.py:518 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:537 +#: stock/api.py:543 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5891,7 +5891,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1879 msgid "Expiry Date" msgstr "" @@ -5969,7 +5969,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1347 stock/serializers.py:895 +#: stock/models.py:1347 stock/serializers.py:935 msgid "Duplicate stock items" msgstr "" @@ -6021,120 +6021,128 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:156 +#: stock/serializers.py:157 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:280 +#: stock/serializers.py:281 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:293 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:299 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 +#: stock/serializers.py:310 stock/serializers.py:892 stock/serializers.py:1125 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:316 +#: stock/serializers.py:317 msgid "Optional note field" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:327 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:344 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:383 +#: stock/serializers.py:384 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:397 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:404 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:440 +#: stock/serializers.py:441 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:445 stock/serializers.py:487 +#: stock/serializers.py:446 stock/serializers.py:527 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:482 +#: stock/serializers.py:480 +msgid "Select part to convert stock item into" +msgstr "" + +#: stock/serializers.py:491 +msgid "Selected part is not a valid option for conversion" +msgstr "" + +#: stock/serializers.py:522 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:707 +#: stock/serializers.py:747 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:711 +#: stock/serializers.py:751 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:755 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:786 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:752 +#: stock/serializers.py:792 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:760 +#: stock/serializers.py:800 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:770 stock/serializers.py:1001 +#: stock/serializers.py:810 stock/serializers.py:1041 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:859 +#: stock/serializers.py:899 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:864 +#: stock/serializers.py:904 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:865 +#: stock/serializers.py:905 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:870 +#: stock/serializers.py:910 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:871 +#: stock/serializers.py:911 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:881 +#: stock/serializers.py:921 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:963 +#: stock/serializers.py:1003 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:1031 msgid "Stock transaction notes" msgstr "" @@ -6171,7 +6179,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2795 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2796 msgid "Install Stock Item" msgstr "" @@ -6179,7 +6187,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1517 +#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1518 msgid "Add Test Result" msgstr "" @@ -6366,7 +6374,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1894 +#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1895 msgid "Last Updated" msgstr "" @@ -6382,7 +6390,23 @@ msgstr "" msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:642 +#: stock/templates/stock/item_base.html:594 +msgid "Select one of the part variants listed below." +msgstr "" + +#: stock/templates/stock/item_base.html:597 +msgid "Warning" +msgstr "" + +#: stock/templates/stock/item_base.html:598 +msgid "This action cannot be easily undone" +msgstr "" + +#: stock/templates/stock/item_base.html:606 +msgid "Convert Stock Item" +msgstr "" + +#: stock/templates/stock/item_base.html:664 msgid "Return to Stock" msgstr "" @@ -6466,32 +6490,11 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:143 -msgid "Convert Stock Item" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:8 -#, python-format -msgid "This stock item is current an instance of %(part)s" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:9 -msgid "It can be converted to one of the part variants listed below." -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:13 -msgid "Warning" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:14 -msgid "This action cannot be easily undone" -msgstr "" - -#: stock/views.py:110 +#: stock/views.py:109 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:126 +#: stock/views.py:125 msgid "Stock Item QR Code" msgstr "" @@ -7303,7 +7306,7 @@ 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 +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:633 msgid "Confirm" msgstr "Konfirmasi" @@ -8175,8 +8178,8 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2447 templates/js/translated/part.js:1383 -#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1681 -#: templates/js/translated/stock.js:2339 +#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:2340 msgid "Select" msgstr "" @@ -8188,7 +8191,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2581 +#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2582 msgid "No user information" msgstr "" @@ -8342,61 +8345,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:353 templates/js/translated/forms.js:368 -#: templates/js/translated/forms.js:382 templates/js/translated/forms.js:396 +#: templates/js/translated/forms.js:356 templates/js/translated/forms.js:371 +#: templates/js/translated/forms.js:385 templates/js/translated/forms.js:399 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:355 +#: templates/js/translated/forms.js:358 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:370 +#: templates/js/translated/forms.js:373 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:384 +#: templates/js/translated/forms.js:387 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:398 +#: templates/js/translated/forms.js:401 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:656 +#: templates/js/translated/forms.js:659 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:757 +#: templates/js/translated/forms.js:760 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1249 templates/modals.html:19 +#: templates/js/translated/forms.js:1252 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1682 +#: templates/js/translated/forms.js:1685 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1897 templates/search.html:29 +#: templates/js/translated/forms.js:1900 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2150 +#: templates/js/translated/forms.js:2153 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2628 +#: templates/js/translated/forms.js:2631 msgid "Select Columns" msgstr "" @@ -8727,7 +8730,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2142 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2143 msgid "Stock Status" msgstr "" @@ -8921,7 +8924,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1597 +#: templates/js/translated/stock.js:1598 msgid "Shipped to customer" msgstr "" @@ -9187,7 +9190,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:1573 templates/js/translated/part.js:1785 -#: templates/js/translated/stock.js:2300 +#: templates/js/translated/stock.js:2301 msgid "Display as list" msgstr "" @@ -9211,7 +9214,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2319 +#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2320 msgid "Display as tree" msgstr "" @@ -9219,7 +9222,7 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2363 +#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2364 msgid "Path" msgstr "" @@ -9232,7 +9235,7 @@ msgid "Edit test result" msgstr "" #: templates/js/translated/part.js:1978 templates/js/translated/stock.js:1296 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1556 msgid "Delete test result" msgstr "" @@ -9565,180 +9568,180 @@ msgstr "" msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1374 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1538 +#: templates/js/translated/stock.js:1539 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/stock.js:1561 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1590 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1593 +#: templates/js/translated/stock.js:1594 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1601 +#: templates/js/translated/stock.js:1602 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1607 +#: templates/js/translated/stock.js:1608 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1775 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:1780 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1782 +#: templates/js/translated/stock.js:1783 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1785 +#: templates/js/translated/stock.js:1786 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1787 +#: templates/js/translated/stock.js:1788 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1790 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1793 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1797 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1799 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1806 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1807 +#: templates/js/translated/stock.js:1808 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1809 +#: templates/js/translated/stock.js:1810 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1813 +#: templates/js/translated/stock.js:1814 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1865 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1946 +#: templates/js/translated/stock.js:1947 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1984 +#: templates/js/translated/stock.js:1985 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2157 +#: templates/js/translated/stock.js:2158 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2171 +#: templates/js/translated/stock.js:2172 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2173 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2443 +#: templates/js/translated/stock.js:2444 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2465 +#: templates/js/translated/stock.js:2466 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2484 +#: templates/js/translated/stock.js:2485 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2504 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2521 +#: templates/js/translated/stock.js:2522 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2545 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2552 +#: templates/js/translated/stock.js:2553 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2629 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2679 templates/js/translated/stock.js:2715 +#: templates/js/translated/stock.js:2680 templates/js/translated/stock.js:2716 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2729 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2749 +#: templates/js/translated/stock.js:2750 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2751 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2753 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/stock.js:2754 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2755 +#: templates/js/translated/stock.js:2756 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2768 +#: templates/js/translated/stock.js:2769 msgid "Select part to install" msgstr "" @@ -9990,61 +9993,61 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:525 +#: templates/js/translated/tables.js:534 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:528 +#: templates/js/translated/tables.js:537 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:533 +#: templates/js/translated/tables.js:542 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "to" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "of" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:539 templates/navbar.html:102 +#: templates/js/translated/tables.js:548 templates/navbar.html:102 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" msgstr "" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:551 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:554 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:548 +#: templates/js/translated/tables.js:557 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:551 +#: templates/js/translated/tables.js:560 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:563 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:566 msgid "All" msgstr "" diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po index 9e58e37934..52567a0167 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-11 13:14+0000\n" -"PO-Revision-Date: 2022-06-11 15:03\n" +"POT-Creation-Date: 2022-06-15 08:34+0000\n" +"PO-Revision-Date: 2022-06-15 16:23\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -141,12 +141,12 @@ msgstr "Commento" msgid "File comment" msgstr "Commento del file" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1575 +#: common/models.py:1576 common/models.py:1799 common/models.py:1800 +#: common/models.py:2062 common/models.py:2063 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:2575 +#: templates/js/translated/stock.js:2576 msgid "User" msgstr "Utente" @@ -183,7 +183,7 @@ msgstr "Errore nella rinominazione del file" msgid "Invalid choice" msgstr "Scelta non valida" -#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1785 #: company/models.py:355 label/models.py:101 part/models.py:739 #: part/models.py:2319 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -195,7 +195,7 @@ msgstr "Scelta non valida" #: templates/js/translated/company.js:744 #: templates/js/translated/notification.js:73 #: templates/js/translated/part.js:684 templates/js/translated/part.js:836 -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2345 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2346 msgid "Name" msgstr "Nome" @@ -217,8 +217,8 @@ msgstr "Nome" #: templates/js/translated/order.js:1888 templates/js/translated/order.js:2476 #: templates/js/translated/part.js:743 templates/js/translated/part.js:1151 #: templates/js/translated/part.js:1424 templates/js/translated/part.js:1876 -#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1738 -#: templates/js/translated/stock.js:2357 templates/js/translated/stock.js:2412 +#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1739 +#: templates/js/translated/stock.js:2358 templates/js/translated/stock.js:2413 msgid "Description" msgstr "Descrizione" @@ -292,99 +292,99 @@ msgstr "Colonna richiesta mancante: '{name}'" msgid "Duplicate column: '{col}'" msgstr "Colonna duplicata: '{col}'" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:689 msgid "Czech" msgstr "Ceco" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:690 msgid "German" msgstr "Tedesco" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:691 msgid "Greek" msgstr "Greco" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:692 msgid "English" msgstr "Inglese" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:693 msgid "Spanish" msgstr "Spagnolo" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:694 msgid "Spanish (Mexican)" msgstr "Spagnolo (Messicano)" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:695 msgid "Farsi / Persian" msgstr "Farsi / Persiano" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:696 msgid "French" msgstr "Francese" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:697 msgid "Hebrew" msgstr "Ebraico" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:698 msgid "Hungarian" msgstr "Ungherese" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:699 msgid "Italian" msgstr "Italiano" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:700 msgid "Japanese" msgstr "Giapponese" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:701 msgid "Korean" msgstr "Coreano" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:702 msgid "Dutch" msgstr "Olandese" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:703 msgid "Norwegian" msgstr "Norvegese" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:704 msgid "Polish" msgstr "Polacco" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:705 msgid "Portuguese" msgstr "Portoghese" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:706 msgid "Portuguese (Brazilian)" msgstr "Portoghese (Brasile)" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:707 msgid "Russian" msgstr "Russo" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:708 msgid "Swedish" msgstr "Svedese" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:709 msgid "Thai" msgstr "Thailandese" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:710 msgid "Turkish" msgstr "Turco" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:711 msgid "Vietnamese" msgstr "Vietnamita" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:712 msgid "Chinese" msgstr "Cinese" @@ -515,7 +515,7 @@ msgstr "Diviso dall'elemento genitore" msgid "Split child item" msgstr "Dividi elemento figlio" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2082 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2083 msgid "Merged stock items" msgstr "Elemento stock raggruppato" @@ -669,7 +669,7 @@ msgstr "" #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:479 #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 @@ -688,8 +688,8 @@ msgstr "" #: templates/js/translated/part.js:1136 templates/js/translated/part.js:1206 #: templates/js/translated/part.js:1402 templates/js/translated/stock.js:582 #: templates/js/translated/stock.js:747 templates/js/translated/stock.js:954 -#: templates/js/translated/stock.js:1695 templates/js/translated/stock.js:2438 -#: templates/js/translated/stock.js:2633 templates/js/translated/stock.js:2767 +#: templates/js/translated/stock.js:1696 templates/js/translated/stock.js:2439 +#: templates/js/translated/stock.js:2634 templates/js/translated/stock.js:2768 msgid "Part" msgstr "Articolo" @@ -815,14 +815,14 @@ msgstr "Collegamento esterno" #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 #: 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:759 stock/serializers.py:858 stock/serializers.py:990 +#: stock/serializers.py:316 stock/serializers.py:445 stock/serializers.py:526 +#: stock/serializers.py:799 stock/serializers.py:898 stock/serializers.py:1030 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1038 #: templates/js/translated/company.js:949 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:1369 templates/js/translated/stock.js:1978 +#: templates/js/translated/stock.js:1370 templates/js/translated/stock.js:1979 msgid "Notes" msgstr "Note" @@ -878,8 +878,8 @@ msgid "Build to allocate parts" msgstr "" #: 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 +#: order/serializers.py:1017 stock/serializers.py:383 stock/serializers.py:730 +#: stock/serializers.py:856 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 @@ -888,7 +888,7 @@ msgstr "" #: 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:583 templates/js/translated/stock.js:748 -#: templates/js/translated/stock.js:2511 +#: templates/js/translated/stock.js:2512 msgid "Stock Item" msgstr "Articoli in magazzino" @@ -898,7 +898,7 @@ msgstr "Origine giacenza articolo" #: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1543 +#: build/templates/build/detail.html:34 common/models.py:1607 #: company/forms.py:36 company/templates/company/supplier_part.html:279 #: order/models.py:911 order/models.py:1414 order/serializers.py:1136 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 @@ -911,7 +911,7 @@ msgstr "Origine giacenza articolo" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:280 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:691 #: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 @@ -928,7 +928,7 @@ msgstr "Origine giacenza articolo" #: templates/js/translated/part.js:2321 templates/js/translated/part.js:2355 #: templates/js/translated/part.js:2433 templates/js/translated/stock.js:454 #: templates/js/translated/stock.js:608 templates/js/translated/stock.js:778 -#: templates/js/translated/stock.js:2560 templates/js/translated/stock.js:2645 +#: templates/js/translated/stock.js:2561 templates/js/translated/stock.js:2646 msgid "Quantity" msgstr "Quantità" @@ -972,7 +972,7 @@ msgstr "Inserisci la quantità per l'output di compilazione" #: build/serializers.py:198 build/serializers.py:623 order/models.py:354 #: 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 +#: stock/serializers.py:289 msgid "Quantity must be greater than zero" msgstr "La quantità deve essere maggiore di zero" @@ -985,7 +985,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 -#: stock/serializers.py:297 templates/js/translated/order.js:1186 +#: stock/serializers.py:298 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:267 templates/js/translated/stock.js:455 msgid "Serial Numbers" msgstr "Codice Seriale" @@ -1002,7 +1002,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:553 +#: build/serializers.py:268 stock/api.py:559 msgid "The following serial numbers already exist" msgstr "I seguenti numeri di serie sono già esistenti" @@ -1011,8 +1011,8 @@ msgid "A list of build outputs must be provided" 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:851 stock/serializers.py:1084 +#: stock/serializers.py:309 stock/serializers.py:440 stock/serializers.py:521 +#: stock/serializers.py:891 stock/serializers.py:1124 #: 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 @@ -1021,7 +1021,7 @@ msgstr "" #: templates/js/translated/order.js:3247 templates/js/translated/order.js:3328 #: templates/js/translated/part.js:181 templates/js/translated/stock.js:584 #: templates/js/translated/stock.js:749 templates/js/translated/stock.js:956 -#: templates/js/translated/stock.js:1849 templates/js/translated/stock.js:2452 +#: templates/js/translated/stock.js:1850 templates/js/translated/stock.js:2453 msgid "Location" msgstr "Posizione" @@ -1034,8 +1034,8 @@ msgstr "Posizione per gli output di build completati" #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2509 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 -#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1824 -#: templates/js/translated/stock.js:2529 templates/js/translated/stock.js:2661 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1825 +#: templates/js/translated/stock.js:2530 templates/js/translated/stock.js:2662 msgid "Status" msgstr "Stato" @@ -1112,7 +1112,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:703 +#: build/serializers.py:609 stock/serializers.py:743 msgid "Item must be in stock" msgstr "L'articolo deve essere disponibile" @@ -1333,8 +1333,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:1022 templates/js/translated/stock.js:1838 -#: templates/js/translated/stock.js:2668 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:1839 +#: templates/js/translated/stock.js:2669 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1545,912 +1545,912 @@ msgstr "" msgid "Select {name} file to upload" msgstr "Seleziona il file {name} da caricare" -#: common/models.py:365 +#: common/models.py:434 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:367 +#: common/models.py:436 msgid "Settings value" msgstr "Valore impostazioni" -#: common/models.py:408 +#: common/models.py:477 msgid "Chosen value is not a valid option" msgstr "Il valore specificato non è un opzione valida" -#: common/models.py:425 +#: common/models.py:494 msgid "Value must be a boolean value" msgstr "Il valore deve essere un valore booleano" -#: common/models.py:436 +#: common/models.py:505 msgid "Value must be an integer value" msgstr "Il valore deve essere un intero" -#: common/models.py:481 +#: common/models.py:550 msgid "Key string must be unique" msgstr "La stringa chiave deve essere univoca" -#: common/models.py:665 +#: common/models.py:734 msgid "No group" msgstr "Nessun gruppo" -#: common/models.py:704 +#: common/models.py:773 msgid "Restart required" msgstr "Riavvio richiesto" -#: common/models.py:705 +#: common/models.py:774 msgid "A setting has been changed which requires a server restart" msgstr "È stata modificata un'impostazione che richiede un riavvio del server" -#: common/models.py:712 +#: common/models.py:781 msgid "Server Instance Name" msgstr "" -#: common/models.py:714 +#: common/models.py:783 msgid "String descriptor for the server instance" msgstr "Descrittore stringa per l'istanza del server" -#: common/models.py:718 +#: common/models.py:787 msgid "Use instance name" msgstr "Utilizza nome istanza" -#: common/models.py:719 +#: common/models.py:788 msgid "Use the instance name in the title-bar" msgstr "Usa il nome dell'istanza nella barra del titolo" -#: common/models.py:725 +#: common/models.py:794 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:726 +#: common/models.py:795 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:732 company/models.py:93 company/models.py:94 +#: common/models.py:801 company/models.py:93 company/models.py:94 msgid "Company name" msgstr "Nome azienda" -#: common/models.py:733 +#: common/models.py:802 msgid "Internal company name" msgstr "Nome interno dell'azienda" -#: common/models.py:738 +#: common/models.py:807 msgid "Base URL" msgstr "URL Base" -#: common/models.py:739 +#: common/models.py:808 msgid "Base URL for server instance" msgstr "URL di base per l'istanza del server" -#: common/models.py:745 +#: common/models.py:814 msgid "Default Currency" msgstr "Valuta predefinita" -#: common/models.py:746 +#: common/models.py:815 msgid "Default currency" msgstr "Valuta predefinita" -#: common/models.py:752 +#: common/models.py:821 msgid "Download from URL" msgstr "Scarica dall'URL" -#: common/models.py:753 +#: common/models.py:822 msgid "Allow download of remote images and files from external URL" msgstr "Consenti il download di immagini e file remoti da URL esterno" -#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:828 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Supporto Codice A Barre" -#: common/models.py:760 +#: common/models.py:829 msgid "Enable barcode scanner support" msgstr "Abilita supporto scanner codici a barre" -#: common/models.py:766 +#: common/models.py:835 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:767 +#: common/models.py:836 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:773 +#: common/models.py:842 msgid "IPN Regex" msgstr "" -#: common/models.py:774 +#: common/models.py:843 msgid "Regular expression pattern for matching Part IPN" msgstr "Schema di espressione regolare per l'articolo corrispondente IPN" -#: common/models.py:778 +#: common/models.py:847 msgid "Allow Duplicate IPN" msgstr "Consenti duplicati IPN" -#: common/models.py:779 +#: common/models.py:848 msgid "Allow multiple parts to share the same IPN" msgstr "Permetti a più articoli di condividere lo stesso IPN" -#: common/models.py:785 +#: common/models.py:854 msgid "Allow Editing IPN" msgstr "Permetti modifiche al part number interno (IPN)" -#: common/models.py:786 +#: common/models.py:855 msgid "Allow changing the IPN value while editing a part" msgstr "Consenti di modificare il valore del part number durante la modifica di un articolo" -#: common/models.py:792 +#: common/models.py:861 msgid "Copy Part BOM Data" msgstr "Copia I Dati Della distinta base dell'articolo" -#: common/models.py:793 +#: common/models.py:862 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:799 +#: common/models.py:868 msgid "Copy Part Parameter Data" msgstr "Copia I Dati Parametro dell'articolo" -#: common/models.py:800 +#: common/models.py:869 msgid "Copy parameter data by default when duplicating a part" msgstr "Copia i dati dei parametri di default quando si duplica un articolo" -#: common/models.py:806 +#: common/models.py:875 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:807 +#: common/models.py:876 msgid "Copy test data by default when duplicating a part" msgstr "Copia i dati di prova di default quando si duplica un articolo" -#: common/models.py:813 +#: common/models.py:882 msgid "Copy Category Parameter Templates" msgstr "Copia Template Parametri Categoria" -#: common/models.py:814 +#: common/models.py:883 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:2360 report/models.py:157 +#: common/models.py:889 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:821 +#: common/models.py:890 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:1384 +#: common/models.py:896 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" msgstr "Assemblaggio" -#: common/models.py:828 +#: common/models.py:897 msgid "Parts can be assembled from other components by default" msgstr "Gli articoli possono essere assemblate da altri componenti per impostazione predefinita" -#: common/models.py:834 part/models.py:890 +#: common/models.py:903 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "Componente" -#: common/models.py:835 +#: common/models.py:904 msgid "Parts can be used as sub-components by default" msgstr "Gli articoli possono essere assemblati da altri componenti per impostazione predefinita" -#: common/models.py:841 part/models.py:901 +#: common/models.py:910 part/models.py:901 msgid "Purchaseable" msgstr "Acquistabile" -#: common/models.py:842 +#: common/models.py:911 msgid "Parts are purchaseable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:848 part/models.py:906 +#: common/models.py:917 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "Vendibile" -#: common/models.py:849 +#: common/models.py:918 msgid "Parts are salable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:855 part/models.py:896 +#: common/models.py:924 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "Tracciabile" -#: common/models.py:856 +#: common/models.py:925 msgid "Parts are trackable by default" msgstr "Gli articoli sono tracciabili per impostazione predefinita" -#: common/models.py:862 part/models.py:916 +#: common/models.py:931 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Virtuale" -#: common/models.py:863 +#: common/models.py:932 msgid "Parts are virtual by default" msgstr "Gli articoli sono virtuali per impostazione predefinita" -#: common/models.py:869 +#: common/models.py:938 msgid "Show Import in Views" msgstr "Mostra l'importazione nelle viste" -#: common/models.py:870 +#: common/models.py:939 msgid "Display the import wizard in some part views" msgstr "Mostra la procedura guidata di importazione in alcune viste articoli" -#: common/models.py:876 +#: common/models.py:945 msgid "Show Price in Forms" msgstr "Mostra il prezzo nei moduli" -#: common/models.py:877 +#: common/models.py:946 msgid "Display part price in some forms" msgstr "Mostra il prezzo dell'articolo in alcuni moduli" -#: common/models.py:888 +#: common/models.py:957 msgid "Show Price in BOM" msgstr "Mostra il prezzo nella BOM" -#: common/models.py:889 +#: common/models.py:958 msgid "Include pricing information in BOM tables" msgstr "Includi le informazioni sui prezzi nelle tabelle BOM" -#: common/models.py:900 +#: common/models.py:969 msgid "Show Price History" msgstr "" -#: common/models.py:901 +#: common/models.py:970 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:907 +#: common/models.py:976 msgid "Show related parts" msgstr "Mostra articoli correlati" -#: common/models.py:908 +#: common/models.py:977 msgid "Display related parts for a part" msgstr "Visualizza parti correlate per ogni articolo" -#: common/models.py:914 +#: common/models.py:983 msgid "Create initial stock" msgstr "Crea giacenza iniziale" -#: common/models.py:915 +#: common/models.py:984 msgid "Create initial stock on part creation" msgstr "Crea giacenza iniziale sulla creazione articolo" -#: common/models.py:921 +#: common/models.py:990 msgid "Internal Prices" msgstr "Prezzi interni" -#: common/models.py:922 +#: common/models.py:991 msgid "Enable internal prices for parts" msgstr "Abilita prezzi interni per gli articoli" -#: common/models.py:928 +#: common/models.py:997 msgid "Internal Price as BOM-Price" msgstr "Prezzo interno come BOM-Price" -#: common/models.py:929 +#: common/models.py:998 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "Utilizzare il prezzo interno (se impostato) nel calcolo del prezzo BOM" -#: common/models.py:935 +#: common/models.py:1004 msgid "Part Name Display Format" msgstr "Formato di visualizzazione del nome articolo" -#: common/models.py:936 +#: common/models.py:1005 msgid "Format to display the part name" msgstr "Formato per visualizzare il nome dell'articolo" -#: common/models.py:943 +#: common/models.py:1012 msgid "Enable Reports" msgstr "Abilita Report di Stampa" -#: common/models.py:944 +#: common/models.py:1013 msgid "Enable generation of reports" msgstr "Abilita generazione di report di stampa" -#: common/models.py:950 templates/stats.html:25 +#: common/models.py:1019 templates/stats.html:25 msgid "Debug Mode" msgstr "Modalità Debug" -#: common/models.py:951 +#: common/models.py:1020 msgid "Generate reports in debug mode (HTML output)" msgstr "Genera report in modalità debug (output HTML)" -#: common/models.py:957 +#: common/models.py:1026 msgid "Page Size" msgstr "Dimensioni pagina" -#: common/models.py:958 +#: common/models.py:1027 msgid "Default page size for PDF reports" msgstr "Dimensione predefinita della pagina per i report PDF" -#: common/models.py:968 +#: common/models.py:1037 msgid "Enable Test Reports" msgstr "" -#: common/models.py:969 +#: common/models.py:1038 msgid "Enable generation of test reports" msgstr "Abilita generazione di stampe di prova" -#: common/models.py:975 +#: common/models.py:1044 msgid "Attach Test Reports" msgstr "" -#: common/models.py:976 +#: common/models.py:1045 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:982 +#: common/models.py:1051 msgid "Batch Code Template" msgstr "" -#: common/models.py:983 +#: common/models.py:1052 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:988 +#: common/models.py:1057 msgid "Stock Expiry" msgstr "Scadenza giacenza" -#: common/models.py:989 +#: common/models.py:1058 msgid "Enable stock expiry functionality" msgstr "Abilita funzionalità di scadenza della giacenza" -#: common/models.py:995 +#: common/models.py:1064 msgid "Sell Expired Stock" msgstr "Vendi giacenza scaduta" -#: common/models.py:996 +#: common/models.py:1065 msgid "Allow sale of expired stock" msgstr "Consenti la vendita di stock scaduti" -#: common/models.py:1002 +#: common/models.py:1071 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1003 +#: common/models.py:1072 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:1005 +#: common/models.py:1074 msgid "days" msgstr "giorni" -#: common/models.py:1010 +#: common/models.py:1079 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1011 +#: common/models.py:1080 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1017 +#: common/models.py:1086 msgid "Stock Ownership Control" msgstr "Controllo della proprietà della giacenza" -#: common/models.py:1018 +#: common/models.py:1087 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:1024 +#: common/models.py:1093 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1025 +#: common/models.py:1094 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1030 +#: common/models.py:1099 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1031 +#: common/models.py:1100 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1035 +#: common/models.py:1104 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1036 +#: common/models.py:1105 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1041 +#: common/models.py:1110 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1042 +#: common/models.py:1111 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1048 +#: common/models.py:1117 msgid "Purchase Order Reference Prefix" msgstr "Referenza ordine d'acquisto" -#: common/models.py:1049 +#: common/models.py:1118 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1055 +#: common/models.py:1124 msgid "Enable password forgot" msgstr "Abilita password dimenticata" -#: common/models.py:1056 +#: common/models.py:1125 msgid "Enable password forgot function on the login pages" msgstr "Abilita la funzione password dimenticata nelle pagine di accesso" -#: common/models.py:1062 +#: common/models.py:1131 msgid "Enable registration" msgstr "Abilita registrazione" -#: common/models.py:1063 +#: common/models.py:1132 msgid "Enable self-registration for users on the login pages" msgstr "Abilita auto-registrazione per gli utenti nelle pagine di accesso" -#: common/models.py:1069 +#: common/models.py:1138 msgid "Enable SSO" msgstr "SSO abilitato" -#: common/models.py:1070 +#: common/models.py:1139 msgid "Enable SSO on the login pages" msgstr "Abilita SSO nelle pagine di accesso" -#: common/models.py:1076 +#: common/models.py:1145 msgid "Email required" msgstr "Email richiesta" -#: common/models.py:1077 +#: common/models.py:1146 msgid "Require user to supply mail on signup" msgstr "Richiedi all'utente di fornire una email al momento dell'iscrizione" -#: common/models.py:1083 +#: common/models.py:1152 msgid "Auto-fill SSO users" msgstr "Riempimento automatico degli utenti SSO" -#: common/models.py:1084 +#: common/models.py:1153 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:1090 +#: common/models.py:1159 msgid "Mail twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1160 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1097 +#: common/models.py:1166 msgid "Password twice" msgstr "" -#: common/models.py:1098 +#: common/models.py:1167 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1104 +#: common/models.py:1173 msgid "Group on signup" msgstr "" -#: common/models.py:1105 +#: common/models.py:1174 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1111 +#: common/models.py:1180 msgid "Enforce MFA" msgstr "" -#: common/models.py:1112 +#: common/models.py:1181 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1118 +#: common/models.py:1187 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1119 +#: common/models.py:1188 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1127 +#: common/models.py:1196 msgid "Enable URL integration" msgstr "" -#: common/models.py:1128 +#: common/models.py:1197 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1135 +#: common/models.py:1204 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1136 +#: common/models.py:1205 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1143 +#: common/models.py:1212 msgid "Enable app integration" msgstr "" -#: common/models.py:1144 +#: common/models.py:1213 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1151 +#: common/models.py:1220 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1152 +#: common/models.py:1221 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1159 +#: common/models.py:1228 msgid "Enable event integration" msgstr "" -#: common/models.py:1160 +#: common/models.py:1229 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1177 common/models.py:1499 +#: common/models.py:1246 common/models.py:1568 msgid "Settings key (must be unique - case insensitive" msgstr "Tasto impostazioni (deve essere univoco - maiuscole e minuscole" -#: common/models.py:1199 +#: common/models.py:1268 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1200 +#: common/models.py:1269 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1275 msgid "Show subscribed categories" msgstr "Mostra le categorie sottoscritte" -#: common/models.py:1207 +#: common/models.py:1276 msgid "Show subscribed part categories on the homepage" msgstr "Mostra le categorie dei componenti sottoscritti nella homepage" -#: common/models.py:1213 +#: common/models.py:1282 msgid "Show latest parts" msgstr "Mostra ultimi articoli" -#: common/models.py:1214 +#: common/models.py:1283 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1220 +#: common/models.py:1289 msgid "Recent Part Count" msgstr "" -#: common/models.py:1221 +#: common/models.py:1290 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1227 +#: common/models.py:1296 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1228 +#: common/models.py:1297 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1303 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1235 +#: common/models.py:1304 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1241 +#: common/models.py:1310 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1242 +#: common/models.py:1311 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1248 +#: common/models.py:1317 msgid "Show low stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1318 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1324 msgid "Show depleted stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1325 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1331 msgid "Show needed stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1332 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1338 msgid "Show expired stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1339 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1345 msgid "Show stale stock" msgstr "" -#: common/models.py:1277 +#: common/models.py:1346 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1352 msgid "Show pending builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1353 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1359 msgid "Show overdue builds" msgstr "" -#: common/models.py:1291 +#: common/models.py:1360 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1366 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1367 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1373 msgid "Show overdue POs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1374 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1380 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1381 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1387 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1319 +#: common/models.py:1388 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1324 +#: common/models.py:1393 msgid "Enable label printing" msgstr "" -#: common/models.py:1325 +#: common/models.py:1394 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1331 +#: common/models.py:1400 msgid "Inline label display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:1332 +#: common/models.py:1401 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:1338 +#: common/models.py:1407 msgid "Inline report display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:1339 +#: common/models.py:1408 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:1345 +#: common/models.py:1414 msgid "Search Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1415 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1421 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1422 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1428 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1429 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1435 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1367 +#: common/models.py:1436 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1442 msgid "Search Categories" msgstr "" -#: common/models.py:1374 +#: common/models.py:1443 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1449 msgid "Search Stock" msgstr "" -#: common/models.py:1381 +#: common/models.py:1450 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1456 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1388 +#: common/models.py:1457 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1463 msgid "Search Locations" msgstr "" -#: common/models.py:1395 +#: common/models.py:1464 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1470 msgid "Search Companies" msgstr "" -#: common/models.py:1402 +#: common/models.py:1471 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1477 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1478 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1484 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1485 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1491 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1492 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1498 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1430 +#: common/models.py:1499 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1505 msgid "Search Preview Results" msgstr "Risultati Dell'Anteprima Di Ricerca" -#: common/models.py:1437 +#: common/models.py:1506 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1512 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1513 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1519 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1451 +#: common/models.py:1520 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1457 +#: common/models.py:1526 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1458 +#: common/models.py:1527 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1464 +#: common/models.py:1533 msgid "Date Format" msgstr "" -#: common/models.py:1465 +#: common/models.py:1534 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1479 part/templates/part/detail.html:39 +#: common/models.py:1548 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1480 +#: common/models.py:1549 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1544 company/forms.py:37 +#: common/models.py:1608 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1551 company/serializers.py:319 +#: common/models.py:1615 company/serializers.py:319 #: company/templates/company/supplier_part.html:284 order/models.py:951 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:2095 msgid "Price" msgstr "Prezzo" -#: common/models.py:1552 +#: common/models.py:1616 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1712 common/models.py:1890 +#: common/models.py:1776 common/models.py:1954 msgid "Endpoint" msgstr "" -#: common/models.py:1713 +#: common/models.py:1777 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1722 +#: common/models.py:1786 msgid "Name for this webhook" msgstr "" -#: common/models.py:1727 part/models.py:911 plugin/models.py:99 +#: common/models.py:1791 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,67 +2458,67 @@ msgstr "" msgid "Active" msgstr "Attivo" -#: common/models.py:1728 +#: common/models.py:1792 msgid "Is this webhook active" msgstr "" -#: common/models.py:1742 +#: common/models.py:1806 msgid "Token" msgstr "" -#: common/models.py:1743 +#: common/models.py:1807 msgid "Token for access" msgstr "" -#: common/models.py:1750 +#: common/models.py:1814 msgid "Secret" msgstr "" -#: common/models.py:1751 +#: common/models.py:1815 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1857 +#: common/models.py:1921 msgid "Message ID" msgstr "" -#: common/models.py:1858 +#: common/models.py:1922 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1866 +#: common/models.py:1930 msgid "Host" msgstr "" -#: common/models.py:1867 +#: common/models.py:1931 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1874 +#: common/models.py:1938 msgid "Header" msgstr "" -#: common/models.py:1875 +#: common/models.py:1939 msgid "Header of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1945 msgid "Body" msgstr "" -#: common/models.py:1882 +#: common/models.py:1946 msgid "Body of this message" msgstr "" -#: common/models.py:1891 +#: common/models.py:1955 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1896 +#: common/models.py:1960 msgid "Worked on" msgstr "" -#: common/models.py:1897 +#: common/models.py:1961 msgid "Was the work on this message finished?" msgstr "" @@ -2657,7 +2657,7 @@ msgstr "" #: company/models.py:145 company/serializers.py:325 #: company/templates/company/company_base.html:106 part/serializers.py:139 -#: part/serializers.py:170 stock/serializers.py:162 +#: part/serializers.py:170 stock/serializers.py:163 msgid "Currency" msgstr "Valuta" @@ -2793,7 +2793,7 @@ msgstr "Descrizione articolo fornitore" #: company/models.py:519 company/templates/company/supplier_part.html:146 #: 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 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:388 msgid "Note" msgstr "Nota" @@ -2807,7 +2807,7 @@ msgstr "Onere minimo (ad esempio tassa di stoccaggio)" #: company/models.py:525 company/templates/company/supplier_part.html:139 #: stock/models.py:608 stock/templates/stock/item_base.html:245 -#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1974 +#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1975 msgid "Packaging" msgstr "Confezionamento" @@ -2902,11 +2902,11 @@ msgstr "Scarica immagine dall'URL" #: company/templates/company/company_base.html:86 order/models.py:651 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:745 +#: stock/models.py:628 stock/serializers.py:785 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:381 templates/js/translated/order.js:2458 -#: templates/js/translated/stock.js:2493 +#: templates/js/translated/stock.js:2494 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "Cliente" @@ -3079,7 +3079,7 @@ msgstr "Elimina articolo fornitore" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 -#: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:33 +#: templates/js/translated/forms.js:442 templates/js/translated/helpers.js:33 #: users/models.py:219 msgid "Delete" msgstr "Elimina" @@ -3127,7 +3127,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:894 templates/js/translated/order.js:884 -#: templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:1932 msgid "Supplier Part" msgstr "Articolo Fornitore" @@ -3235,7 +3235,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:43 #: templates/js/translated/bom.js:554 templates/js/translated/part.js:747 #: templates/js/translated/part.js:1295 templates/js/translated/part.js:1456 -#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1749 +#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1750 #: templates/navbar.html:31 msgid "Stock" msgstr "Magazzino" @@ -3262,7 +3262,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:2369 users/models.py:39 +#: templates/js/translated/stock.js:2370 users/models.py:39 msgid "Stock Items" msgstr "Articoli in magazzino" @@ -3536,8 +3536,8 @@ msgstr "" #: 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:968 templates/js/translated/stock.js:1908 -#: templates/js/translated/stock.js:2474 +#: templates/js/translated/part.js:968 templates/js/translated/stock.js:1909 +#: templates/js/translated/stock.js:2475 msgid "Purchase Order" msgstr "" @@ -3557,8 +3557,8 @@ msgid "Number of items received" msgstr "" #: order/models.py:1030 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:1962 +#: stock/serializers.py:154 stock/templates/stock/item_base.html:191 +#: templates/js/translated/stock.js:1963 msgid "Purchase Price" msgstr "" @@ -4121,19 +4121,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1011 +#: part/api.py:1058 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1015 +#: part/api.py:1062 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1030 +#: part/api.py:1077 msgid "Specify location for initial part stock" msgstr "Specifica la posizione per lo stock iniziale" -#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 +#: part/api.py:1108 part/api.py:1112 part/api.py:1127 part/api.py:1131 msgid "This field is required" msgstr "" @@ -4268,7 +4268,7 @@ msgstr "Categoria articolo" #: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:735 templates/js/translated/part.js:1391 -#: templates/js/translated/stock.js:1721 +#: templates/js/translated/stock.js:1722 msgid "IPN" msgstr "IPN - Numero di riferimento interno" @@ -4611,7 +4611,7 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:164 msgid "Purchase currency of this stock item" msgstr "" @@ -5752,7 +5752,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2402 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2403 msgid "Date" msgstr "Data" @@ -5771,19 +5771,19 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: templates/js/translated/stock.js:606 templates/js/translated/stock.js:776 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2652 msgid "Serial" msgstr "Seriale" -#: stock/api.py:505 +#: stock/api.py:511 msgid "Quantity is required" msgstr "La quantità è richiesta" -#: stock/api.py:512 +#: stock/api.py:518 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:537 +#: stock/api.py:543 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5891,7 +5891,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1879 msgid "Expiry Date" msgstr "Data di Scadenza" @@ -5969,7 +5969,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1347 stock/serializers.py:895 +#: stock/models.py:1347 stock/serializers.py:935 msgid "Duplicate stock items" msgstr "" @@ -6021,120 +6021,128 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:156 +#: stock/serializers.py:157 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:280 +#: stock/serializers.py:281 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:293 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:299 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 +#: stock/serializers.py:310 stock/serializers.py:892 stock/serializers.py:1125 msgid "Destination stock location" msgstr "Posizione magazzino di destinazione" -#: stock/serializers.py:316 +#: stock/serializers.py:317 msgid "Optional note field" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:327 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:344 msgid "Serial numbers already exist" msgstr "Numeri di serie già esistenti" -#: stock/serializers.py:383 +#: stock/serializers.py:384 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:397 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:404 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:440 +#: stock/serializers.py:441 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:445 stock/serializers.py:487 +#: stock/serializers.py:446 stock/serializers.py:527 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:482 +#: stock/serializers.py:480 +msgid "Select part to convert stock item into" +msgstr "" + +#: stock/serializers.py:491 +msgid "Selected part is not a valid option for conversion" +msgstr "" + +#: stock/serializers.py:522 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:707 +#: stock/serializers.py:747 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:711 +#: stock/serializers.py:751 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:755 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:786 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:752 +#: stock/serializers.py:792 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:760 +#: stock/serializers.py:800 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:770 stock/serializers.py:1001 +#: stock/serializers.py:810 stock/serializers.py:1041 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:859 +#: stock/serializers.py:899 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:864 +#: stock/serializers.py:904 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:865 +#: stock/serializers.py:905 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:870 +#: stock/serializers.py:910 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:871 +#: stock/serializers.py:911 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:881 +#: stock/serializers.py:921 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:963 +#: stock/serializers.py:1003 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:1031 msgid "Stock transaction notes" msgstr "" @@ -6171,7 +6179,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2795 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2796 msgid "Install Stock Item" msgstr "" @@ -6179,7 +6187,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1517 +#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1518 msgid "Add Test Result" msgstr "" @@ -6366,7 +6374,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1894 +#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1895 msgid "Last Updated" msgstr "Ultimo aggiornamento" @@ -6382,7 +6390,23 @@ msgstr "Nessun inventario eseguito" msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:642 +#: stock/templates/stock/item_base.html:594 +msgid "Select one of the part variants listed below." +msgstr "" + +#: stock/templates/stock/item_base.html:597 +msgid "Warning" +msgstr "" + +#: stock/templates/stock/item_base.html:598 +msgid "This action cannot be easily undone" +msgstr "" + +#: stock/templates/stock/item_base.html:606 +msgid "Convert Stock Item" +msgstr "" + +#: stock/templates/stock/item_base.html:664 msgid "Return to Stock" msgstr "" @@ -6466,32 +6490,11 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:143 -msgid "Convert Stock Item" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:8 -#, python-format -msgid "This stock item is current an instance of %(part)s" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:9 -msgid "It can be converted to one of the part variants listed below." -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:13 -msgid "Warning" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:14 -msgid "This action cannot be easily undone" -msgstr "" - -#: stock/views.py:110 +#: stock/views.py:109 msgid "Stock Location QR code" msgstr "QR Code della posizione magazzino" -#: stock/views.py:126 +#: stock/views.py:125 msgid "Stock Item QR Code" msgstr "" @@ -7303,7 +7306,7 @@ 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 +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:633 msgid "Confirm" msgstr "Conferma" @@ -8175,8 +8178,8 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2447 templates/js/translated/part.js:1383 -#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1681 -#: templates/js/translated/stock.js:2339 +#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:2340 msgid "Select" msgstr "" @@ -8188,7 +8191,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2581 +#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2582 msgid "No user information" msgstr "" @@ -8342,61 +8345,61 @@ msgstr "Cancella tutti i filtri" msgid "Create filter" msgstr "Crea filtro" -#: templates/js/translated/forms.js:353 templates/js/translated/forms.js:368 -#: templates/js/translated/forms.js:382 templates/js/translated/forms.js:396 +#: templates/js/translated/forms.js:356 templates/js/translated/forms.js:371 +#: templates/js/translated/forms.js:385 templates/js/translated/forms.js:399 msgid "Action Prohibited" msgstr "Azione Vietata" -#: templates/js/translated/forms.js:355 +#: templates/js/translated/forms.js:358 msgid "Create operation not allowed" msgstr "Crea operazione non consentita" -#: templates/js/translated/forms.js:370 +#: templates/js/translated/forms.js:373 msgid "Update operation not allowed" msgstr "Operazione di aggiornamento non consentita" -#: templates/js/translated/forms.js:384 +#: templates/js/translated/forms.js:387 msgid "Delete operation not allowed" msgstr "Operazione di eliminazione non consentita" -#: templates/js/translated/forms.js:398 +#: templates/js/translated/forms.js:401 msgid "View operation not allowed" msgstr "Mostra operazione non consentita" -#: templates/js/translated/forms.js:656 +#: templates/js/translated/forms.js:659 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:757 +#: templates/js/translated/forms.js:760 msgid "Enter a valid number" msgstr "Inserisci un numero valido" -#: templates/js/translated/forms.js:1249 templates/modals.html:19 +#: templates/js/translated/forms.js:1252 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1682 +#: templates/js/translated/forms.js:1685 msgid "No results found" msgstr "Nessun risultato trovato" -#: templates/js/translated/forms.js:1897 templates/search.html:29 +#: templates/js/translated/forms.js:1900 templates/search.html:29 msgid "Searching" msgstr "Ricerca" -#: templates/js/translated/forms.js:2150 +#: templates/js/translated/forms.js:2153 msgid "Clear input" msgstr "Cancella input" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2628 +#: templates/js/translated/forms.js:2631 msgid "Select Columns" msgstr "" @@ -8727,7 +8730,7 @@ msgstr "" msgid "Quantity to receive" msgstr "Quantità da ricevere" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2142 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2143 msgid "Stock Status" msgstr "Stato giacenza" @@ -8921,7 +8924,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:1597 +#: templates/js/translated/stock.js:1598 msgid "Shipped to customer" msgstr "Spedito al cliente" @@ -9187,7 +9190,7 @@ msgid "No category" msgstr "Nessuna categoria" #: templates/js/translated/part.js:1573 templates/js/translated/part.js:1785 -#: templates/js/translated/stock.js:2300 +#: templates/js/translated/stock.js:2301 msgid "Display as list" msgstr "Visualizza come elenco" @@ -9211,7 +9214,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2319 +#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2320 msgid "Display as tree" msgstr "Visualizza come struttura ad albero" @@ -9219,7 +9222,7 @@ msgstr "Visualizza come struttura ad albero" msgid "Subscribed category" msgstr "Categoria sottoscritta" -#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2363 +#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2364 msgid "Path" msgstr "Percorso" @@ -9232,7 +9235,7 @@ msgid "Edit test result" msgstr "Modificare il risultato del test" #: templates/js/translated/part.js:1978 templates/js/translated/stock.js:1296 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1556 msgid "Delete test result" msgstr "Cancellare il risultato del test" @@ -9565,180 +9568,180 @@ msgstr "Aggiungi risultato test" msgid "No test results found" msgstr "Nessun risultato di prova trovato" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1374 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1538 +#: templates/js/translated/stock.js:1539 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/stock.js:1561 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1590 msgid "In production" msgstr "In produzione" -#: templates/js/translated/stock.js:1593 +#: templates/js/translated/stock.js:1594 msgid "Installed in Stock Item" msgstr "Installato nell'elemento stock" -#: templates/js/translated/stock.js:1601 +#: templates/js/translated/stock.js:1602 msgid "Assigned to Sales Order" msgstr "Assegnato all'ordine di vendita" -#: templates/js/translated/stock.js:1607 +#: templates/js/translated/stock.js:1608 msgid "No stock location set" msgstr "Nessuna giacenza impostata" -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1775 msgid "Stock item is in production" msgstr "L'articolo di magazzino è in produzione" -#: templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:1780 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1782 +#: templates/js/translated/stock.js:1783 msgid "Stock item assigned to customer" msgstr "Articolo stock assegnato al cliente" -#: templates/js/translated/stock.js:1785 +#: templates/js/translated/stock.js:1786 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1787 +#: templates/js/translated/stock.js:1788 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1790 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1793 msgid "Stock item has been installed in another item" msgstr "L'elemento stock è stato installato in un altro articolo" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1797 msgid "Stock item has expired" msgstr "L'articolo stock è scaduto" -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1799 msgid "Stock item will expire soon" msgstr "Articolo in giacenza prossimo alla scadenza" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1806 msgid "Stock item has been rejected" msgstr "L'articolo stock è stato rifiutato" -#: templates/js/translated/stock.js:1807 +#: templates/js/translated/stock.js:1808 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1809 +#: templates/js/translated/stock.js:1810 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1813 +#: templates/js/translated/stock.js:1814 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "Esaurito" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1865 msgid "Stocktake" msgstr "Inventario" -#: templates/js/translated/stock.js:1946 +#: templates/js/translated/stock.js:1947 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1984 +#: templates/js/translated/stock.js:1985 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2157 +#: templates/js/translated/stock.js:2158 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2171 +#: templates/js/translated/stock.js:2172 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2173 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2443 +#: templates/js/translated/stock.js:2444 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2465 +#: templates/js/translated/stock.js:2466 msgid "Location no longer exists" msgstr "La posizione non esiste più" -#: templates/js/translated/stock.js:2484 +#: templates/js/translated/stock.js:2485 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2504 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2521 +#: templates/js/translated/stock.js:2522 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2545 msgid "Added" msgstr "Aggiunto" -#: templates/js/translated/stock.js:2552 +#: templates/js/translated/stock.js:2553 msgid "Removed" msgstr "Rimosso" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2629 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2679 templates/js/translated/stock.js:2715 +#: templates/js/translated/stock.js:2680 templates/js/translated/stock.js:2716 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2729 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2749 +#: templates/js/translated/stock.js:2750 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2751 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2753 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/stock.js:2754 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2755 +#: templates/js/translated/stock.js:2756 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2768 +#: templates/js/translated/stock.js:2769 msgid "Select part to install" msgstr "" @@ -9990,61 +9993,61 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:525 +#: templates/js/translated/tables.js:534 msgid "Loading data" msgstr "Caricamento dati" -#: templates/js/translated/tables.js:528 +#: templates/js/translated/tables.js:537 msgid "rows per page" msgstr "righe per pagina" -#: templates/js/translated/tables.js:533 +#: templates/js/translated/tables.js:542 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "Showing" msgstr "Visualizzo" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "to" msgstr "a" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "of" msgstr "di" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "rows" msgstr "righe" -#: templates/js/translated/tables.js:539 templates/navbar.html:102 +#: templates/js/translated/tables.js:548 templates/navbar.html:102 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" msgstr "Cerca" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:551 msgid "No matching results" msgstr "Nessun risultato corrispondente" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:554 msgid "Hide/Show pagination" msgstr "Mostra/nascondi la paginazione" -#: templates/js/translated/tables.js:548 +#: templates/js/translated/tables.js:557 msgid "Refresh" msgstr "Aggiorna" -#: templates/js/translated/tables.js:551 +#: templates/js/translated/tables.js:560 msgid "Toggle" msgstr "Attiva/disattiva" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:563 msgid "Columns" msgstr "Colonne" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:566 msgid "All" msgstr "Tutti" diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po index a24080a584..ed7a336655 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-11 13:14+0000\n" -"PO-Revision-Date: 2022-06-11 15:03\n" +"POT-Creation-Date: 2022-06-15 08:34+0000\n" +"PO-Revision-Date: 2022-06-15 16:23\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -141,12 +141,12 @@ msgstr "コメント:" msgid "File comment" msgstr "ファイルコメント" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1575 +#: common/models.py:1576 common/models.py:1799 common/models.py:1800 +#: common/models.py:2062 common/models.py:2063 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:2575 +#: templates/js/translated/stock.js:2576 msgid "User" msgstr "ユーザー" @@ -183,7 +183,7 @@ msgstr "ファイル名の変更に失敗しました" msgid "Invalid choice" msgstr "無効な選択です" -#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1785 #: company/models.py:355 label/models.py:101 part/models.py:739 #: part/models.py:2319 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -195,7 +195,7 @@ msgstr "無効な選択です" #: templates/js/translated/company.js:744 #: templates/js/translated/notification.js:73 #: templates/js/translated/part.js:684 templates/js/translated/part.js:836 -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2345 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2346 msgid "Name" msgstr "お名前" @@ -217,8 +217,8 @@ msgstr "お名前" #: templates/js/translated/order.js:1888 templates/js/translated/order.js:2476 #: templates/js/translated/part.js:743 templates/js/translated/part.js:1151 #: templates/js/translated/part.js:1424 templates/js/translated/part.js:1876 -#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1738 -#: templates/js/translated/stock.js:2357 templates/js/translated/stock.js:2412 +#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1739 +#: templates/js/translated/stock.js:2358 templates/js/translated/stock.js:2413 msgid "Description" msgstr "説明" @@ -292,99 +292,99 @@ msgstr "必須の列がありません: {name}" msgid "Duplicate column: '{col}'" msgstr "{col} 列が重複しています。" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:689 msgid "Czech" msgstr "" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:690 msgid "German" msgstr "ドイツ語" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:691 msgid "Greek" msgstr "ギリシャ語" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:692 msgid "English" msgstr "英語" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:693 msgid "Spanish" msgstr "スペイン語" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:694 msgid "Spanish (Mexican)" msgstr "スペイン語(メキシコ)" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:695 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:696 msgid "French" msgstr "フランス語" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:697 msgid "Hebrew" msgstr "ヘブライ語" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:698 msgid "Hungarian" msgstr "ハンガリー語" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:699 msgid "Italian" msgstr "イタリア語" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:700 msgid "Japanese" msgstr "日本語" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:701 msgid "Korean" msgstr "韓国語" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:702 msgid "Dutch" msgstr "オランダ語" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:703 msgid "Norwegian" msgstr "ノルウェー語" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:704 msgid "Polish" msgstr "ポーランド語" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:705 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:706 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:707 msgid "Russian" msgstr "ロシア語" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:708 msgid "Swedish" msgstr "スウェーデン語" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:709 msgid "Thai" msgstr "タイ語" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:710 msgid "Turkish" msgstr "トルコ語" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:711 msgid "Vietnamese" msgstr "ベトナム語" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:712 msgid "Chinese" msgstr "中国語" @@ -515,7 +515,7 @@ msgstr "親アイテムから分割する" msgid "Split child item" msgstr "子項目を分割" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2082 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2083 msgid "Merged stock items" msgstr "商品在庫をマージしました" @@ -669,7 +669,7 @@ msgstr "" #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:479 #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 @@ -688,8 +688,8 @@ msgstr "" #: templates/js/translated/part.js:1136 templates/js/translated/part.js:1206 #: templates/js/translated/part.js:1402 templates/js/translated/stock.js:582 #: templates/js/translated/stock.js:747 templates/js/translated/stock.js:954 -#: templates/js/translated/stock.js:1695 templates/js/translated/stock.js:2438 -#: templates/js/translated/stock.js:2633 templates/js/translated/stock.js:2767 +#: templates/js/translated/stock.js:1696 templates/js/translated/stock.js:2439 +#: templates/js/translated/stock.js:2634 templates/js/translated/stock.js:2768 msgid "Part" msgstr "パーツ" @@ -815,14 +815,14 @@ msgstr "" #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 #: 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:759 stock/serializers.py:858 stock/serializers.py:990 +#: stock/serializers.py:316 stock/serializers.py:445 stock/serializers.py:526 +#: stock/serializers.py:799 stock/serializers.py:898 stock/serializers.py:1030 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1038 #: templates/js/translated/company.js:949 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:1369 templates/js/translated/stock.js:1978 +#: templates/js/translated/stock.js:1370 templates/js/translated/stock.js:1979 msgid "Notes" msgstr "メモ" @@ -878,8 +878,8 @@ msgid "Build to allocate parts" msgstr "パーツを割り当てるためにビルドする" #: 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 +#: order/serializers.py:1017 stock/serializers.py:383 stock/serializers.py:730 +#: stock/serializers.py:856 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 @@ -888,7 +888,7 @@ msgstr "パーツを割り当てるためにビルドする" #: 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:583 templates/js/translated/stock.js:748 -#: templates/js/translated/stock.js:2511 +#: templates/js/translated/stock.js:2512 msgid "Stock Item" msgstr "在庫商品" @@ -898,7 +898,7 @@ msgstr "" #: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1543 +#: build/templates/build/detail.html:34 common/models.py:1607 #: company/forms.py:36 company/templates/company/supplier_part.html:279 #: order/models.py:911 order/models.py:1414 order/serializers.py:1136 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 @@ -911,7 +911,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:280 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:691 #: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 @@ -928,7 +928,7 @@ msgstr "" #: templates/js/translated/part.js:2321 templates/js/translated/part.js:2355 #: templates/js/translated/part.js:2433 templates/js/translated/stock.js:454 #: templates/js/translated/stock.js:608 templates/js/translated/stock.js:778 -#: templates/js/translated/stock.js:2560 templates/js/translated/stock.js:2645 +#: templates/js/translated/stock.js:2561 templates/js/translated/stock.js:2646 msgid "Quantity" msgstr "数量" @@ -972,7 +972,7 @@ msgstr "" #: build/serializers.py:198 build/serializers.py:623 order/models.py:354 #: 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 +#: stock/serializers.py:289 msgid "Quantity must be greater than zero" msgstr "" @@ -985,7 +985,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 -#: stock/serializers.py:297 templates/js/translated/order.js:1186 +#: stock/serializers.py:298 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:267 templates/js/translated/stock.js:455 msgid "Serial Numbers" msgstr "" @@ -1002,7 +1002,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:553 +#: build/serializers.py:268 stock/api.py:559 msgid "The following serial numbers already exist" msgstr "" @@ -1011,8 +1011,8 @@ msgid "A list of build outputs must be provided" 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:851 stock/serializers.py:1084 +#: stock/serializers.py:309 stock/serializers.py:440 stock/serializers.py:521 +#: stock/serializers.py:891 stock/serializers.py:1124 #: 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 @@ -1021,7 +1021,7 @@ msgstr "" #: templates/js/translated/order.js:3247 templates/js/translated/order.js:3328 #: templates/js/translated/part.js:181 templates/js/translated/stock.js:584 #: templates/js/translated/stock.js:749 templates/js/translated/stock.js:956 -#: templates/js/translated/stock.js:1849 templates/js/translated/stock.js:2452 +#: templates/js/translated/stock.js:1850 templates/js/translated/stock.js:2453 msgid "Location" msgstr "" @@ -1034,8 +1034,8 @@ msgstr "" #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2509 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 -#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1824 -#: templates/js/translated/stock.js:2529 templates/js/translated/stock.js:2661 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1825 +#: templates/js/translated/stock.js:2530 templates/js/translated/stock.js:2662 msgid "Status" msgstr "ステータス" @@ -1112,7 +1112,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:703 +#: build/serializers.py:609 stock/serializers.py:743 msgid "Item must be in stock" msgstr "" @@ -1333,8 +1333,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:1022 templates/js/translated/stock.js:1838 -#: templates/js/translated/stock.js:2668 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:1839 +#: templates/js/translated/stock.js:2669 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1545,912 +1545,912 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:365 +#: common/models.py:434 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:367 +#: common/models.py:436 msgid "Settings value" msgstr "" -#: common/models.py:408 +#: common/models.py:477 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:425 +#: common/models.py:494 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:436 +#: common/models.py:505 msgid "Value must be an integer value" msgstr "" -#: common/models.py:481 +#: common/models.py:550 msgid "Key string must be unique" msgstr "" -#: common/models.py:665 +#: common/models.py:734 msgid "No group" msgstr "" -#: common/models.py:704 +#: common/models.py:773 msgid "Restart required" msgstr "" -#: common/models.py:705 +#: common/models.py:774 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:712 +#: common/models.py:781 msgid "Server Instance Name" msgstr "" -#: common/models.py:714 +#: common/models.py:783 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:718 +#: common/models.py:787 msgid "Use instance name" msgstr "" -#: common/models.py:719 +#: common/models.py:788 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:725 +#: common/models.py:794 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:726 +#: common/models.py:795 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:732 company/models.py:93 company/models.py:94 +#: common/models.py:801 company/models.py:93 company/models.py:94 msgid "Company name" msgstr "" -#: common/models.py:733 +#: common/models.py:802 msgid "Internal company name" msgstr "" -#: common/models.py:738 +#: common/models.py:807 msgid "Base URL" msgstr "" -#: common/models.py:739 +#: common/models.py:808 msgid "Base URL for server instance" msgstr "" -#: common/models.py:745 +#: common/models.py:814 msgid "Default Currency" msgstr "" -#: common/models.py:746 +#: common/models.py:815 msgid "Default currency" msgstr "" -#: common/models.py:752 +#: common/models.py:821 msgid "Download from URL" msgstr "" -#: common/models.py:753 +#: common/models.py:822 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:828 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:760 +#: common/models.py:829 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:766 +#: common/models.py:835 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:767 +#: common/models.py:836 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:773 +#: common/models.py:842 msgid "IPN Regex" msgstr "" -#: common/models.py:774 +#: common/models.py:843 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:778 +#: common/models.py:847 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:779 +#: common/models.py:848 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:785 +#: common/models.py:854 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:786 +#: common/models.py:855 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:792 +#: common/models.py:861 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:793 +#: common/models.py:862 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:799 +#: common/models.py:868 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:800 +#: common/models.py:869 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:806 +#: common/models.py:875 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:807 +#: common/models.py:876 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:813 +#: common/models.py:882 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:814 +#: common/models.py:883 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:820 part/models.py:2360 report/models.py:157 +#: common/models.py:889 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "テンプレート" -#: common/models.py:821 +#: common/models.py:890 msgid "Parts are templates by default" msgstr "パーツはデフォルトのテンプレートです" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 +#: common/models.py:896 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" msgstr "アセンブリ" -#: common/models.py:828 +#: common/models.py:897 msgid "Parts can be assembled from other components by default" msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます" -#: common/models.py:834 part/models.py:890 +#: common/models.py:903 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "コンポーネント" -#: common/models.py:835 +#: common/models.py:904 msgid "Parts can be used as sub-components by default" msgstr "パーツはデフォルトでサブコンポーネントとして使用できます" -#: common/models.py:841 part/models.py:901 +#: common/models.py:910 part/models.py:901 msgid "Purchaseable" msgstr "購入可能" -#: common/models.py:842 +#: common/models.py:911 msgid "Parts are purchaseable by default" msgstr "パーツはデフォルトで購入可能です" -#: common/models.py:848 part/models.py:906 +#: common/models.py:917 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:849 +#: common/models.py:918 msgid "Parts are salable by default" msgstr "パーツはデフォルトで販売可能です" -#: common/models.py:855 part/models.py:896 +#: common/models.py:924 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "追跡可能" -#: common/models.py:856 +#: common/models.py:925 msgid "Parts are trackable by default" msgstr "パーツはデフォルトで追跡可能です" -#: common/models.py:862 part/models.py:916 +#: common/models.py:931 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:863 +#: common/models.py:932 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:869 +#: common/models.py:938 msgid "Show Import in Views" msgstr "" -#: common/models.py:870 +#: common/models.py:939 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:876 +#: common/models.py:945 msgid "Show Price in Forms" msgstr "" -#: common/models.py:877 +#: common/models.py:946 msgid "Display part price in some forms" msgstr "" -#: common/models.py:888 +#: common/models.py:957 msgid "Show Price in BOM" msgstr "" -#: common/models.py:889 +#: common/models.py:958 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:900 +#: common/models.py:969 msgid "Show Price History" msgstr "" -#: common/models.py:901 +#: common/models.py:970 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:907 +#: common/models.py:976 msgid "Show related parts" msgstr "" -#: common/models.py:908 +#: common/models.py:977 msgid "Display related parts for a part" msgstr "" -#: common/models.py:914 +#: common/models.py:983 msgid "Create initial stock" msgstr "" -#: common/models.py:915 +#: common/models.py:984 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:921 +#: common/models.py:990 msgid "Internal Prices" msgstr "" -#: common/models.py:922 +#: common/models.py:991 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:928 +#: common/models.py:997 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:929 +#: common/models.py:998 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:935 +#: common/models.py:1004 msgid "Part Name Display Format" msgstr "" -#: common/models.py:936 +#: common/models.py:1005 msgid "Format to display the part name" msgstr "" -#: common/models.py:943 +#: common/models.py:1012 msgid "Enable Reports" msgstr "" -#: common/models.py:944 +#: common/models.py:1013 msgid "Enable generation of reports" msgstr "" -#: common/models.py:950 templates/stats.html:25 +#: common/models.py:1019 templates/stats.html:25 msgid "Debug Mode" msgstr "デバッグモード" -#: common/models.py:951 +#: common/models.py:1020 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:957 +#: common/models.py:1026 msgid "Page Size" msgstr "" -#: common/models.py:958 +#: common/models.py:1027 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:968 +#: common/models.py:1037 msgid "Enable Test Reports" msgstr "" -#: common/models.py:969 +#: common/models.py:1038 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:975 +#: common/models.py:1044 msgid "Attach Test Reports" msgstr "" -#: common/models.py:976 +#: common/models.py:1045 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:982 +#: common/models.py:1051 msgid "Batch Code Template" msgstr "" -#: common/models.py:983 +#: common/models.py:1052 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:988 +#: common/models.py:1057 msgid "Stock Expiry" msgstr "" -#: common/models.py:989 +#: common/models.py:1058 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:995 +#: common/models.py:1064 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:996 +#: common/models.py:1065 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1002 +#: common/models.py:1071 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1003 +#: common/models.py:1072 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1005 +#: common/models.py:1074 msgid "days" msgstr "" -#: common/models.py:1010 +#: common/models.py:1079 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1011 +#: common/models.py:1080 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1017 +#: common/models.py:1086 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1018 +#: common/models.py:1087 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1024 +#: common/models.py:1093 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1025 +#: common/models.py:1094 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1030 +#: common/models.py:1099 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1031 +#: common/models.py:1100 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1035 +#: common/models.py:1104 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1036 +#: common/models.py:1105 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1041 +#: common/models.py:1110 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1042 +#: common/models.py:1111 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1048 +#: common/models.py:1117 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1049 +#: common/models.py:1118 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1055 +#: common/models.py:1124 msgid "Enable password forgot" msgstr "" -#: common/models.py:1056 +#: common/models.py:1125 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1131 msgid "Enable registration" msgstr "" -#: common/models.py:1063 +#: common/models.py:1132 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1069 +#: common/models.py:1138 msgid "Enable SSO" msgstr "" -#: common/models.py:1070 +#: common/models.py:1139 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1076 +#: common/models.py:1145 msgid "Email required" msgstr "" -#: common/models.py:1077 +#: common/models.py:1146 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1083 +#: common/models.py:1152 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1084 +#: common/models.py:1153 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1090 +#: common/models.py:1159 msgid "Mail twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1160 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1097 +#: common/models.py:1166 msgid "Password twice" msgstr "" -#: common/models.py:1098 +#: common/models.py:1167 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1104 +#: common/models.py:1173 msgid "Group on signup" msgstr "" -#: common/models.py:1105 +#: common/models.py:1174 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1111 +#: common/models.py:1180 msgid "Enforce MFA" msgstr "" -#: common/models.py:1112 +#: common/models.py:1181 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1118 +#: common/models.py:1187 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1119 +#: common/models.py:1188 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1127 +#: common/models.py:1196 msgid "Enable URL integration" msgstr "" -#: common/models.py:1128 +#: common/models.py:1197 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1135 +#: common/models.py:1204 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1136 +#: common/models.py:1205 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1143 +#: common/models.py:1212 msgid "Enable app integration" msgstr "" -#: common/models.py:1144 +#: common/models.py:1213 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1151 +#: common/models.py:1220 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1152 +#: common/models.py:1221 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1159 +#: common/models.py:1228 msgid "Enable event integration" msgstr "" -#: common/models.py:1160 +#: common/models.py:1229 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1177 common/models.py:1499 +#: common/models.py:1246 common/models.py:1568 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1199 +#: common/models.py:1268 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1200 +#: common/models.py:1269 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1275 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1207 +#: common/models.py:1276 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1213 +#: common/models.py:1282 msgid "Show latest parts" msgstr "" -#: common/models.py:1214 +#: common/models.py:1283 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1220 +#: common/models.py:1289 msgid "Recent Part Count" msgstr "" -#: common/models.py:1221 +#: common/models.py:1290 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1227 +#: common/models.py:1296 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1228 +#: common/models.py:1297 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1303 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1235 +#: common/models.py:1304 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1241 +#: common/models.py:1310 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1242 +#: common/models.py:1311 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1248 +#: common/models.py:1317 msgid "Show low stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1318 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1324 msgid "Show depleted stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1325 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1331 msgid "Show needed stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1332 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1338 msgid "Show expired stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1339 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1345 msgid "Show stale stock" msgstr "" -#: common/models.py:1277 +#: common/models.py:1346 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1352 msgid "Show pending builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1353 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1359 msgid "Show overdue builds" msgstr "" -#: common/models.py:1291 +#: common/models.py:1360 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1366 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1367 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1373 msgid "Show overdue POs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1374 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1380 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1381 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1387 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1319 +#: common/models.py:1388 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1324 +#: common/models.py:1393 msgid "Enable label printing" msgstr "" -#: common/models.py:1325 +#: common/models.py:1394 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1331 +#: common/models.py:1400 msgid "Inline label display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1401 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1407 msgid "Inline report display" msgstr "" -#: common/models.py:1339 +#: common/models.py:1408 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1345 +#: common/models.py:1414 msgid "Search Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1415 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1421 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1422 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1428 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1429 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1435 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1367 +#: common/models.py:1436 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1442 msgid "Search Categories" msgstr "" -#: common/models.py:1374 +#: common/models.py:1443 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1449 msgid "Search Stock" msgstr "" -#: common/models.py:1381 +#: common/models.py:1450 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1456 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1388 +#: common/models.py:1457 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1463 msgid "Search Locations" msgstr "" -#: common/models.py:1395 +#: common/models.py:1464 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1470 msgid "Search Companies" msgstr "" -#: common/models.py:1402 +#: common/models.py:1471 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1477 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1478 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1484 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1485 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1491 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1492 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1498 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1430 +#: common/models.py:1499 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1505 msgid "Search Preview Results" msgstr "" -#: common/models.py:1437 +#: common/models.py:1506 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1512 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1513 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1519 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1451 +#: common/models.py:1520 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1457 +#: common/models.py:1526 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1458 +#: common/models.py:1527 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1464 +#: common/models.py:1533 msgid "Date Format" msgstr "" -#: common/models.py:1465 +#: common/models.py:1534 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1479 part/templates/part/detail.html:39 +#: common/models.py:1548 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1480 +#: common/models.py:1549 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1544 company/forms.py:37 +#: common/models.py:1608 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1551 company/serializers.py:319 +#: common/models.py:1615 company/serializers.py:319 #: company/templates/company/supplier_part.html:284 order/models.py:951 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:2095 msgid "Price" msgstr "" -#: common/models.py:1552 +#: common/models.py:1616 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1712 common/models.py:1890 +#: common/models.py:1776 common/models.py:1954 msgid "Endpoint" msgstr "" -#: common/models.py:1713 +#: common/models.py:1777 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1722 +#: common/models.py:1786 msgid "Name for this webhook" msgstr "" -#: common/models.py:1727 part/models.py:911 plugin/models.py:99 +#: common/models.py:1791 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,67 +2458,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1728 +#: common/models.py:1792 msgid "Is this webhook active" msgstr "" -#: common/models.py:1742 +#: common/models.py:1806 msgid "Token" msgstr "" -#: common/models.py:1743 +#: common/models.py:1807 msgid "Token for access" msgstr "" -#: common/models.py:1750 +#: common/models.py:1814 msgid "Secret" msgstr "" -#: common/models.py:1751 +#: common/models.py:1815 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1857 +#: common/models.py:1921 msgid "Message ID" msgstr "メッセージ ID:" -#: common/models.py:1858 +#: common/models.py:1922 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1866 +#: common/models.py:1930 msgid "Host" msgstr "" -#: common/models.py:1867 +#: common/models.py:1931 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1874 +#: common/models.py:1938 msgid "Header" msgstr "" -#: common/models.py:1875 +#: common/models.py:1939 msgid "Header of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1945 msgid "Body" msgstr "" -#: common/models.py:1882 +#: common/models.py:1946 msgid "Body of this message" msgstr "" -#: common/models.py:1891 +#: common/models.py:1955 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1896 +#: common/models.py:1960 msgid "Worked on" msgstr "" -#: common/models.py:1897 +#: common/models.py:1961 msgid "Was the work on this message finished?" msgstr "" @@ -2657,7 +2657,7 @@ msgstr "" #: company/models.py:145 company/serializers.py:325 #: company/templates/company/company_base.html:106 part/serializers.py:139 -#: part/serializers.py:170 stock/serializers.py:162 +#: part/serializers.py:170 stock/serializers.py:163 msgid "Currency" msgstr "" @@ -2793,7 +2793,7 @@ msgstr "" #: company/models.py:519 company/templates/company/supplier_part.html:146 #: 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 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:388 msgid "Note" msgstr "" @@ -2807,7 +2807,7 @@ msgstr "" #: company/models.py:525 company/templates/company/supplier_part.html:139 #: stock/models.py:608 stock/templates/stock/item_base.html:245 -#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1974 +#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1975 msgid "Packaging" msgstr "" @@ -2902,11 +2902,11 @@ msgstr "" #: company/templates/company/company_base.html:86 order/models.py:651 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:745 +#: stock/models.py:628 stock/serializers.py:785 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:381 templates/js/translated/order.js:2458 -#: templates/js/translated/stock.js:2493 +#: templates/js/translated/stock.js:2494 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "" @@ -3079,7 +3079,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 -#: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:33 +#: templates/js/translated/forms.js:442 templates/js/translated/helpers.js:33 #: users/models.py:219 msgid "Delete" msgstr "" @@ -3127,7 +3127,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:894 templates/js/translated/order.js:884 -#: templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:1932 msgid "Supplier Part" msgstr "" @@ -3235,7 +3235,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:43 #: templates/js/translated/bom.js:554 templates/js/translated/part.js:747 #: templates/js/translated/part.js:1295 templates/js/translated/part.js:1456 -#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1749 +#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1750 #: templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3262,7 +3262,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:2369 users/models.py:39 +#: templates/js/translated/stock.js:2370 users/models.py:39 msgid "Stock Items" msgstr "" @@ -3536,8 +3536,8 @@ msgstr "" #: 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:968 templates/js/translated/stock.js:1908 -#: templates/js/translated/stock.js:2474 +#: templates/js/translated/part.js:968 templates/js/translated/stock.js:1909 +#: templates/js/translated/stock.js:2475 msgid "Purchase Order" msgstr "" @@ -3557,8 +3557,8 @@ msgid "Number of items received" msgstr "" #: order/models.py:1030 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:1962 +#: stock/serializers.py:154 stock/templates/stock/item_base.html:191 +#: templates/js/translated/stock.js:1963 msgid "Purchase Price" msgstr "購入金額" @@ -4121,19 +4121,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1011 +#: part/api.py:1058 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1015 +#: part/api.py:1062 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1030 +#: part/api.py:1077 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 +#: part/api.py:1108 part/api.py:1112 part/api.py:1127 part/api.py:1131 msgid "This field is required" msgstr "" @@ -4268,7 +4268,7 @@ msgstr "" #: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:735 templates/js/translated/part.js:1391 -#: templates/js/translated/stock.js:1721 +#: templates/js/translated/stock.js:1722 msgid "IPN" msgstr "" @@ -4611,7 +4611,7 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:164 msgid "Purchase currency of this stock item" msgstr "" @@ -5752,7 +5752,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2402 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2403 msgid "Date" msgstr "" @@ -5771,19 +5771,19 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: templates/js/translated/stock.js:606 templates/js/translated/stock.js:776 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2652 msgid "Serial" msgstr "" -#: stock/api.py:505 +#: stock/api.py:511 msgid "Quantity is required" msgstr "" -#: stock/api.py:512 +#: stock/api.py:518 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:537 +#: stock/api.py:543 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5891,7 +5891,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1879 msgid "Expiry Date" msgstr "" @@ -5969,7 +5969,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1347 stock/serializers.py:895 +#: stock/models.py:1347 stock/serializers.py:935 msgid "Duplicate stock items" msgstr "" @@ -6021,120 +6021,128 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:156 +#: stock/serializers.py:157 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:280 +#: stock/serializers.py:281 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:293 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:299 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 +#: stock/serializers.py:310 stock/serializers.py:892 stock/serializers.py:1125 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:316 +#: stock/serializers.py:317 msgid "Optional note field" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:327 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:344 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:383 +#: stock/serializers.py:384 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:397 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:404 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:440 +#: stock/serializers.py:441 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:445 stock/serializers.py:487 +#: stock/serializers.py:446 stock/serializers.py:527 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:482 +#: stock/serializers.py:480 +msgid "Select part to convert stock item into" +msgstr "" + +#: stock/serializers.py:491 +msgid "Selected part is not a valid option for conversion" +msgstr "" + +#: stock/serializers.py:522 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:707 +#: stock/serializers.py:747 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:711 +#: stock/serializers.py:751 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:755 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:786 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:752 +#: stock/serializers.py:792 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:760 +#: stock/serializers.py:800 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:770 stock/serializers.py:1001 +#: stock/serializers.py:810 stock/serializers.py:1041 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:859 +#: stock/serializers.py:899 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:864 +#: stock/serializers.py:904 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:865 +#: stock/serializers.py:905 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:870 +#: stock/serializers.py:910 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:871 +#: stock/serializers.py:911 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:881 +#: stock/serializers.py:921 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:963 +#: stock/serializers.py:1003 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:1031 msgid "Stock transaction notes" msgstr "" @@ -6171,7 +6179,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2795 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2796 msgid "Install Stock Item" msgstr "" @@ -6179,7 +6187,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1517 +#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1518 msgid "Add Test Result" msgstr "" @@ -6366,7 +6374,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1894 +#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1895 msgid "Last Updated" msgstr "" @@ -6382,7 +6390,23 @@ msgstr "" msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:642 +#: stock/templates/stock/item_base.html:594 +msgid "Select one of the part variants listed below." +msgstr "" + +#: stock/templates/stock/item_base.html:597 +msgid "Warning" +msgstr "" + +#: stock/templates/stock/item_base.html:598 +msgid "This action cannot be easily undone" +msgstr "" + +#: stock/templates/stock/item_base.html:606 +msgid "Convert Stock Item" +msgstr "" + +#: stock/templates/stock/item_base.html:664 msgid "Return to Stock" msgstr "" @@ -6466,32 +6490,11 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:143 -msgid "Convert Stock Item" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:8 -#, python-format -msgid "This stock item is current an instance of %(part)s" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:9 -msgid "It can be converted to one of the part variants listed below." -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:13 -msgid "Warning" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:14 -msgid "This action cannot be easily undone" -msgstr "" - -#: stock/views.py:110 +#: stock/views.py:109 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:126 +#: stock/views.py:125 msgid "Stock Item QR Code" msgstr "" @@ -7303,7 +7306,7 @@ 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 +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:633 msgid "Confirm" msgstr "確認" @@ -8175,8 +8178,8 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2447 templates/js/translated/part.js:1383 -#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1681 -#: templates/js/translated/stock.js:2339 +#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:2340 msgid "Select" msgstr "" @@ -8188,7 +8191,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2581 +#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2582 msgid "No user information" msgstr "" @@ -8342,61 +8345,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:353 templates/js/translated/forms.js:368 -#: templates/js/translated/forms.js:382 templates/js/translated/forms.js:396 +#: templates/js/translated/forms.js:356 templates/js/translated/forms.js:371 +#: templates/js/translated/forms.js:385 templates/js/translated/forms.js:399 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:355 +#: templates/js/translated/forms.js:358 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:370 +#: templates/js/translated/forms.js:373 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:384 +#: templates/js/translated/forms.js:387 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:398 +#: templates/js/translated/forms.js:401 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:656 +#: templates/js/translated/forms.js:659 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:757 +#: templates/js/translated/forms.js:760 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1249 templates/modals.html:19 +#: templates/js/translated/forms.js:1252 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1682 +#: templates/js/translated/forms.js:1685 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1897 templates/search.html:29 +#: templates/js/translated/forms.js:1900 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2150 +#: templates/js/translated/forms.js:2153 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2628 +#: templates/js/translated/forms.js:2631 msgid "Select Columns" msgstr "" @@ -8727,7 +8730,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2142 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2143 msgid "Stock Status" msgstr "" @@ -8921,7 +8924,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1597 +#: templates/js/translated/stock.js:1598 msgid "Shipped to customer" msgstr "" @@ -9187,7 +9190,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:1573 templates/js/translated/part.js:1785 -#: templates/js/translated/stock.js:2300 +#: templates/js/translated/stock.js:2301 msgid "Display as list" msgstr "" @@ -9211,7 +9214,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2319 +#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2320 msgid "Display as tree" msgstr "" @@ -9219,7 +9222,7 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2363 +#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2364 msgid "Path" msgstr "" @@ -9232,7 +9235,7 @@ msgid "Edit test result" msgstr "" #: templates/js/translated/part.js:1978 templates/js/translated/stock.js:1296 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1556 msgid "Delete test result" msgstr "" @@ -9565,180 +9568,180 @@ msgstr "" msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1374 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1538 +#: templates/js/translated/stock.js:1539 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/stock.js:1561 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1590 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1593 +#: templates/js/translated/stock.js:1594 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1601 +#: templates/js/translated/stock.js:1602 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1607 +#: templates/js/translated/stock.js:1608 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1775 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:1780 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1782 +#: templates/js/translated/stock.js:1783 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1785 +#: templates/js/translated/stock.js:1786 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1787 +#: templates/js/translated/stock.js:1788 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1790 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1793 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1797 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1799 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1806 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1807 +#: templates/js/translated/stock.js:1808 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1809 +#: templates/js/translated/stock.js:1810 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1813 +#: templates/js/translated/stock.js:1814 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1865 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1946 +#: templates/js/translated/stock.js:1947 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1984 +#: templates/js/translated/stock.js:1985 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2157 +#: templates/js/translated/stock.js:2158 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2171 +#: templates/js/translated/stock.js:2172 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2173 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2443 +#: templates/js/translated/stock.js:2444 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2465 +#: templates/js/translated/stock.js:2466 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2484 +#: templates/js/translated/stock.js:2485 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2504 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2521 +#: templates/js/translated/stock.js:2522 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2545 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2552 +#: templates/js/translated/stock.js:2553 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2629 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2679 templates/js/translated/stock.js:2715 +#: templates/js/translated/stock.js:2680 templates/js/translated/stock.js:2716 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2729 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2749 +#: templates/js/translated/stock.js:2750 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2751 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2753 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/stock.js:2754 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2755 +#: templates/js/translated/stock.js:2756 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2768 +#: templates/js/translated/stock.js:2769 msgid "Select part to install" msgstr "" @@ -9990,61 +9993,61 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:525 +#: templates/js/translated/tables.js:534 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:528 +#: templates/js/translated/tables.js:537 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:533 +#: templates/js/translated/tables.js:542 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "to" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "of" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:539 templates/navbar.html:102 +#: templates/js/translated/tables.js:548 templates/navbar.html:102 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" msgstr "" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:551 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:554 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:548 +#: templates/js/translated/tables.js:557 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:551 +#: templates/js/translated/tables.js:560 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:563 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:566 msgid "All" msgstr "" diff --git a/InvenTree/locale/ko/LC_MESSAGES/django.po b/InvenTree/locale/ko/LC_MESSAGES/django.po index c8cc176d66..0a4539c585 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-11 13:14+0000\n" -"PO-Revision-Date: 2022-06-11 15:03\n" +"POT-Creation-Date: 2022-06-15 08:34+0000\n" +"PO-Revision-Date: 2022-06-15 16:23\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -141,12 +141,12 @@ msgstr "" msgid "File comment" msgstr "" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1575 +#: common/models.py:1576 common/models.py:1799 common/models.py:1800 +#: common/models.py:2062 common/models.py:2063 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:2575 +#: templates/js/translated/stock.js:2576 msgid "User" msgstr "사용자" @@ -183,7 +183,7 @@ msgstr "파일 이름 바꾸기 오류" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1785 #: company/models.py:355 label/models.py:101 part/models.py:739 #: part/models.py:2319 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -195,7 +195,7 @@ msgstr "" #: templates/js/translated/company.js:744 #: templates/js/translated/notification.js:73 #: templates/js/translated/part.js:684 templates/js/translated/part.js:836 -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2345 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2346 msgid "Name" msgstr "이름" @@ -217,8 +217,8 @@ msgstr "이름" #: templates/js/translated/order.js:1888 templates/js/translated/order.js:2476 #: templates/js/translated/part.js:743 templates/js/translated/part.js:1151 #: templates/js/translated/part.js:1424 templates/js/translated/part.js:1876 -#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1738 -#: templates/js/translated/stock.js:2357 templates/js/translated/stock.js:2412 +#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1739 +#: templates/js/translated/stock.js:2358 templates/js/translated/stock.js:2413 msgid "Description" msgstr "설명" @@ -292,99 +292,99 @@ msgstr "" msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:689 msgid "Czech" msgstr "체코어" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:690 msgid "German" msgstr "독일어" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:691 msgid "Greek" msgstr "그리스어" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:692 msgid "English" msgstr "영어" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:693 msgid "Spanish" msgstr "스페인어" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:694 msgid "Spanish (Mexican)" msgstr "스페인어 (멕시코)" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:695 msgid "Farsi / Persian" msgstr "파르시어/페르시아어" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:696 msgid "French" msgstr "프랑스어" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:697 msgid "Hebrew" msgstr "히브리어" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:698 msgid "Hungarian" msgstr "헝가리어" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:699 msgid "Italian" msgstr "이탈리아어" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:700 msgid "Japanese" msgstr "일본어" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:701 msgid "Korean" msgstr "한국어" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:702 msgid "Dutch" msgstr "네덜란드어" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:703 msgid "Norwegian" msgstr "노르웨이어" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:704 msgid "Polish" msgstr "폴란드어" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:705 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:706 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:707 msgid "Russian" msgstr "러시아어" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:708 msgid "Swedish" msgstr "스웨덴어" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:709 msgid "Thai" msgstr "태국어" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:710 msgid "Turkish" msgstr "터키어" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:711 msgid "Vietnamese" msgstr "베트남어" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:712 msgid "Chinese" msgstr "중국어" @@ -515,7 +515,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2082 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2083 msgid "Merged stock items" msgstr "" @@ -669,7 +669,7 @@ msgstr "" #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:479 #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 @@ -688,8 +688,8 @@ msgstr "" #: templates/js/translated/part.js:1136 templates/js/translated/part.js:1206 #: templates/js/translated/part.js:1402 templates/js/translated/stock.js:582 #: templates/js/translated/stock.js:747 templates/js/translated/stock.js:954 -#: templates/js/translated/stock.js:1695 templates/js/translated/stock.js:2438 -#: templates/js/translated/stock.js:2633 templates/js/translated/stock.js:2767 +#: templates/js/translated/stock.js:1696 templates/js/translated/stock.js:2439 +#: templates/js/translated/stock.js:2634 templates/js/translated/stock.js:2768 msgid "Part" msgstr "" @@ -815,14 +815,14 @@ msgstr "외부 링크" #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 #: 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:759 stock/serializers.py:858 stock/serializers.py:990 +#: stock/serializers.py:316 stock/serializers.py:445 stock/serializers.py:526 +#: stock/serializers.py:799 stock/serializers.py:898 stock/serializers.py:1030 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1038 #: templates/js/translated/company.js:949 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:1369 templates/js/translated/stock.js:1978 +#: templates/js/translated/stock.js:1370 templates/js/translated/stock.js:1979 msgid "Notes" msgstr "" @@ -878,8 +878,8 @@ msgid "Build to allocate parts" msgstr "" #: 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 +#: order/serializers.py:1017 stock/serializers.py:383 stock/serializers.py:730 +#: stock/serializers.py:856 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 @@ -888,7 +888,7 @@ msgstr "" #: 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:583 templates/js/translated/stock.js:748 -#: templates/js/translated/stock.js:2511 +#: templates/js/translated/stock.js:2512 msgid "Stock Item" msgstr "" @@ -898,7 +898,7 @@ msgstr "" #: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1543 +#: build/templates/build/detail.html:34 common/models.py:1607 #: company/forms.py:36 company/templates/company/supplier_part.html:279 #: order/models.py:911 order/models.py:1414 order/serializers.py:1136 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 @@ -911,7 +911,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:280 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:691 #: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 @@ -928,7 +928,7 @@ msgstr "" #: templates/js/translated/part.js:2321 templates/js/translated/part.js:2355 #: templates/js/translated/part.js:2433 templates/js/translated/stock.js:454 #: templates/js/translated/stock.js:608 templates/js/translated/stock.js:778 -#: templates/js/translated/stock.js:2560 templates/js/translated/stock.js:2645 +#: templates/js/translated/stock.js:2561 templates/js/translated/stock.js:2646 msgid "Quantity" msgstr "수량" @@ -972,7 +972,7 @@ msgstr "" #: build/serializers.py:198 build/serializers.py:623 order/models.py:354 #: 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 +#: stock/serializers.py:289 msgid "Quantity must be greater than zero" msgstr "수량 값은 0보다 커야 합니다" @@ -985,7 +985,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 -#: stock/serializers.py:297 templates/js/translated/order.js:1186 +#: stock/serializers.py:298 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:267 templates/js/translated/stock.js:455 msgid "Serial Numbers" msgstr "일련번호" @@ -1002,7 +1002,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:553 +#: build/serializers.py:268 stock/api.py:559 msgid "The following serial numbers already exist" msgstr "" @@ -1011,8 +1011,8 @@ msgid "A list of build outputs must be provided" 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:851 stock/serializers.py:1084 +#: stock/serializers.py:309 stock/serializers.py:440 stock/serializers.py:521 +#: stock/serializers.py:891 stock/serializers.py:1124 #: 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 @@ -1021,7 +1021,7 @@ msgstr "" #: templates/js/translated/order.js:3247 templates/js/translated/order.js:3328 #: templates/js/translated/part.js:181 templates/js/translated/stock.js:584 #: templates/js/translated/stock.js:749 templates/js/translated/stock.js:956 -#: templates/js/translated/stock.js:1849 templates/js/translated/stock.js:2452 +#: templates/js/translated/stock.js:1850 templates/js/translated/stock.js:2453 msgid "Location" msgstr "위치" @@ -1034,8 +1034,8 @@ msgstr "" #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2509 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 -#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1824 -#: templates/js/translated/stock.js:2529 templates/js/translated/stock.js:2661 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1825 +#: templates/js/translated/stock.js:2530 templates/js/translated/stock.js:2662 msgid "Status" msgstr "상태" @@ -1112,7 +1112,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:703 +#: build/serializers.py:609 stock/serializers.py:743 msgid "Item must be in stock" msgstr "" @@ -1333,8 +1333,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:1022 templates/js/translated/stock.js:1838 -#: templates/js/translated/stock.js:2668 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:1839 +#: templates/js/translated/stock.js:2669 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1545,912 +1545,912 @@ msgstr "{name.title()} 파일" msgid "Select {name} file to upload" msgstr "업로드할 {name} 파일을 선택하세요" -#: common/models.py:365 +#: common/models.py:434 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:367 +#: common/models.py:436 msgid "Settings value" msgstr "" -#: common/models.py:408 +#: common/models.py:477 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:425 +#: common/models.py:494 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:436 +#: common/models.py:505 msgid "Value must be an integer value" msgstr "" -#: common/models.py:481 +#: common/models.py:550 msgid "Key string must be unique" msgstr "" -#: common/models.py:665 +#: common/models.py:734 msgid "No group" msgstr "" -#: common/models.py:704 +#: common/models.py:773 msgid "Restart required" msgstr "재시작 필요" -#: common/models.py:705 +#: common/models.py:774 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:712 +#: common/models.py:781 msgid "Server Instance Name" msgstr "" -#: common/models.py:714 +#: common/models.py:783 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:718 +#: common/models.py:787 msgid "Use instance name" msgstr "" -#: common/models.py:719 +#: common/models.py:788 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:725 +#: common/models.py:794 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:726 +#: common/models.py:795 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:732 company/models.py:93 company/models.py:94 +#: common/models.py:801 company/models.py:93 company/models.py:94 msgid "Company name" msgstr "회사명" -#: common/models.py:733 +#: common/models.py:802 msgid "Internal company name" msgstr "" -#: common/models.py:738 +#: common/models.py:807 msgid "Base URL" msgstr "" -#: common/models.py:739 +#: common/models.py:808 msgid "Base URL for server instance" msgstr "" -#: common/models.py:745 +#: common/models.py:814 msgid "Default Currency" msgstr "기본 통화" -#: common/models.py:746 +#: common/models.py:815 msgid "Default currency" msgstr "기본 통화" -#: common/models.py:752 +#: common/models.py:821 msgid "Download from URL" msgstr "URL에서 다운로드" -#: common/models.py:753 +#: common/models.py:822 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:828 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "바코드 지원" -#: common/models.py:760 +#: common/models.py:829 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:766 +#: common/models.py:835 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:767 +#: common/models.py:836 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:773 +#: common/models.py:842 msgid "IPN Regex" msgstr "" -#: common/models.py:774 +#: common/models.py:843 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:778 +#: common/models.py:847 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:779 +#: common/models.py:848 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:785 +#: common/models.py:854 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:786 +#: common/models.py:855 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:792 +#: common/models.py:861 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:793 +#: common/models.py:862 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:799 +#: common/models.py:868 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:800 +#: common/models.py:869 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:806 +#: common/models.py:875 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:807 +#: common/models.py:876 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:813 +#: common/models.py:882 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:814 +#: common/models.py:883 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:820 part/models.py:2360 report/models.py:157 +#: common/models.py:889 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:821 +#: common/models.py:890 msgid "Parts are templates by default" msgstr "" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 +#: common/models.py:896 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" msgstr "" -#: common/models.py:828 +#: common/models.py:897 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:834 part/models.py:890 +#: common/models.py:903 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:835 +#: common/models.py:904 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:841 part/models.py:901 +#: common/models.py:910 part/models.py:901 msgid "Purchaseable" msgstr "구입 가능" -#: common/models.py:842 +#: common/models.py:911 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:848 part/models.py:906 +#: common/models.py:917 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "판매 가능" -#: common/models.py:849 +#: common/models.py:918 msgid "Parts are salable by default" msgstr "" -#: common/models.py:855 part/models.py:896 +#: common/models.py:924 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:856 +#: common/models.py:925 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:862 part/models.py:916 +#: common/models.py:931 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:863 +#: common/models.py:932 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:869 +#: common/models.py:938 msgid "Show Import in Views" msgstr "" -#: common/models.py:870 +#: common/models.py:939 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:876 +#: common/models.py:945 msgid "Show Price in Forms" msgstr "" -#: common/models.py:877 +#: common/models.py:946 msgid "Display part price in some forms" msgstr "" -#: common/models.py:888 +#: common/models.py:957 msgid "Show Price in BOM" msgstr "" -#: common/models.py:889 +#: common/models.py:958 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:900 +#: common/models.py:969 msgid "Show Price History" msgstr "" -#: common/models.py:901 +#: common/models.py:970 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:907 +#: common/models.py:976 msgid "Show related parts" msgstr "" -#: common/models.py:908 +#: common/models.py:977 msgid "Display related parts for a part" msgstr "" -#: common/models.py:914 +#: common/models.py:983 msgid "Create initial stock" msgstr "" -#: common/models.py:915 +#: common/models.py:984 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:921 +#: common/models.py:990 msgid "Internal Prices" msgstr "" -#: common/models.py:922 +#: common/models.py:991 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:928 +#: common/models.py:997 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:929 +#: common/models.py:998 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:935 +#: common/models.py:1004 msgid "Part Name Display Format" msgstr "" -#: common/models.py:936 +#: common/models.py:1005 msgid "Format to display the part name" msgstr "" -#: common/models.py:943 +#: common/models.py:1012 msgid "Enable Reports" msgstr "" -#: common/models.py:944 +#: common/models.py:1013 msgid "Enable generation of reports" msgstr "" -#: common/models.py:950 templates/stats.html:25 +#: common/models.py:1019 templates/stats.html:25 msgid "Debug Mode" msgstr "디버그 모드" -#: common/models.py:951 +#: common/models.py:1020 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:957 +#: common/models.py:1026 msgid "Page Size" msgstr "페이지 크기" -#: common/models.py:958 +#: common/models.py:1027 msgid "Default page size for PDF reports" msgstr "PDF 보고서 기본 페이지 크기" -#: common/models.py:968 +#: common/models.py:1037 msgid "Enable Test Reports" msgstr "" -#: common/models.py:969 +#: common/models.py:1038 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:975 +#: common/models.py:1044 msgid "Attach Test Reports" msgstr "" -#: common/models.py:976 +#: common/models.py:1045 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:982 +#: common/models.py:1051 msgid "Batch Code Template" msgstr "" -#: common/models.py:983 +#: common/models.py:1052 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:988 +#: common/models.py:1057 msgid "Stock Expiry" msgstr "" -#: common/models.py:989 +#: common/models.py:1058 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:995 +#: common/models.py:1064 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:996 +#: common/models.py:1065 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1002 +#: common/models.py:1071 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1003 +#: common/models.py:1072 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1005 +#: common/models.py:1074 msgid "days" msgstr "" -#: common/models.py:1010 +#: common/models.py:1079 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1011 +#: common/models.py:1080 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1017 +#: common/models.py:1086 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1018 +#: common/models.py:1087 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1024 +#: common/models.py:1093 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1025 +#: common/models.py:1094 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1030 +#: common/models.py:1099 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1031 +#: common/models.py:1100 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1035 +#: common/models.py:1104 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1036 +#: common/models.py:1105 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1041 +#: common/models.py:1110 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1042 +#: common/models.py:1111 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1048 +#: common/models.py:1117 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1049 +#: common/models.py:1118 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1055 +#: common/models.py:1124 msgid "Enable password forgot" msgstr "" -#: common/models.py:1056 +#: common/models.py:1125 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1131 msgid "Enable registration" msgstr "" -#: common/models.py:1063 +#: common/models.py:1132 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1069 +#: common/models.py:1138 msgid "Enable SSO" msgstr "SSO 활성화" -#: common/models.py:1070 +#: common/models.py:1139 msgid "Enable SSO on the login pages" msgstr "로그인 페이지에서 SSO 활성화" -#: common/models.py:1076 +#: common/models.py:1145 msgid "Email required" msgstr "이메일 필요" -#: common/models.py:1077 +#: common/models.py:1146 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1083 +#: common/models.py:1152 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1084 +#: common/models.py:1153 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1090 +#: common/models.py:1159 msgid "Mail twice" msgstr "두 번 보내기" -#: common/models.py:1091 +#: common/models.py:1160 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1097 +#: common/models.py:1166 msgid "Password twice" msgstr "" -#: common/models.py:1098 +#: common/models.py:1167 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1104 +#: common/models.py:1173 msgid "Group on signup" msgstr "" -#: common/models.py:1105 +#: common/models.py:1174 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1111 +#: common/models.py:1180 msgid "Enforce MFA" msgstr "" -#: common/models.py:1112 +#: common/models.py:1181 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1118 +#: common/models.py:1187 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1119 +#: common/models.py:1188 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1127 +#: common/models.py:1196 msgid "Enable URL integration" msgstr "" -#: common/models.py:1128 +#: common/models.py:1197 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1135 +#: common/models.py:1204 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1136 +#: common/models.py:1205 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1143 +#: common/models.py:1212 msgid "Enable app integration" msgstr "" -#: common/models.py:1144 +#: common/models.py:1213 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1151 +#: common/models.py:1220 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1152 +#: common/models.py:1221 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1159 +#: common/models.py:1228 msgid "Enable event integration" msgstr "" -#: common/models.py:1160 +#: common/models.py:1229 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1177 common/models.py:1499 +#: common/models.py:1246 common/models.py:1568 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1199 +#: common/models.py:1268 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1200 +#: common/models.py:1269 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1275 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1207 +#: common/models.py:1276 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1213 +#: common/models.py:1282 msgid "Show latest parts" msgstr "" -#: common/models.py:1214 +#: common/models.py:1283 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1220 +#: common/models.py:1289 msgid "Recent Part Count" msgstr "" -#: common/models.py:1221 +#: common/models.py:1290 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1227 +#: common/models.py:1296 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1228 +#: common/models.py:1297 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1303 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1235 +#: common/models.py:1304 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1241 +#: common/models.py:1310 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1242 +#: common/models.py:1311 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1248 +#: common/models.py:1317 msgid "Show low stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1318 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1324 msgid "Show depleted stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1325 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1331 msgid "Show needed stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1332 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1338 msgid "Show expired stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1339 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1345 msgid "Show stale stock" msgstr "" -#: common/models.py:1277 +#: common/models.py:1346 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1352 msgid "Show pending builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1353 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1359 msgid "Show overdue builds" msgstr "" -#: common/models.py:1291 +#: common/models.py:1360 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1366 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1367 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1373 msgid "Show overdue POs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1374 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1380 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1381 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1387 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1319 +#: common/models.py:1388 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1324 +#: common/models.py:1393 msgid "Enable label printing" msgstr "" -#: common/models.py:1325 +#: common/models.py:1394 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1331 +#: common/models.py:1400 msgid "Inline label display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1401 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1407 msgid "Inline report display" msgstr "" -#: common/models.py:1339 +#: common/models.py:1408 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1345 +#: common/models.py:1414 msgid "Search Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1415 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1421 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1422 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1428 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1429 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1435 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1367 +#: common/models.py:1436 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1442 msgid "Search Categories" msgstr "" -#: common/models.py:1374 +#: common/models.py:1443 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1449 msgid "Search Stock" msgstr "" -#: common/models.py:1381 +#: common/models.py:1450 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1456 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1388 +#: common/models.py:1457 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1463 msgid "Search Locations" msgstr "" -#: common/models.py:1395 +#: common/models.py:1464 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1470 msgid "Search Companies" msgstr "" -#: common/models.py:1402 +#: common/models.py:1471 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1477 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1478 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1484 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1485 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1491 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1492 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1498 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1430 +#: common/models.py:1499 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1505 msgid "Search Preview Results" msgstr "" -#: common/models.py:1437 +#: common/models.py:1506 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1512 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1513 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1519 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1451 +#: common/models.py:1520 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1457 +#: common/models.py:1526 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1458 +#: common/models.py:1527 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1464 +#: common/models.py:1533 msgid "Date Format" msgstr "" -#: common/models.py:1465 +#: common/models.py:1534 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1479 part/templates/part/detail.html:39 +#: common/models.py:1548 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1480 +#: common/models.py:1549 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1544 company/forms.py:37 +#: common/models.py:1608 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1551 company/serializers.py:319 +#: common/models.py:1615 company/serializers.py:319 #: company/templates/company/supplier_part.html:284 order/models.py:951 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:2095 msgid "Price" msgstr "" -#: common/models.py:1552 +#: common/models.py:1616 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1712 common/models.py:1890 +#: common/models.py:1776 common/models.py:1954 msgid "Endpoint" msgstr "" -#: common/models.py:1713 +#: common/models.py:1777 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1722 +#: common/models.py:1786 msgid "Name for this webhook" msgstr "" -#: common/models.py:1727 part/models.py:911 plugin/models.py:99 +#: common/models.py:1791 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,67 +2458,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1728 +#: common/models.py:1792 msgid "Is this webhook active" msgstr "" -#: common/models.py:1742 +#: common/models.py:1806 msgid "Token" msgstr "" -#: common/models.py:1743 +#: common/models.py:1807 msgid "Token for access" msgstr "" -#: common/models.py:1750 +#: common/models.py:1814 msgid "Secret" msgstr "" -#: common/models.py:1751 +#: common/models.py:1815 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1857 +#: common/models.py:1921 msgid "Message ID" msgstr "" -#: common/models.py:1858 +#: common/models.py:1922 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1866 +#: common/models.py:1930 msgid "Host" msgstr "" -#: common/models.py:1867 +#: common/models.py:1931 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1874 +#: common/models.py:1938 msgid "Header" msgstr "" -#: common/models.py:1875 +#: common/models.py:1939 msgid "Header of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1945 msgid "Body" msgstr "" -#: common/models.py:1882 +#: common/models.py:1946 msgid "Body of this message" msgstr "" -#: common/models.py:1891 +#: common/models.py:1955 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1896 +#: common/models.py:1960 msgid "Worked on" msgstr "" -#: common/models.py:1897 +#: common/models.py:1961 msgid "Was the work on this message finished?" msgstr "" @@ -2657,7 +2657,7 @@ msgstr "" #: company/models.py:145 company/serializers.py:325 #: company/templates/company/company_base.html:106 part/serializers.py:139 -#: part/serializers.py:170 stock/serializers.py:162 +#: part/serializers.py:170 stock/serializers.py:163 msgid "Currency" msgstr "" @@ -2793,7 +2793,7 @@ msgstr "" #: company/models.py:519 company/templates/company/supplier_part.html:146 #: 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 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:388 msgid "Note" msgstr "" @@ -2807,7 +2807,7 @@ msgstr "" #: company/models.py:525 company/templates/company/supplier_part.html:139 #: stock/models.py:608 stock/templates/stock/item_base.html:245 -#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1974 +#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1975 msgid "Packaging" msgstr "" @@ -2902,11 +2902,11 @@ msgstr "URL에서 이미지 다운로드" #: company/templates/company/company_base.html:86 order/models.py:651 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:745 +#: stock/models.py:628 stock/serializers.py:785 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:381 templates/js/translated/order.js:2458 -#: templates/js/translated/stock.js:2493 +#: templates/js/translated/stock.js:2494 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "고객" @@ -3079,7 +3079,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 -#: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:33 +#: templates/js/translated/forms.js:442 templates/js/translated/helpers.js:33 #: users/models.py:219 msgid "Delete" msgstr "삭제" @@ -3127,7 +3127,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:894 templates/js/translated/order.js:884 -#: templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:1932 msgid "Supplier Part" msgstr "" @@ -3235,7 +3235,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:43 #: templates/js/translated/bom.js:554 templates/js/translated/part.js:747 #: templates/js/translated/part.js:1295 templates/js/translated/part.js:1456 -#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1749 +#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1750 #: templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3262,7 +3262,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:2369 users/models.py:39 +#: templates/js/translated/stock.js:2370 users/models.py:39 msgid "Stock Items" msgstr "" @@ -3536,8 +3536,8 @@ msgstr "" #: 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:968 templates/js/translated/stock.js:1908 -#: templates/js/translated/stock.js:2474 +#: templates/js/translated/part.js:968 templates/js/translated/stock.js:1909 +#: templates/js/translated/stock.js:2475 msgid "Purchase Order" msgstr "" @@ -3557,8 +3557,8 @@ msgid "Number of items received" msgstr "" #: order/models.py:1030 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:1962 +#: stock/serializers.py:154 stock/templates/stock/item_base.html:191 +#: templates/js/translated/stock.js:1963 msgid "Purchase Price" msgstr "" @@ -4121,19 +4121,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1011 +#: part/api.py:1058 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1015 +#: part/api.py:1062 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1030 +#: part/api.py:1077 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 +#: part/api.py:1108 part/api.py:1112 part/api.py:1127 part/api.py:1131 msgid "This field is required" msgstr "" @@ -4268,7 +4268,7 @@ msgstr "" #: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:735 templates/js/translated/part.js:1391 -#: templates/js/translated/stock.js:1721 +#: templates/js/translated/stock.js:1722 msgid "IPN" msgstr "" @@ -4611,7 +4611,7 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:164 msgid "Purchase currency of this stock item" msgstr "" @@ -5752,7 +5752,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2402 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2403 msgid "Date" msgstr "" @@ -5771,19 +5771,19 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: templates/js/translated/stock.js:606 templates/js/translated/stock.js:776 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2652 msgid "Serial" msgstr "" -#: stock/api.py:505 +#: stock/api.py:511 msgid "Quantity is required" msgstr "" -#: stock/api.py:512 +#: stock/api.py:518 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:537 +#: stock/api.py:543 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5891,7 +5891,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1879 msgid "Expiry Date" msgstr "" @@ -5969,7 +5969,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1347 stock/serializers.py:895 +#: stock/models.py:1347 stock/serializers.py:935 msgid "Duplicate stock items" msgstr "" @@ -6021,120 +6021,128 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:156 +#: stock/serializers.py:157 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:280 +#: stock/serializers.py:281 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:293 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:299 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 +#: stock/serializers.py:310 stock/serializers.py:892 stock/serializers.py:1125 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:316 +#: stock/serializers.py:317 msgid "Optional note field" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:327 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:344 msgid "Serial numbers already exist" msgstr "일련번호가 이미 존재합니다" -#: stock/serializers.py:383 +#: stock/serializers.py:384 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:397 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:404 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:440 +#: stock/serializers.py:441 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:445 stock/serializers.py:487 +#: stock/serializers.py:446 stock/serializers.py:527 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:482 +#: stock/serializers.py:480 +msgid "Select part to convert stock item into" +msgstr "" + +#: stock/serializers.py:491 +msgid "Selected part is not a valid option for conversion" +msgstr "" + +#: stock/serializers.py:522 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:707 +#: stock/serializers.py:747 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:711 +#: stock/serializers.py:751 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:755 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:786 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:752 +#: stock/serializers.py:792 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:760 +#: stock/serializers.py:800 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:770 stock/serializers.py:1001 +#: stock/serializers.py:810 stock/serializers.py:1041 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:859 +#: stock/serializers.py:899 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:864 +#: stock/serializers.py:904 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:865 +#: stock/serializers.py:905 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:870 +#: stock/serializers.py:910 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:871 +#: stock/serializers.py:911 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:881 +#: stock/serializers.py:921 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:963 +#: stock/serializers.py:1003 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:1031 msgid "Stock transaction notes" msgstr "" @@ -6171,7 +6179,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2795 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2796 msgid "Install Stock Item" msgstr "" @@ -6179,7 +6187,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1517 +#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1518 msgid "Add Test Result" msgstr "" @@ -6366,7 +6374,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1894 +#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1895 msgid "Last Updated" msgstr "" @@ -6382,7 +6390,23 @@ msgstr "" msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:642 +#: stock/templates/stock/item_base.html:594 +msgid "Select one of the part variants listed below." +msgstr "" + +#: stock/templates/stock/item_base.html:597 +msgid "Warning" +msgstr "경고" + +#: stock/templates/stock/item_base.html:598 +msgid "This action cannot be easily undone" +msgstr "" + +#: stock/templates/stock/item_base.html:606 +msgid "Convert Stock Item" +msgstr "" + +#: stock/templates/stock/item_base.html:664 msgid "Return to Stock" msgstr "" @@ -6466,32 +6490,11 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:143 -msgid "Convert Stock Item" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:8 -#, python-format -msgid "This stock item is current an instance of %(part)s" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:9 -msgid "It can be converted to one of the part variants listed below." -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:13 -msgid "Warning" -msgstr "경고" - -#: stock/templates/stock/stockitem_convert.html:14 -msgid "This action cannot be easily undone" -msgstr "" - -#: stock/views.py:110 +#: stock/views.py:109 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:126 +#: stock/views.py:125 msgid "Stock Item QR Code" msgstr "" @@ -7303,7 +7306,7 @@ 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 +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:633 msgid "Confirm" msgstr "확인" @@ -8175,8 +8178,8 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2447 templates/js/translated/part.js:1383 -#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1681 -#: templates/js/translated/stock.js:2339 +#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:2340 msgid "Select" msgstr "선택" @@ -8188,7 +8191,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2581 +#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2582 msgid "No user information" msgstr "" @@ -8342,61 +8345,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:353 templates/js/translated/forms.js:368 -#: templates/js/translated/forms.js:382 templates/js/translated/forms.js:396 +#: templates/js/translated/forms.js:356 templates/js/translated/forms.js:371 +#: templates/js/translated/forms.js:385 templates/js/translated/forms.js:399 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:355 +#: templates/js/translated/forms.js:358 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:370 +#: templates/js/translated/forms.js:373 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:384 +#: templates/js/translated/forms.js:387 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:398 +#: templates/js/translated/forms.js:401 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:656 +#: templates/js/translated/forms.js:659 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:757 +#: templates/js/translated/forms.js:760 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1249 templates/modals.html:19 +#: templates/js/translated/forms.js:1252 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1682 +#: templates/js/translated/forms.js:1685 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1897 templates/search.html:29 +#: templates/js/translated/forms.js:1900 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2150 +#: templates/js/translated/forms.js:2153 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2628 +#: templates/js/translated/forms.js:2631 msgid "Select Columns" msgstr "" @@ -8727,7 +8730,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2142 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2143 msgid "Stock Status" msgstr "" @@ -8921,7 +8924,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1597 +#: templates/js/translated/stock.js:1598 msgid "Shipped to customer" msgstr "" @@ -9187,7 +9190,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:1573 templates/js/translated/part.js:1785 -#: templates/js/translated/stock.js:2300 +#: templates/js/translated/stock.js:2301 msgid "Display as list" msgstr "" @@ -9211,7 +9214,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2319 +#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2320 msgid "Display as tree" msgstr "" @@ -9219,7 +9222,7 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2363 +#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2364 msgid "Path" msgstr "" @@ -9232,7 +9235,7 @@ msgid "Edit test result" msgstr "" #: templates/js/translated/part.js:1978 templates/js/translated/stock.js:1296 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1556 msgid "Delete test result" msgstr "" @@ -9565,180 +9568,180 @@ msgstr "" msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1374 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1538 +#: templates/js/translated/stock.js:1539 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/stock.js:1561 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1590 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1593 +#: templates/js/translated/stock.js:1594 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1601 +#: templates/js/translated/stock.js:1602 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1607 +#: templates/js/translated/stock.js:1608 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1775 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:1780 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1782 +#: templates/js/translated/stock.js:1783 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1785 +#: templates/js/translated/stock.js:1786 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1787 +#: templates/js/translated/stock.js:1788 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1790 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1793 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1797 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1799 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1806 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1807 +#: templates/js/translated/stock.js:1808 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1809 +#: templates/js/translated/stock.js:1810 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1813 +#: templates/js/translated/stock.js:1814 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1865 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1946 +#: templates/js/translated/stock.js:1947 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1984 +#: templates/js/translated/stock.js:1985 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2157 +#: templates/js/translated/stock.js:2158 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2171 +#: templates/js/translated/stock.js:2172 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2173 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2443 +#: templates/js/translated/stock.js:2444 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2465 +#: templates/js/translated/stock.js:2466 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2484 +#: templates/js/translated/stock.js:2485 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2504 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2521 +#: templates/js/translated/stock.js:2522 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2545 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2552 +#: templates/js/translated/stock.js:2553 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2629 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2679 templates/js/translated/stock.js:2715 +#: templates/js/translated/stock.js:2680 templates/js/translated/stock.js:2716 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2729 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2749 +#: templates/js/translated/stock.js:2750 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2751 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2753 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/stock.js:2754 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2755 +#: templates/js/translated/stock.js:2756 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2768 +#: templates/js/translated/stock.js:2769 msgid "Select part to install" msgstr "" @@ -9990,61 +9993,61 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:525 +#: templates/js/translated/tables.js:534 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:528 +#: templates/js/translated/tables.js:537 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:533 +#: templates/js/translated/tables.js:542 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "to" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "of" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:539 templates/navbar.html:102 +#: templates/js/translated/tables.js:548 templates/navbar.html:102 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" msgstr "" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:551 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:554 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:548 +#: templates/js/translated/tables.js:557 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:551 +#: templates/js/translated/tables.js:560 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:563 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:566 msgid "All" msgstr "" diff --git a/InvenTree/locale/nl/LC_MESSAGES/django.po b/InvenTree/locale/nl/LC_MESSAGES/django.po index 5b26147f66..812355b6f6 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-11 13:14+0000\n" -"PO-Revision-Date: 2022-06-11 15:03\n" +"POT-Creation-Date: 2022-06-15 08:34+0000\n" +"PO-Revision-Date: 2022-06-15 16:23\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -141,12 +141,12 @@ msgstr "Opmerking" msgid "File comment" msgstr "Bestand opmerking" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1575 +#: common/models.py:1576 common/models.py:1799 common/models.py:1800 +#: common/models.py:2062 common/models.py:2063 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:2575 +#: templates/js/translated/stock.js:2576 msgid "User" msgstr "Gebruiker" @@ -183,7 +183,7 @@ msgstr "Fout bij hernoemen bestand" msgid "Invalid choice" msgstr "Ongeldige keuze" -#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1785 #: company/models.py:355 label/models.py:101 part/models.py:739 #: part/models.py:2319 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -195,7 +195,7 @@ msgstr "Ongeldige keuze" #: templates/js/translated/company.js:744 #: templates/js/translated/notification.js:73 #: templates/js/translated/part.js:684 templates/js/translated/part.js:836 -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2345 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2346 msgid "Name" msgstr "Naam" @@ -217,8 +217,8 @@ msgstr "Naam" #: templates/js/translated/order.js:1888 templates/js/translated/order.js:2476 #: templates/js/translated/part.js:743 templates/js/translated/part.js:1151 #: templates/js/translated/part.js:1424 templates/js/translated/part.js:1876 -#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1738 -#: templates/js/translated/stock.js:2357 templates/js/translated/stock.js:2412 +#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1739 +#: templates/js/translated/stock.js:2358 templates/js/translated/stock.js:2413 msgid "Description" msgstr "Omschrijving" @@ -232,11 +232,11 @@ msgstr "bovenliggende" #: InvenTree/models.py:466 msgid "Server Error" -msgstr "" +msgstr "Serverfout" #: InvenTree/models.py:467 msgid "An error has been logged by the server." -msgstr "" +msgstr "Er is een fout gelogd door de server." #: InvenTree/serializers.py:52 part/models.py:2640 msgid "Must be a valid number" @@ -292,99 +292,99 @@ msgstr "Verplichte kolom ontbreekt: '{name}'" msgid "Duplicate column: '{col}'" msgstr "Dubbele kolom: '{col}'" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:689 msgid "Czech" msgstr "Tsjechisch" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:690 msgid "German" msgstr "Duits" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:691 msgid "Greek" msgstr "Grieks" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:692 msgid "English" msgstr "Engels" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:693 msgid "Spanish" msgstr "Spaans" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:694 msgid "Spanish (Mexican)" msgstr "Spaans (Mexicaans)" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:695 msgid "Farsi / Persian" msgstr "Farsi / Perzisch" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:696 msgid "French" msgstr "Frans" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:697 msgid "Hebrew" msgstr "Hebreeuws" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:698 msgid "Hungarian" msgstr "Hongaars" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:699 msgid "Italian" msgstr "Italiaans" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:700 msgid "Japanese" msgstr "Japans" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:701 msgid "Korean" msgstr "Koreaans" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:702 msgid "Dutch" msgstr "Nederlands" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:703 msgid "Norwegian" msgstr "Noors" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:704 msgid "Polish" msgstr "Pools" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:705 msgid "Portuguese" msgstr "Portugees" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:706 msgid "Portuguese (Brazilian)" msgstr "Portugees (Braziliaans)" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:707 msgid "Russian" msgstr "Russisch" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:708 msgid "Swedish" msgstr "Zweeds" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:709 msgid "Thai" msgstr "Thais" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:710 msgid "Turkish" msgstr "Turks" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:711 msgid "Vietnamese" msgstr "Vietnamees" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:712 msgid "Chinese" msgstr "Chinees" @@ -457,7 +457,7 @@ msgstr "Afgewezen" #: InvenTree/status_codes.py:185 msgid "Quarantined" -msgstr "" +msgstr "In quarantaine geplaatst" #: InvenTree/status_codes.py:259 msgid "Legacy stock tracking entry" @@ -515,7 +515,7 @@ msgstr "Splits van bovenliggend item" msgid "Split child item" msgstr "Splits onderliggende item" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2082 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2083 msgid "Merged stock items" msgstr "Samengevoegde voorraadartikelen" @@ -605,7 +605,7 @@ msgstr "Systeeminformatie" #: build/api.py:216 msgid "Build must be cancelled before it can be deleted" -msgstr "" +msgstr "Productie moet geannuleerd worden voordat het kan worden verwijderd" #: build/models.py:126 msgid "Invalid choice for parent build" @@ -669,7 +669,7 @@ msgstr "Productieopdracht waar dit productie aan is toegewezen" #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:479 #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 @@ -688,8 +688,8 @@ msgstr "Productieopdracht waar dit productie aan is toegewezen" #: templates/js/translated/part.js:1136 templates/js/translated/part.js:1206 #: templates/js/translated/part.js:1402 templates/js/translated/stock.js:582 #: templates/js/translated/stock.js:747 templates/js/translated/stock.js:954 -#: templates/js/translated/stock.js:1695 templates/js/translated/stock.js:2438 -#: templates/js/translated/stock.js:2633 templates/js/translated/stock.js:2767 +#: templates/js/translated/stock.js:1696 templates/js/translated/stock.js:2439 +#: templates/js/translated/stock.js:2634 templates/js/translated/stock.js:2768 msgid "Part" msgstr "Onderdeel" @@ -815,14 +815,14 @@ msgstr "Externe Link" #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 #: 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:759 stock/serializers.py:858 stock/serializers.py:990 +#: stock/serializers.py:316 stock/serializers.py:445 stock/serializers.py:526 +#: stock/serializers.py:799 stock/serializers.py:898 stock/serializers.py:1030 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1038 #: templates/js/translated/company.js:949 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:1369 templates/js/translated/stock.js:1978 +#: templates/js/translated/stock.js:1370 templates/js/translated/stock.js:1979 msgid "Notes" msgstr "Opmerkingen" @@ -878,8 +878,8 @@ msgid "Build to allocate parts" msgstr "Product om onderdelen toe te wijzen" #: 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 +#: order/serializers.py:1017 stock/serializers.py:383 stock/serializers.py:730 +#: stock/serializers.py:856 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 @@ -888,7 +888,7 @@ msgstr "Product om onderdelen toe te wijzen" #: 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:583 templates/js/translated/stock.js:748 -#: templates/js/translated/stock.js:2511 +#: templates/js/translated/stock.js:2512 msgid "Stock Item" msgstr "Voorraadartikel" @@ -898,7 +898,7 @@ msgstr "Bron voorraadartikel" #: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1543 +#: build/templates/build/detail.html:34 common/models.py:1607 #: company/forms.py:36 company/templates/company/supplier_part.html:279 #: order/models.py:911 order/models.py:1414 order/serializers.py:1136 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 @@ -911,7 +911,7 @@ msgstr "Bron voorraadartikel" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:280 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:691 #: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 @@ -928,7 +928,7 @@ msgstr "Bron voorraadartikel" #: templates/js/translated/part.js:2321 templates/js/translated/part.js:2355 #: templates/js/translated/part.js:2433 templates/js/translated/stock.js:454 #: templates/js/translated/stock.js:608 templates/js/translated/stock.js:778 -#: templates/js/translated/stock.js:2560 templates/js/translated/stock.js:2645 +#: templates/js/translated/stock.js:2561 templates/js/translated/stock.js:2646 msgid "Quantity" msgstr "Hoeveelheid" @@ -972,7 +972,7 @@ msgstr "Voer hoeveelheid in voor productie uitvoer" #: build/serializers.py:198 build/serializers.py:623 order/models.py:354 #: 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 +#: stock/serializers.py:289 msgid "Quantity must be greater than zero" msgstr "Hoeveelheid moet groter zijn dan nul" @@ -985,7 +985,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "Geheel getal vereist omdat de stuklijst traceerbare onderdelen bevat" #: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 -#: stock/serializers.py:297 templates/js/translated/order.js:1186 +#: stock/serializers.py:298 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:267 templates/js/translated/stock.js:455 msgid "Serial Numbers" msgstr "Serienummers" @@ -1002,7 +1002,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:553 +#: build/serializers.py:268 stock/api.py:559 msgid "The following serial numbers already exist" msgstr "De volgende serienummers bestaan al" @@ -1011,8 +1011,8 @@ msgid "A list of build outputs must be provided" 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:851 stock/serializers.py:1084 +#: stock/serializers.py:309 stock/serializers.py:440 stock/serializers.py:521 +#: stock/serializers.py:891 stock/serializers.py:1124 #: 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 @@ -1021,7 +1021,7 @@ msgstr "Een lijst van productieuitvoeren moet worden verstrekt" #: templates/js/translated/order.js:3247 templates/js/translated/order.js:3328 #: templates/js/translated/part.js:181 templates/js/translated/stock.js:584 #: templates/js/translated/stock.js:749 templates/js/translated/stock.js:956 -#: templates/js/translated/stock.js:1849 templates/js/translated/stock.js:2452 +#: templates/js/translated/stock.js:1850 templates/js/translated/stock.js:2453 msgid "Location" msgstr "Locatie" @@ -1034,8 +1034,8 @@ msgstr "Locatie van voltooide productieuitvoeren" #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2509 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 -#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1824 -#: templates/js/translated/stock.js:2529 templates/js/translated/stock.js:2661 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1825 +#: templates/js/translated/stock.js:2530 templates/js/translated/stock.js:2662 msgid "Status" msgstr "Status" @@ -1112,7 +1112,7 @@ 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:703 +#: build/serializers.py:609 stock/serializers.py:743 msgid "Item must be in stock" msgstr "Artikel moet op voorraad zijn" @@ -1135,7 +1135,7 @@ msgstr "Dit voorraadartikel is al toegewezen aan deze productieoutput" #: build/serializers.py:708 order/serializers.py:1300 msgid "Allocation items must be provided" -msgstr "" +msgstr "Allocaties voor artikelen moeten worden opgegeven" #: build/serializers.py:759 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" @@ -1171,12 +1171,12 @@ msgstr "Voorraad vereist voor productieorder" #: build/tasks.py:118 msgid "Overdue Build Order" -msgstr "" +msgstr "Achterstallige Productieopdracht" #: build/tasks.py:123 #, python-brace-format msgid "Build order {bo} is now overdue" -msgstr "" +msgstr "Productieopdracht {bo} is nu achterstallig" #: build/templates/build/build_base.html:39 #: order/templates/order/order_base.html:28 @@ -1333,8 +1333,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:1022 templates/js/translated/stock.js:1838 -#: templates/js/translated/stock.js:2668 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:1839 +#: templates/js/translated/stock.js:2669 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1400,11 +1400,11 @@ msgstr "Onderdelen bestellen" #: build/templates/build/detail.html:199 msgid "Untracked stock has been fully allocated for this Build Order" -msgstr "" +msgstr "Ongetrackte voorraad is volledig toegewezen aan deze Productieopdracht" #: build/templates/build/detail.html:203 msgid "Untracked stock has not been fully allocated for this Build Order" -msgstr "" +msgstr "Ongetrackte voorraad is niet volledig toegewezen aan deze Productieopdracht" #: build/templates/build/detail.html:210 msgid "Allocate selected items" @@ -1412,7 +1412,7 @@ msgstr "Geselecteerde items toewijzen" #: build/templates/build/detail.html:220 msgid "This Build Order does not have any associated untracked BOM items" -msgstr "" +msgstr "Deze Productieopdracht heeft geen bijbehorende niet getrackte BOM artikelen" #: build/templates/build/detail.html:229 msgid "Incomplete Build Outputs" @@ -1545,980 +1545,980 @@ msgstr "{name.title()} Bestand" msgid "Select {name} file to upload" msgstr "Kies {name} bestand om te uploaden" -#: common/models.py:365 +#: common/models.py:434 msgid "Settings key (must be unique - case insensitive)" msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig)" -#: common/models.py:367 +#: common/models.py:436 msgid "Settings value" msgstr "Instellingswaarde" -#: common/models.py:408 +#: common/models.py:477 msgid "Chosen value is not a valid option" msgstr "Gekozen waarde is geen geldige optie" -#: common/models.py:425 +#: common/models.py:494 msgid "Value must be a boolean value" msgstr "Waarde moet een booleaanse waarde zijn" -#: common/models.py:436 +#: common/models.py:505 msgid "Value must be an integer value" msgstr "Waarde moet een geheel getal zijn" -#: common/models.py:481 +#: common/models.py:550 msgid "Key string must be unique" msgstr "Sleutelreeks moet uniek zijn" -#: common/models.py:665 +#: common/models.py:734 msgid "No group" msgstr "Geen groep" -#: common/models.py:704 +#: common/models.py:773 msgid "Restart required" msgstr "Opnieuw opstarten vereist" -#: common/models.py:705 +#: common/models.py:774 msgid "A setting has been changed which requires a server restart" msgstr "Een instelling is gewijzigd waarvoor een herstart van de server vereist is" -#: common/models.py:712 +#: common/models.py:781 msgid "Server Instance Name" msgstr "ID Serverinstantie" -#: common/models.py:714 +#: common/models.py:783 msgid "String descriptor for the server instance" msgstr "Stringbeschrijving voor de server instantie" -#: common/models.py:718 +#: common/models.py:787 msgid "Use instance name" msgstr "Gebruik de instantie naam" -#: common/models.py:719 +#: common/models.py:788 msgid "Use the instance name in the title-bar" msgstr "Gebruik de naam van de instantie in de titelbalk" -#: common/models.py:725 +#: common/models.py:794 msgid "Restrict showing `about`" msgstr "Tonen `over` beperken" -#: common/models.py:726 +#: common/models.py:795 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:732 company/models.py:93 company/models.py:94 +#: common/models.py:801 company/models.py:93 company/models.py:94 msgid "Company name" msgstr "Bedrijfsnaam" -#: common/models.py:733 +#: common/models.py:802 msgid "Internal company name" msgstr "Interne bedrijfsnaam" -#: common/models.py:738 +#: common/models.py:807 msgid "Base URL" msgstr "Basis-URL" -#: common/models.py:739 +#: common/models.py:808 msgid "Base URL for server instance" msgstr "Basis URL voor serverinstantie" -#: common/models.py:745 +#: common/models.py:814 msgid "Default Currency" msgstr "Standaard Valuta" -#: common/models.py:746 +#: common/models.py:815 msgid "Default currency" msgstr "Standaard valuta" -#: common/models.py:752 +#: common/models.py:821 msgid "Download from URL" msgstr "Download van URL" -#: common/models.py:753 +#: common/models.py:822 msgid "Allow download of remote images and files from external URL" msgstr "Download van afbeeldingen en bestanden vanaf een externe URL toestaan" -#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:828 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Streepjescodeondersteuning" -#: common/models.py:760 +#: common/models.py:829 msgid "Enable barcode scanner support" msgstr "Streepjescodescanner ondersteuning inschakelen" -#: common/models.py:766 +#: common/models.py:835 msgid "Barcode Webcam Support" -msgstr "" +msgstr "Barcode Webcam Ondersteuning" -#: common/models.py:767 +#: common/models.py:836 msgid "Allow barcode scanning via webcam in browser" -msgstr "" +msgstr "Barcode via webcam scannen in browser toestaan" -#: common/models.py:773 +#: common/models.py:842 msgid "IPN Regex" msgstr "IPN Regex" -#: common/models.py:774 +#: common/models.py:843 msgid "Regular expression pattern for matching Part IPN" msgstr "Regulier expressiepatroon voor het overeenkomende Onderdeel IPN" -#: common/models.py:778 +#: common/models.py:847 msgid "Allow Duplicate IPN" msgstr "Duplicaat IPN toestaan" -#: common/models.py:779 +#: common/models.py:848 msgid "Allow multiple parts to share the same IPN" msgstr "Toestaan dat meerdere onderdelen dezelfde IPN gebruiken" -#: common/models.py:785 +#: common/models.py:854 msgid "Allow Editing IPN" msgstr "Bewerken IPN toestaan" -#: common/models.py:786 +#: common/models.py:855 msgid "Allow changing the IPN value while editing a part" msgstr "Sta het wijzigen van de IPN toe tijdens het bewerken van een onderdeel" -#: common/models.py:792 +#: common/models.py:861 msgid "Copy Part BOM Data" msgstr "Kopieer Onderdeel Stuklijstgegevens" -#: common/models.py:793 +#: common/models.py:862 msgid "Copy BOM data by default when duplicating a part" msgstr "Kopieer standaard stuklijstgegevens bij het dupliceren van een onderdeel" -#: common/models.py:799 +#: common/models.py:868 msgid "Copy Part Parameter Data" msgstr "Kopieer Onderdeel Parametergegevens" -#: common/models.py:800 +#: common/models.py:869 msgid "Copy parameter data by default when duplicating a part" msgstr "Parametergegevens standaard kopiëren bij het dupliceren van een onderdeel" -#: common/models.py:806 +#: common/models.py:875 msgid "Copy Part Test Data" msgstr "Kopieer Onderdeel Testdata" -#: common/models.py:807 +#: common/models.py:876 msgid "Copy test data by default when duplicating a part" msgstr "Testdata standaard kopiëren bij het dupliceren van een onderdeel" -#: common/models.py:813 +#: common/models.py:882 msgid "Copy Category Parameter Templates" msgstr "Kopiëer Categorieparameter Sjablonen" -#: common/models.py:814 +#: common/models.py:883 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:2360 report/models.py:157 +#: common/models.py:889 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "Sjabloon" -#: common/models.py:821 +#: common/models.py:890 msgid "Parts are templates by default" msgstr "Onderdelen zijn standaard sjablonen" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 +#: common/models.py:896 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" msgstr "Samenstelling" -#: common/models.py:828 +#: common/models.py:897 msgid "Parts can be assembled from other components by default" msgstr "Onderdelen kunnen standaard vanuit andere componenten worden samengesteld" -#: common/models.py:834 part/models.py:890 +#: common/models.py:903 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "Component" -#: common/models.py:835 +#: common/models.py:904 msgid "Parts can be used as sub-components by default" msgstr "Onderdelen kunnen standaard worden gebruikt als subcomponenten" -#: common/models.py:841 part/models.py:901 +#: common/models.py:910 part/models.py:901 msgid "Purchaseable" msgstr "Koopbaar" -#: common/models.py:842 +#: common/models.py:911 msgid "Parts are purchaseable by default" msgstr "Onderdelen kunnen standaard gekocht worden" -#: common/models.py:848 part/models.py:906 +#: common/models.py:917 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "Verkoopbaar" -#: common/models.py:849 +#: common/models.py:918 msgid "Parts are salable by default" msgstr "Onderdelen kunnen standaard verkocht worden" -#: common/models.py:855 part/models.py:896 +#: common/models.py:924 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "Volgbaar" -#: common/models.py:856 +#: common/models.py:925 msgid "Parts are trackable by default" msgstr "Onderdelen kunnen standaard gevolgd worden" -#: common/models.py:862 part/models.py:916 +#: common/models.py:931 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Virtueel" -#: common/models.py:863 +#: common/models.py:932 msgid "Parts are virtual by default" msgstr "Onderdelen zijn standaard virtueel" -#: common/models.py:869 +#: common/models.py:938 msgid "Show Import in Views" msgstr "Toon Import in Weergaven" -#: common/models.py:870 +#: common/models.py:939 msgid "Display the import wizard in some part views" msgstr "Toon de importwizard in sommige onderdelenweergaven" -#: common/models.py:876 +#: common/models.py:945 msgid "Show Price in Forms" msgstr "Toon Prijs in Formulieren" -#: common/models.py:877 +#: common/models.py:946 msgid "Display part price in some forms" msgstr "Toon onderdeelprijs in sommige formulieren" -#: common/models.py:888 +#: common/models.py:957 msgid "Show Price in BOM" msgstr "Prijs in Stuklijst Weergeven" -#: common/models.py:889 +#: common/models.py:958 msgid "Include pricing information in BOM tables" msgstr "Prijsinformatie in Stuklijsttabellen opnemen" -#: common/models.py:900 +#: common/models.py:969 msgid "Show Price History" msgstr "Toon Prijsgeschiedenis" -#: common/models.py:901 +#: common/models.py:970 msgid "Display historical pricing for Part" msgstr "Toon historische prijzen voor Onderdeel" -#: common/models.py:907 +#: common/models.py:976 msgid "Show related parts" msgstr "Verwante onderdelen tonen" -#: common/models.py:908 +#: common/models.py:977 msgid "Display related parts for a part" msgstr "Verwante onderdelen voor een onderdeel tonen" -#: common/models.py:914 +#: common/models.py:983 msgid "Create initial stock" msgstr "Eerste voorraad aanmaken" -#: common/models.py:915 +#: common/models.py:984 msgid "Create initial stock on part creation" msgstr "Aanmaken eerste voorraad bij het maken van onderdeel" -#: common/models.py:921 +#: common/models.py:990 msgid "Internal Prices" msgstr "Interne Prijzen" -#: common/models.py:922 +#: common/models.py:991 msgid "Enable internal prices for parts" msgstr "Inschakelen van interne prijzen voor onderdelen" -#: common/models.py:928 +#: common/models.py:997 msgid "Internal Price as BOM-Price" msgstr "Interne Prijs als Stuklijst Prijs" -#: common/models.py:929 +#: common/models.py:998 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "Gebruik de interne prijs (indien ingesteld) in stuklijst prijsberekeningen" -#: common/models.py:935 +#: common/models.py:1004 msgid "Part Name Display Format" msgstr "Onderdelennaam Weergaveopmaak" -#: common/models.py:936 +#: common/models.py:1005 msgid "Format to display the part name" msgstr "Opmaak om de onderdeelnaam weer te geven" -#: common/models.py:943 +#: common/models.py:1012 msgid "Enable Reports" msgstr "Activeer Rapportages" -#: common/models.py:944 +#: common/models.py:1013 msgid "Enable generation of reports" msgstr "Activeer het genereren van rapporten" -#: common/models.py:950 templates/stats.html:25 +#: common/models.py:1019 templates/stats.html:25 msgid "Debug Mode" msgstr "Foutopsporingsmodus" -#: common/models.py:951 +#: common/models.py:1020 msgid "Generate reports in debug mode (HTML output)" msgstr "Rapporten genereren in debug modus (HTML uitvoer)" -#: common/models.py:957 +#: common/models.py:1026 msgid "Page Size" msgstr "Paginagrootte" -#: common/models.py:958 +#: common/models.py:1027 msgid "Default page size for PDF reports" msgstr "Standaard paginagrootte voor PDF rapporten" -#: common/models.py:968 +#: common/models.py:1037 msgid "Enable Test Reports" -msgstr "" +msgstr "Activeer Testrapporten" -#: common/models.py:969 +#: common/models.py:1038 msgid "Enable generation of test reports" msgstr "Activeer het genereren van testrapporten" -#: common/models.py:975 +#: common/models.py:1044 msgid "Attach Test Reports" -msgstr "" +msgstr "Testrapporten Toevoegen" -#: common/models.py:976 +#: common/models.py:1045 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" +msgstr "Bij het afdrukken van een Testrapport, voeg een kopie van het Testrapport toe aan het bijbehorende Voorraadartikel" -#: common/models.py:982 +#: common/models.py:1051 msgid "Batch Code Template" msgstr "Batchcode Sjabloon" -#: common/models.py:983 +#: common/models.py:1052 msgid "Template for generating default batch codes for stock items" msgstr "Sjabloon voor het genereren van standaard batchcodes voor voorraadartikelen" -#: common/models.py:988 +#: common/models.py:1057 msgid "Stock Expiry" msgstr "Verlopen Voorraad" -#: common/models.py:989 +#: common/models.py:1058 msgid "Enable stock expiry functionality" msgstr "Verlopen voorraad functionaliteit inschakelen" -#: common/models.py:995 +#: common/models.py:1064 msgid "Sell Expired Stock" msgstr "Verkoop Verlopen Voorraad" -#: common/models.py:996 +#: common/models.py:1065 msgid "Allow sale of expired stock" msgstr "Verkoop verlopen voorraad toestaan" -#: common/models.py:1002 +#: common/models.py:1071 msgid "Stock Stale Time" msgstr "Voorraad Vervaltijd" -#: common/models.py:1003 +#: common/models.py:1072 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1005 +#: common/models.py:1074 msgid "days" msgstr "dagen" -#: common/models.py:1010 +#: common/models.py:1079 msgid "Build Expired Stock" -msgstr "" +msgstr "Produceer Verlopen Voorraad" -#: common/models.py:1011 +#: common/models.py:1080 msgid "Allow building with expired stock" -msgstr "" +msgstr "Sta productie met verlopen voorraad toe" -#: common/models.py:1017 +#: common/models.py:1086 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1018 +#: common/models.py:1087 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1024 +#: common/models.py:1093 msgid "Build Order Reference Prefix" -msgstr "" +msgstr "Productieopdracht Referentie Prefix" -#: common/models.py:1025 +#: common/models.py:1094 msgid "Prefix value for build order reference" -msgstr "" +msgstr "Prefix voor productieopdracht referentie" -#: common/models.py:1030 +#: common/models.py:1099 msgid "Build Order Reference Regex" -msgstr "" +msgstr "Productieopdracht Referentie Regex" -#: common/models.py:1031 +#: common/models.py:1100 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1035 +#: common/models.py:1104 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1036 +#: common/models.py:1105 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1041 +#: common/models.py:1110 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1042 +#: common/models.py:1111 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1048 +#: common/models.py:1117 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1049 +#: common/models.py:1118 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1055 +#: common/models.py:1124 msgid "Enable password forgot" -msgstr "" +msgstr "Wachtwoord vergeten functie inschakelen" -#: common/models.py:1056 +#: common/models.py:1125 msgid "Enable password forgot function on the login pages" -msgstr "" +msgstr "Wachtwoord vergeten functie inschakelen op de inlogpagina's" -#: common/models.py:1062 +#: common/models.py:1131 msgid "Enable registration" -msgstr "" +msgstr "Registratie inschakelen" -#: common/models.py:1063 +#: common/models.py:1132 msgid "Enable self-registration for users on the login pages" -msgstr "" +msgstr "Zelfregistratie voor gebruikers op de inlogpagina's inschakelen" -#: common/models.py:1069 +#: common/models.py:1138 msgid "Enable SSO" -msgstr "" +msgstr "SSO inschakelen" -#: common/models.py:1070 +#: common/models.py:1139 msgid "Enable SSO on the login pages" -msgstr "" +msgstr "SSO inschakelen op de inlogpagina's" -#: common/models.py:1076 +#: common/models.py:1145 msgid "Email required" -msgstr "" +msgstr "E-mailadres verplicht" -#: common/models.py:1077 +#: common/models.py:1146 msgid "Require user to supply mail on signup" -msgstr "" +msgstr "Vereis gebruiker om e-mailadres te registreren bij aanmelding" -#: common/models.py:1083 +#: common/models.py:1152 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1084 +#: common/models.py:1153 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1090 +#: common/models.py:1159 msgid "Mail twice" -msgstr "" +msgstr "E-mail twee keer" -#: common/models.py:1091 +#: common/models.py:1160 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1097 +#: common/models.py:1166 msgid "Password twice" msgstr "" -#: common/models.py:1098 +#: common/models.py:1167 msgid "On signup ask users twice for their password" -msgstr "" +msgstr "Laat gebruikers twee keer om hun wachtwoord vragen tijdens het aanmelden" -#: common/models.py:1104 +#: common/models.py:1173 msgid "Group on signup" -msgstr "" +msgstr "Groep bij aanmelding" -#: common/models.py:1105 +#: common/models.py:1174 msgid "Group to which new users are assigned on registration" -msgstr "" +msgstr "Groep waaraan nieuwe gebruikers worden toegewezen bij registratie" -#: common/models.py:1111 +#: common/models.py:1180 msgid "Enforce MFA" -msgstr "" +msgstr "MFA afdwingen" -#: common/models.py:1112 +#: common/models.py:1181 msgid "Users must use multifactor security." -msgstr "" +msgstr "Gebruikers moeten multifactor-beveiliging gebruiken." -#: common/models.py:1118 +#: common/models.py:1187 msgid "Check plugins on startup" -msgstr "" +msgstr "Controleer plugins bij het opstarten" -#: common/models.py:1119 +#: common/models.py:1188 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1127 +#: common/models.py:1196 msgid "Enable URL integration" -msgstr "" +msgstr "Activeer URL-integratie" -#: common/models.py:1128 +#: common/models.py:1197 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1135 +#: common/models.py:1204 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1136 +#: common/models.py:1205 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1143 +#: common/models.py:1212 msgid "Enable app integration" msgstr "" -#: common/models.py:1144 +#: common/models.py:1213 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1151 +#: common/models.py:1220 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1152 +#: common/models.py:1221 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1159 +#: common/models.py:1228 msgid "Enable event integration" msgstr "" -#: common/models.py:1160 +#: common/models.py:1229 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1177 common/models.py:1499 +#: common/models.py:1246 common/models.py:1568 msgid "Settings key (must be unique - case insensitive" msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig" -#: common/models.py:1199 +#: common/models.py:1268 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1200 +#: common/models.py:1269 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1275 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1207 +#: common/models.py:1276 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1213 +#: common/models.py:1282 msgid "Show latest parts" msgstr "Toon laatste onderdelen" -#: common/models.py:1214 +#: common/models.py:1283 msgid "Show latest parts on the homepage" msgstr "Toon laatste onderdelen op de startpagina" -#: common/models.py:1220 +#: common/models.py:1289 msgid "Recent Part Count" -msgstr "" +msgstr "Recente Voorraadtelling" -#: common/models.py:1221 +#: common/models.py:1290 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1227 +#: common/models.py:1296 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1228 +#: common/models.py:1297 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1303 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1235 +#: common/models.py:1304 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1241 +#: common/models.py:1310 msgid "Recent Stock Count" -msgstr "" +msgstr "Recente Voorraadtelling" -#: common/models.py:1242 +#: common/models.py:1311 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1248 +#: common/models.py:1317 msgid "Show low stock" -msgstr "" - -#: common/models.py:1249 -msgid "Show low stock items on the homepage" -msgstr "" - -#: common/models.py:1255 -msgid "Show depleted stock" -msgstr "" - -#: common/models.py:1256 -msgid "Show depleted stock items on the homepage" -msgstr "" - -#: common/models.py:1262 -msgid "Show needed stock" -msgstr "" - -#: common/models.py:1263 -msgid "Show stock items needed for builds on the homepage" -msgstr "" - -#: common/models.py:1269 -msgid "Show expired stock" -msgstr "" - -#: common/models.py:1270 -msgid "Show expired stock items on the homepage" -msgstr "" - -#: common/models.py:1276 -msgid "Show stale stock" -msgstr "" - -#: common/models.py:1277 -msgid "Show stale stock items on the homepage" -msgstr "" - -#: common/models.py:1283 -msgid "Show pending builds" -msgstr "" - -#: common/models.py:1284 -msgid "Show pending builds on the homepage" -msgstr "" - -#: common/models.py:1290 -msgid "Show overdue builds" -msgstr "" - -#: common/models.py:1291 -msgid "Show overdue builds on the homepage" -msgstr "" - -#: common/models.py:1297 -msgid "Show outstanding POs" -msgstr "" - -#: common/models.py:1298 -msgid "Show outstanding POs on the homepage" -msgstr "" - -#: common/models.py:1304 -msgid "Show overdue POs" -msgstr "" - -#: common/models.py:1305 -msgid "Show overdue POs on the homepage" -msgstr "" - -#: common/models.py:1311 -msgid "Show outstanding SOs" -msgstr "" - -#: common/models.py:1312 -msgid "Show outstanding SOs on the homepage" -msgstr "" +msgstr "Toon lage voorraad" #: common/models.py:1318 -msgid "Show overdue SOs" -msgstr "" - -#: common/models.py:1319 -msgid "Show overdue SOs on the homepage" -msgstr "" +msgid "Show low stock items on the homepage" +msgstr "Toon lage voorraad van artikelen op de startpagina" #: common/models.py:1324 -msgid "Enable label printing" -msgstr "" +msgid "Show depleted stock" +msgstr "Toon lege voorraad" #: common/models.py:1325 -msgid "Enable label printing from the web interface" -msgstr "" +msgid "Show depleted stock items on the homepage" +msgstr "Toon lege voorraad van artikelen op de startpagina" #: common/models.py:1331 +msgid "Show needed stock" +msgstr "Toon benodigde voorraad" + +#: common/models.py:1332 +msgid "Show stock items needed for builds on the homepage" +msgstr "Toon benodigde voorraad van artikelen voor productie op de startpagina" + +#: common/models.py:1338 +msgid "Show expired stock" +msgstr "Toon verlopen voorraad" + +#: common/models.py:1339 +msgid "Show expired stock items on the homepage" +msgstr "Toon verlopen voorraad van artikelen op de startpagina" + +#: common/models.py:1345 +msgid "Show stale stock" +msgstr "Toon verouderde voorraad" + +#: common/models.py:1346 +msgid "Show stale stock items on the homepage" +msgstr "Toon verouderde voorraad van artikelen op de startpagina" + +#: common/models.py:1352 +msgid "Show pending builds" +msgstr "Toon openstaande producties" + +#: common/models.py:1353 +msgid "Show pending builds on the homepage" +msgstr "Toon openstaande producties op de startpagina" + +#: common/models.py:1359 +msgid "Show overdue builds" +msgstr "Toon achterstallige productie" + +#: common/models.py:1360 +msgid "Show overdue builds on the homepage" +msgstr "Toon achterstallige producties op de startpagina" + +#: common/models.py:1366 +msgid "Show outstanding POs" +msgstr "Toon uitstaande PO's" + +#: common/models.py:1367 +msgid "Show outstanding POs on the homepage" +msgstr "Toon uitstaande PO's op de startpagina" + +#: common/models.py:1373 +msgid "Show overdue POs" +msgstr "Toon achterstallige PO's" + +#: common/models.py:1374 +msgid "Show overdue POs on the homepage" +msgstr "Toon achterstallige PO's op de startpagina" + +#: common/models.py:1380 +msgid "Show outstanding SOs" +msgstr "Toon uitstaande SO's" + +#: common/models.py:1381 +msgid "Show outstanding SOs on the homepage" +msgstr "Toon uitstaande SO's op de startpagina" + +#: common/models.py:1387 +msgid "Show overdue SOs" +msgstr "Toon achterstallige SO's" + +#: common/models.py:1388 +msgid "Show overdue SOs on the homepage" +msgstr "Toon achterstallige SO's op de startpagina" + +#: common/models.py:1393 +msgid "Enable label printing" +msgstr "Printen van labels Inschakelen" + +#: common/models.py:1394 +msgid "Enable label printing from the web interface" +msgstr "Printen van labels via de webinterface inschakelen" + +#: common/models.py:1400 msgid "Inline label display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1401 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1407 msgid "Inline report display" msgstr "" -#: common/models.py:1339 +#: common/models.py:1408 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1345 +#: common/models.py:1414 msgid "Search Parts" -msgstr "" +msgstr "Zoek Onderdelen" -#: common/models.py:1346 +#: common/models.py:1415 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1421 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1422 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1428 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1429 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1435 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1367 +#: common/models.py:1436 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1442 msgid "Search Categories" msgstr "" -#: common/models.py:1374 +#: common/models.py:1443 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1449 msgid "Search Stock" -msgstr "" +msgstr "Zoek in Voorraad" -#: common/models.py:1381 +#: common/models.py:1450 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1456 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1388 +#: common/models.py:1457 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1463 msgid "Search Locations" msgstr "" -#: common/models.py:1395 +#: common/models.py:1464 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1470 msgid "Search Companies" msgstr "" -#: common/models.py:1402 +#: common/models.py:1471 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1477 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1478 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1484 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1485 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1491 msgid "Search Sales Orders" -msgstr "" +msgstr "Verkooporders zoeken" -#: common/models.py:1423 +#: common/models.py:1492 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1498 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1430 +#: common/models.py:1499 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1505 msgid "Search Preview Results" msgstr "" -#: common/models.py:1437 +#: common/models.py:1506 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1512 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1513 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1519 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1451 +#: common/models.py:1520 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1457 +#: common/models.py:1526 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1458 +#: common/models.py:1527 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1464 +#: common/models.py:1533 msgid "Date Format" msgstr "" -#: common/models.py:1465 +#: common/models.py:1534 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1479 part/templates/part/detail.html:39 +#: common/models.py:1548 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1480 +#: common/models.py:1549 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1544 company/forms.py:37 +#: common/models.py:1608 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1551 company/serializers.py:319 +#: common/models.py:1615 company/serializers.py:319 #: company/templates/company/supplier_part.html:284 order/models.py:951 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:2095 msgid "Price" -msgstr "" +msgstr "Prijs" -#: common/models.py:1552 +#: common/models.py:1616 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1712 common/models.py:1890 +#: common/models.py:1776 common/models.py:1954 msgid "Endpoint" msgstr "" -#: common/models.py:1713 +#: common/models.py:1777 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1722 +#: common/models.py:1786 msgid "Name for this webhook" msgstr "" -#: common/models.py:1727 part/models.py:911 plugin/models.py:99 +#: common/models.py:1791 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 #: templates/js/translated/table_filters.js:439 msgid "Active" -msgstr "" +msgstr "Actief" -#: common/models.py:1728 +#: common/models.py:1792 msgid "Is this webhook active" msgstr "" -#: common/models.py:1742 +#: common/models.py:1806 msgid "Token" -msgstr "" +msgstr "Token" -#: common/models.py:1743 +#: common/models.py:1807 msgid "Token for access" -msgstr "" +msgstr "Token voor toegang" -#: common/models.py:1750 +#: common/models.py:1814 msgid "Secret" -msgstr "" +msgstr "Geheim" -#: common/models.py:1751 +#: common/models.py:1815 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1857 +#: common/models.py:1921 msgid "Message ID" -msgstr "" +msgstr "Bericht ID" -#: common/models.py:1858 +#: common/models.py:1922 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1866 +#: common/models.py:1930 msgid "Host" -msgstr "" +msgstr "Host" -#: common/models.py:1867 +#: common/models.py:1931 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1874 +#: common/models.py:1938 msgid "Header" -msgstr "" +msgstr "Koptekst" -#: common/models.py:1875 +#: common/models.py:1939 msgid "Header of this message" -msgstr "" +msgstr "Koptekst van dit bericht" -#: common/models.py:1881 +#: common/models.py:1945 msgid "Body" -msgstr "" +msgstr "Berichtinhoud" -#: common/models.py:1882 +#: common/models.py:1946 msgid "Body of this message" -msgstr "" +msgstr "Inhoud van dit bericht" -#: common/models.py:1891 +#: common/models.py:1955 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1896 +#: common/models.py:1960 msgid "Worked on" msgstr "" -#: common/models.py:1897 +#: common/models.py:1961 msgid "Was the work on this message finished?" msgstr "" @@ -2536,7 +2536,7 @@ msgstr "" #: order/views.py:102 part/views.py:116 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" -msgstr "" +msgstr "Upload Bestand" #: common/views.py:88 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 @@ -2566,11 +2566,11 @@ msgstr "" #: company/forms.py:16 part/forms.py:18 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" -msgstr "" +msgstr "URL" #: company/forms.py:17 part/forms.py:19 msgid "Image URL" -msgstr "" +msgstr "URL van afbeelding" #: company/models.py:98 msgid "Company description" @@ -2584,32 +2584,32 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:55 #: templates/js/translated/company.js:401 msgid "Website" -msgstr "" +msgstr "Website" #: company/models.py:106 msgid "Company website URL" -msgstr "" +msgstr "URL bedrijfswebsite" #: company/models.py:110 company/templates/company/company_base.html:118 msgid "Address" -msgstr "" +msgstr "Adres" #: company/models.py:111 msgid "Company address" -msgstr "" +msgstr "Bedrijfsadres" #: company/models.py:114 msgid "Phone number" -msgstr "" +msgstr "Telefoonnummer" #: company/models.py:115 msgid "Contact phone number" -msgstr "" +msgstr "Telefoonnummer voor contact" #: company/models.py:118 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" -msgstr "" +msgstr "Email" #: company/models.py:118 msgid "Contact email address" @@ -2617,11 +2617,11 @@ msgstr "Contact e-mailadres" #: company/models.py:121 company/templates/company/company_base.html:139 msgid "Contact" -msgstr "" +msgstr "Contact" #: company/models.py:122 msgid "Point of contact" -msgstr "" +msgstr "Contactpunt" #: company/models.py:124 msgid "Link to external company information" @@ -2633,7 +2633,7 @@ msgstr "Afbeelding" #: company/models.py:137 msgid "is customer" -msgstr "" +msgstr "is klant" #: company/models.py:137 msgid "Do you sell items to this company?" @@ -2657,22 +2657,22 @@ msgstr "Fabriceert dit bedrijf onderdelen?" #: company/models.py:145 company/serializers.py:325 #: company/templates/company/company_base.html:106 part/serializers.py:139 -#: part/serializers.py:170 stock/serializers.py:162 +#: part/serializers.py:170 stock/serializers.py:163 msgid "Currency" -msgstr "" +msgstr "Valuta" #: company/models.py:148 msgid "Default currency used for this company" -msgstr "" +msgstr "Standaardvaluta die gebruikt wordt voor dit bedrijf" #: company/models.py:245 company/models.py:478 stock/models.py:584 #: stock/templates/stock/item_base.html:148 templates/js/translated/bom.js:542 msgid "Base Part" -msgstr "" +msgstr "Basis onderdeel" #: company/models.py:249 company/models.py:482 msgid "Select part" -msgstr "" +msgstr "Onderdeel selecteren" #: company/models.py:260 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 @@ -2698,7 +2698,7 @@ msgstr "Fabrikant selecteren" #: templates/js/translated/company.js:922 templates/js/translated/order.js:1907 #: templates/js/translated/part.js:247 templates/js/translated/part.js:1025 msgid "MPN" -msgstr "" +msgstr "MPN" #: company/models.py:268 templates/js/translated/part.js:248 msgid "Manufacturer Part Number" @@ -2721,7 +2721,7 @@ msgstr "Fabrikant onderdeel" #: company/models.py:356 msgid "Parameter name" -msgstr "" +msgstr "Parameternaam" #: company/models.py:362 #: report/templates/report/inventree_test_report_base.html:95 @@ -2744,7 +2744,7 @@ msgstr "Eenheden" #: company/models.py:370 msgid "Parameter units" -msgstr "" +msgstr "Parameter eenheden" #: company/models.py:446 msgid "Linked manufacturer part must reference the same base part" @@ -2772,7 +2772,7 @@ msgstr "Leverancier selecteren" #: templates/js/translated/order.js:1894 templates/js/translated/part.js:228 #: templates/js/translated/part.js:1011 msgid "SKU" -msgstr "" +msgstr "SKU" #: company/models.py:495 templates/js/translated/part.js:229 msgid "Supplier stock keeping unit" @@ -2793,7 +2793,7 @@ msgstr "" #: company/models.py:519 company/templates/company/supplier_part.html:146 #: 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 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:388 msgid "Note" msgstr "Opmerking" @@ -2807,7 +2807,7 @@ msgstr "Minimale kosten (bijv. voorraadkosten)" #: company/models.py:525 company/templates/company/supplier_part.html:139 #: stock/models.py:608 stock/templates/stock/item_base.html:245 -#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1974 +#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1975 msgid "Packaging" msgstr "" @@ -2817,11 +2817,11 @@ msgstr "" #: company/models.py:527 part/models.py:1685 msgid "multiple" -msgstr "" +msgstr "meerdere" #: company/models.py:527 msgid "Order multiple" -msgstr "" +msgstr "Order meerdere" #: company/models.py:535 company/templates/company/supplier_part.html:94 #: templates/email/build_order_required_stock.html:19 @@ -2847,7 +2847,7 @@ msgstr "" #: company/models.py:669 msgid "last updated" -msgstr "" +msgstr "laatst bijgewerkt" #: company/serializers.py:68 msgid "Default currency used for this supplier" @@ -2855,18 +2855,18 @@ msgstr "" #: company/serializers.py:69 msgid "Currency Code" -msgstr "" +msgstr "Valutacode" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:177 templates/js/translated/company.js:374 msgid "Company" -msgstr "" +msgstr "Bedrijf" #: company/templates/company/company_base.html:22 #: templates/js/translated/order.js:537 msgid "Create Purchase Order" -msgstr "" +msgstr "Inkooporder aanmaken" #: company/templates/company/company_base.html:28 msgid "Company actions" @@ -2874,55 +2874,55 @@ msgstr "" #: company/templates/company/company_base.html:33 msgid "Edit company information" -msgstr "" +msgstr "Bedrijfsinformatie bewerken" #: company/templates/company/company_base.html:34 #: templates/js/translated/company.js:317 msgid "Edit Company" -msgstr "" +msgstr "Bedrijf bewerken" #: company/templates/company/company_base.html:38 msgid "Delete company" -msgstr "" +msgstr "Bedrijf verwijderen" #: company/templates/company/company_base.html:39 #: company/templates/company/company_base.html:162 msgid "Delete Company" -msgstr "" +msgstr "Bedrijf verwijderen" #: company/templates/company/company_base.html:56 #: part/templates/part/part_thumb.html:12 msgid "Upload new image" -msgstr "" +msgstr "Nieuwe afbeelding uploaden" #: company/templates/company/company_base.html:59 #: part/templates/part/part_thumb.html:14 msgid "Download image from URL" -msgstr "" +msgstr "Afbeelding downloaden van URL" #: company/templates/company/company_base.html:86 order/models.py:651 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:745 +#: stock/models.py:628 stock/serializers.py:785 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:381 templates/js/translated/order.js:2458 -#: templates/js/translated/stock.js:2493 +#: templates/js/translated/stock.js:2494 #: templates/js/translated/table_filters.js:419 msgid "Customer" -msgstr "" +msgstr "Klant" #: company/templates/company/company_base.html:111 msgid "Uses default currency" -msgstr "" +msgstr "Gebruik standaard valuta" #: company/templates/company/company_base.html:125 msgid "Phone" -msgstr "" +msgstr "Telefoon" #: company/templates/company/company_base.html:208 #: part/templates/part/part_base.html:465 msgid "Upload Image" -msgstr "" +msgstr "Afbeelding Uploaden" #: company/templates/company/detail.html:14 #: company/templates/company/manufacturer_part_sidebar.html:7 @@ -2944,17 +2944,17 @@ msgstr "" #: company/templates/company/detail.html:84 #: part/templates/part/category.html:176 msgid "Order parts" -msgstr "" +msgstr "Bestel onderdelen" #: company/templates/company/detail.html:41 #: company/templates/company/detail.html:89 msgid "Delete parts" -msgstr "" +msgstr "Verwijder onderdelen" #: company/templates/company/detail.html:42 #: company/templates/company/detail.html:90 msgid "Delete Parts" -msgstr "" +msgstr "Verwijder Onderdelen" #: company/templates/company/detail.html:61 templates/InvenTree/search.html:103 #: templates/js/translated/search.js:183 @@ -2985,17 +2985,17 @@ msgstr "" #: templates/js/translated/search.js:275 templates/navbar.html:50 #: users/models.py:41 msgid "Purchase Orders" -msgstr "" +msgstr "Inkooporders" #: company/templates/company/detail.html:121 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" -msgstr "" +msgstr "Nieuwe inkooporder aanmaken" #: company/templates/company/detail.html:122 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" -msgstr "" +msgstr "Nieuwe Inkooporder" #: company/templates/company/detail.html:143 #: company/templates/company/sidebar.html:20 @@ -3008,17 +3008,17 @@ msgstr "" #: templates/js/translated/search.js:299 templates/navbar.html:61 #: users/models.py:42 msgid "Sales Orders" -msgstr "" +msgstr "Verkooporders" #: company/templates/company/detail.html:147 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" -msgstr "" +msgstr "Nieuwe inkooporder aanmaken" #: company/templates/company/detail.html:148 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" -msgstr "" +msgstr "Nieuwe Verkooporder" #: company/templates/company/detail.html:168 #: templates/js/translated/build.js:1657 @@ -3043,7 +3043,7 @@ msgstr "Fabrikanten" #: company/templates/company/supplier_part.html:186 #: part/templates/part/detail.html:80 part/templates/part/part_base.html:80 msgid "Order part" -msgstr "" +msgstr "Order onderdeel" #: company/templates/company/manufacturer_part.html:39 #: templates/js/translated/company.js:667 @@ -3062,7 +3062,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:95 msgid "No manufacturer information available" -msgstr "" +msgstr "Geen fabrikanten informatie beschikbaar" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:39 @@ -3079,33 +3079,33 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 -#: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:33 +#: templates/js/translated/forms.js:442 templates/js/translated/helpers.js:33 #: users/models.py:219 msgid "Delete" -msgstr "" +msgstr "Verwijderen" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 #: part/templates/part/detail.html:179 part/templates/part/part_sidebar.html:8 msgid "Parameters" -msgstr "" +msgstr "Parameters" #: company/templates/company/manufacturer_part.html:170 #: part/templates/part/detail.html:184 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part.html:66 msgid "New Parameter" -msgstr "" +msgstr "Nieuwe Parameter" #: company/templates/company/manufacturer_part.html:183 msgid "Delete parameters" -msgstr "" +msgstr "Parameter verwijderen" #: company/templates/company/manufacturer_part.html:245 #: part/templates/part/detail.html:835 msgid "Add Parameter" -msgstr "" +msgstr "Parameter toevoegen" #: company/templates/company/sidebar.html:6 msgid "Manufactured Parts" @@ -3127,7 +3127,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:894 templates/js/translated/order.js:884 -#: templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:1932 msgid "Supplier Part" msgstr "" @@ -3140,7 +3140,7 @@ msgstr "" #: company/templates/company/supplier_part.html:187 #: part/templates/part/detail.html:81 msgid "Order Part" -msgstr "" +msgstr "Order Onderdeel" #: company/templates/company/supplier_part.html:45 #: company/templates/company/supplier_part.html:46 @@ -3163,7 +3163,7 @@ msgstr "" #: company/templates/company/supplier_part.html:112 msgid "No supplier information available" -msgstr "" +msgstr "Geen leveranciersinformatie beschikbaar" #: company/templates/company/supplier_part.html:165 #: company/templates/company/supplier_part_navbar.html:12 @@ -3173,23 +3173,23 @@ msgstr "" #: company/templates/company/supplier_part.html:168 #: part/templates/part/detail.html:23 stock/templates/stock/location.html:176 msgid "Create new stock item" -msgstr "" +msgstr "Nieuw voorraadartikel aanmaken" #: company/templates/company/supplier_part.html:169 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 #: templates/js/translated/stock.js:431 msgid "New Stock Item" -msgstr "" +msgstr "Nieuw Voorraadartikel" #: company/templates/company/supplier_part.html:182 #: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" -msgstr "" +msgstr "Leverancier Onderdelenorders" #: company/templates/company/supplier_part.html:207 #: part/templates/part/prices.html:10 msgid "Pricing Information" -msgstr "" +msgstr "Prijsinformatie" #: company/templates/company/supplier_part.html:212 #: company/templates/company/supplier_part.html:326 @@ -3221,7 +3221,7 @@ msgstr "" #: company/templates/company/supplier_part.html:301 msgid "Last updated" -msgstr "" +msgstr "Laatst bijgewerkt" #: company/templates/company/supplier_part.html:382 msgid "Update Part Availability" @@ -3235,14 +3235,14 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:43 #: templates/js/translated/bom.js:554 templates/js/translated/part.js:747 #: templates/js/translated/part.js:1295 templates/js/translated/part.js:1456 -#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1749 +#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1750 #: templates/navbar.html:31 msgid "Stock" -msgstr "" +msgstr "Voorraad" #: company/templates/company/supplier_part_navbar.html:22 msgid "Orders" -msgstr "" +msgstr "Orders" #: company/templates/company/supplier_part_navbar.html:26 #: company/templates/company/supplier_part_sidebar.html:9 @@ -3252,7 +3252,7 @@ msgstr "" #: company/templates/company/supplier_part_navbar.html:29 #: part/templates/part/part_sidebar.html:31 msgid "Pricing" -msgstr "" +msgstr "Prijzen" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:197 @@ -3262,9 +3262,9 @@ 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:2369 users/models.py:39 +#: templates/js/translated/stock.js:2370 users/models.py:39 msgid "Stock Items" -msgstr "" +msgstr "Voorraadartikelen" #: company/views.py:40 msgid "New Supplier" @@ -3277,23 +3277,23 @@ msgstr "Nieuwe fabrikant" #: company/views.py:51 templates/InvenTree/search.html:209 #: templates/navbar.html:60 msgid "Customers" -msgstr "" +msgstr "Klanten" #: company/views.py:52 msgid "New Customer" -msgstr "" +msgstr "Nieuwe Klant" #: company/views.py:59 templates/js/translated/search.js:252 msgid "Companies" -msgstr "" +msgstr "Bedrijven" #: company/views.py:60 msgid "New Company" -msgstr "" +msgstr "Nieuw Bedrijf" #: company/views.py:112 part/views.py:501 msgid "Download Image" -msgstr "" +msgstr "Afbeelding Downloaden" #: company/views.py:139 part/views.py:531 msgid "Image size exceeds maximum allowable size for download" @@ -3306,51 +3306,51 @@ msgstr "" #: company/views.py:155 part/views.py:547 msgid "Supplied URL is not a valid image file" -msgstr "" +msgstr "Opgegeven URL is geen geldig afbeeldingsbestand" #: label/models.py:102 msgid "Label name" -msgstr "" +msgstr "Labelnaam" #: label/models.py:109 msgid "Label description" -msgstr "" +msgstr "Label beschrijving" #: label/models.py:116 msgid "Label" -msgstr "" +msgstr "Label" #: label/models.py:117 msgid "Label template file" -msgstr "" +msgstr "Label template bestand" #: label/models.py:123 report/models.py:253 msgid "Enabled" -msgstr "" +msgstr "Ingeschakeld" #: label/models.py:124 msgid "Label template is enabled" -msgstr "" +msgstr "Label template is ingeschakeld" #: label/models.py:129 msgid "Width [mm]" -msgstr "" +msgstr "Breedte [mm]" #: label/models.py:130 msgid "Label width, specified in mm" -msgstr "" +msgstr "Label breedte, gespecificeerd in mm" #: label/models.py:136 msgid "Height [mm]" -msgstr "" +msgstr "Hoogte [mm]" #: label/models.py:137 msgid "Label height, specified in mm" -msgstr "" +msgstr "Label hoogte, gespecificeerd in mm" #: label/models.py:143 report/models.py:246 msgid "Filename Pattern" -msgstr "" +msgstr "Bestandsnaam Patroon" #: label/models.py:144 msgid "Pattern for generating label filenames" @@ -3363,7 +3363,7 @@ msgstr "" #: label/models.py:234 label/models.py:274 label/models.py:302 #: report/models.py:279 report/models.py:410 report/models.py:449 msgid "Filters" -msgstr "" +msgstr "Filters" #: label/models.py:273 msgid "Query filters (comma-separated list of key=value pairs" @@ -3375,35 +3375,35 @@ msgstr "" #: order/models.py:133 msgid "Order description" -msgstr "" +msgstr "Order beschrijving" #: order/models.py:135 order/models.py:1238 msgid "Link to external page" -msgstr "" +msgstr "Link naar externe pagina" #: order/models.py:143 msgid "Created By" -msgstr "" +msgstr "Aangemaakt Door" #: order/models.py:150 msgid "User or group responsible for this order" -msgstr "" +msgstr "Gebruiker of groep verantwoordelijk voor deze order" #: order/models.py:155 msgid "Order notes" -msgstr "" +msgstr "Ordernotities" #: order/models.py:280 order/models.py:641 msgid "Order reference" -msgstr "" +msgstr "Orderreferentie" #: order/models.py:285 order/models.py:656 msgid "Purchase order status" -msgstr "" +msgstr "Inkooporder status" #: order/models.py:295 msgid "Company from which the items are being ordered" -msgstr "" +msgstr "Bedrijf waar de artikelen van worden besteld" #: order/models.py:298 order/templates/order/order_base.html:124 #: templates/js/translated/order.js:1652 @@ -3412,19 +3412,19 @@ msgstr "" #: order/models.py:298 msgid "Supplier order reference code" -msgstr "" +msgstr "Order referentiecode van leverancier" #: order/models.py:305 msgid "received by" -msgstr "" +msgstr "ontvangen door" #: order/models.py:310 msgid "Issue Date" -msgstr "" +msgstr "Datum van uitgifte" #: order/models.py:311 msgid "Date order was issued" -msgstr "" +msgstr "Order uitgegeven op datum" #: order/models.py:316 msgid "Target Delivery Date" @@ -3432,11 +3432,11 @@ msgstr "" #: order/models.py:317 msgid "Expected date for order delivery. Order will be overdue after this date." -msgstr "" +msgstr "Verwachte datum voor levering van de bestelling. De bestelling wordt achterstallig na deze datum." #: order/models.py:323 msgid "Date order was completed" -msgstr "" +msgstr "Order voltooid op datum" #: order/models.py:359 msgid "Part supplier must match PO supplier" @@ -3456,52 +3456,52 @@ msgstr "" #: order/models.py:658 msgid "Customer order reference code" -msgstr "" +msgstr "Klant order referentiecode" #: order/models.py:663 msgid "Target date for order completion. Order will be overdue after this date." -msgstr "" +msgstr "Streefdatum voor voltooien order. De order is na deze datum achterstallig." #: order/models.py:666 order/models.py:1192 #: templates/js/translated/order.js:2505 templates/js/translated/order.js:2656 msgid "Shipment Date" -msgstr "" +msgstr "Verzenddatum" #: order/models.py:673 msgid "shipped by" -msgstr "" +msgstr "verzonden door" #: order/models.py:728 msgid "Order cannot be completed as no parts have been assigned" -msgstr "" +msgstr "Order kan niet worden voltooid omdat er geen onderdelen aangewezen zijn" #: order/models.py:732 msgid "Only a pending order can be marked as complete" -msgstr "" +msgstr "Alleen orders in afwachting kunnen als voltooid worden gemarkeerd" #: order/models.py:735 msgid "Order cannot be completed as there are incomplete shipments" -msgstr "" +msgstr "Bestelling kan niet worden voltooid omdat er onvolledige verzendingen aanwezig zijn" #: order/models.py:738 msgid "Order cannot be completed as there are incomplete line items" -msgstr "" +msgstr "Order kan niet worden voltooid omdat er onvolledige artikelen aanwezig zijn" #: order/models.py:912 msgid "Item quantity" -msgstr "" +msgstr "Hoeveelheid artikelen" #: order/models.py:918 msgid "Line item reference" -msgstr "" +msgstr "Artikelregel referentie" #: order/models.py:920 msgid "Line item notes" -msgstr "" +msgstr "Artikel notities" #: order/models.py:925 msgid "Target shipping date for this line item" -msgstr "" +msgstr "Verwachte verzenddatum van het artikel" #: order/models.py:943 msgid "Context" @@ -3527,7 +3527,7 @@ msgstr "" #: order/models.py:1186 order/models.py:1322 #: templates/js/translated/order.js:3112 msgid "Order" -msgstr "" +msgstr "Order" #: order/models.py:997 order/models.py:1076 #: order/templates/order/order_base.html:9 @@ -3536,10 +3536,10 @@ msgstr "" #: 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:968 templates/js/translated/stock.js:1908 -#: templates/js/translated/stock.js:2474 +#: templates/js/translated/part.js:968 templates/js/translated/stock.js:1909 +#: templates/js/translated/stock.js:2475 msgid "Purchase Order" -msgstr "" +msgstr "Inkooporder" #: order/models.py:1015 msgid "Supplier part" @@ -3557,8 +3557,8 @@ msgid "Number of items received" msgstr "" #: order/models.py:1030 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:1962 +#: stock/serializers.py:154 stock/templates/stock/item_base.html:191 +#: templates/js/translated/stock.js:1963 msgid "Purchase Price" msgstr "" @@ -3633,7 +3633,7 @@ msgstr "" #: order/models.py:1362 msgid "Cannot allocate stock item to a line with a different part" -msgstr "" +msgstr "Kan het voorraadartikel niet toewijzen aan een regel met een ander onderdeel" #: order/models.py:1364 msgid "Cannot allocate stock to a line without a part" @@ -3653,11 +3653,11 @@ msgstr "" #: order/models.py:1380 msgid "Sales order does not match shipment" -msgstr "" +msgstr "Verkooporder komt niet overeen met zending" #: order/models.py:1381 msgid "Shipment does not match sales order" -msgstr "" +msgstr "Verzending komt niet overeen met verkooporder" #: order/models.py:1389 msgid "Line" @@ -3670,7 +3670,7 @@ msgstr "" #: order/models.py:1398 msgid "Sales order shipment reference" -msgstr "" +msgstr "Verzendreferentie verkooporder" #: order/models.py:1410 templates/js/translated/notification.js:57 msgid "Item" @@ -3690,11 +3690,11 @@ msgstr "" #: order/serializers.py:192 msgid "Order cannot be cancelled" -msgstr "" +msgstr "Order kan niet worden geannuleerd" #: order/serializers.py:287 msgid "Order is not open" -msgstr "" +msgstr "Order is niet open" #: order/serializers.py:311 msgid "Purchase price currency" @@ -3706,23 +3706,23 @@ msgstr "" #: order/serializers.py:335 msgid "Purchase order must be specified" -msgstr "" +msgstr "Inkooporder moet worden gespecificeerd" #: order/serializers.py:341 msgid "Supplier must match purchase order" -msgstr "" +msgstr "De leverancier moet overeenkomen met de inkooporder" #: order/serializers.py:342 msgid "Purchase order must match supplier" -msgstr "" +msgstr "Inkooporder moet overeenkomen met de leverancier" #: order/serializers.py:406 order/serializers.py:1119 msgid "Line Item" -msgstr "" +msgstr "Artikel" #: order/serializers.py:412 msgid "Line item does not match purchase order" -msgstr "" +msgstr "Artikelregel komt niet overeen met inkooporder" #: order/serializers.py:422 order/serializers.py:526 msgid "Select destination location for received items" @@ -3754,7 +3754,7 @@ msgstr "" #: order/serializers.py:542 msgid "Line items must be provided" -msgstr "" +msgstr "Artikelen moeten worden opgegeven" #: order/serializers.py:559 msgid "Destination location must be specified" @@ -3774,7 +3774,7 @@ msgstr "" #: order/serializers.py:1008 order/serializers.py:1128 msgid "Line item is not associated with this order" -msgstr "" +msgstr "Artikelregel is niet gekoppeld aan deze bestelling" #: order/serializers.py:1030 msgid "Quantity must be positive" @@ -3790,7 +3790,7 @@ msgstr "" #: order/serializers.py:1166 order/serializers.py:1286 msgid "Shipment is not associated with this order" -msgstr "" +msgstr "Zending is niet gekoppeld aan deze bestelling" #: order/serializers.py:1216 msgid "No match found for the following serial numbers" @@ -3802,49 +3802,49 @@ msgstr "" #: order/tasks.py:26 msgid "Overdue Purchase Order" -msgstr "" +msgstr "Achterstallige inkooporder" #: order/tasks.py:31 #, python-brace-format msgid "Purchase order {po} is now overdue" -msgstr "" +msgstr "Inkooporder {po} is nu achterstallig" #: order/tasks.py:88 msgid "Overdue Sales Order" -msgstr "" +msgstr "Achterstallige Verkooporder" #: order/tasks.py:93 #, python-brace-format msgid "Sales order {so} is now overdue" -msgstr "" +msgstr "Verkooporder {so} is nu achterstallig" #: order/templates/order/order_base.html:33 msgid "Print purchase order report" -msgstr "" +msgstr "Print rapport inkooporder" #: order/templates/order/order_base.html:35 #: order/templates/order/sales_order_base.html:45 msgid "Export order to file" -msgstr "" +msgstr "Exporteer order naar bestand" #: order/templates/order/order_base.html:41 #: order/templates/order/sales_order_base.html:54 msgid "Order actions" -msgstr "" +msgstr "Order acties" #: order/templates/order/order_base.html:45 #: order/templates/order/sales_order_base.html:58 msgid "Edit order" -msgstr "" +msgstr "Order bewerken" #: order/templates/order/order_base.html:47 #: order/templates/order/sales_order_base.html:61 msgid "Cancel order" -msgstr "" +msgstr "Order annuleren" #: order/templates/order/order_base.html:52 msgid "Place order" -msgstr "" +msgstr "Order plaatsen" #: order/templates/order/order_base.html:56 msgid "Receive items" @@ -3857,27 +3857,27 @@ msgstr "" #: order/templates/order/order_base.html:60 msgid "Mark order as complete" -msgstr "" +msgstr "Order markeren als voltooid" #: order/templates/order/order_base.html:62 #: order/templates/order/sales_order_base.html:68 msgid "Complete Order" -msgstr "" +msgstr "Order Voltooien" #: order/templates/order/order_base.html:84 #: order/templates/order/sales_order_base.html:80 msgid "Order Reference" -msgstr "" +msgstr "Order Referentie" #: order/templates/order/order_base.html:89 #: order/templates/order/sales_order_base.html:85 msgid "Order Description" -msgstr "" +msgstr "Order Beschrijving" #: order/templates/order/order_base.html:94 #: order/templates/order/sales_order_base.html:90 msgid "Order Status" -msgstr "" +msgstr "Order Status" #: order/templates/order/order_base.html:117 msgid "No suppplier information available" @@ -3886,7 +3886,7 @@ msgstr "" #: order/templates/order/order_base.html:130 #: order/templates/order/sales_order_base.html:129 msgid "Completed Line Items" -msgstr "" +msgstr "Afgeronde artikelen" #: order/templates/order/order_base.html:136 #: order/templates/order/sales_order_base.html:135 @@ -3897,7 +3897,7 @@ msgstr "" #: order/templates/order/order_base.html:155 #: report/templates/report/inventree_build_order_base.html:122 msgid "Issued" -msgstr "" +msgstr "Uitgegeven" #: order/templates/order/order_base.html:183 #: order/templates/order/sales_order_base.html:190 @@ -3911,7 +3911,7 @@ msgstr "" #: order/templates/order/order_base.html:243 msgid "Edit Purchase Order" -msgstr "" +msgstr "Bewerk Inkooporder" #: order/templates/order/order_wizard/match_parts.html:12 #: part/templates/part/import_wizard/ajax_match_references.html:12 @@ -3946,26 +3946,26 @@ msgstr "" #: templates/js/translated/stock.js:789 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" -msgstr "" +msgstr "Rij verwijderen" #: order/templates/order/order_wizard/po_upload.html:8 msgid "Return to Orders" -msgstr "" +msgstr "Terug naar Orders" #: order/templates/order/order_wizard/po_upload.html:13 msgid "Upload File for Purchase Order" -msgstr "" +msgstr "Bestand uploaden voor Inkooporder" #: order/templates/order/order_wizard/po_upload.html:14 msgid "Order is already processed. Files cannot be uploaded." -msgstr "" +msgstr "Order is al verwerkt. Bestanden kunnen niet meer worden geüpload." #: order/templates/order/po_sidebar.html:5 #: order/templates/order/so_sidebar.html:5 #: report/templates/report/inventree_po_report.html:84 #: report/templates/report/inventree_so_report.html:85 msgid "Line Items" -msgstr "" +msgstr "Artikelen" #: order/templates/order/po_sidebar.html:7 msgid "Received Stock" @@ -3973,14 +3973,14 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:17 msgid "Purchase Order Items" -msgstr "" +msgstr "Inkooporder Artikelen" #: order/templates/order/purchase_order_detail.html:26 #: order/templates/order/purchase_order_detail.html:184 #: order/templates/order/sales_order_detail.html:22 #: order/templates/order/sales_order_detail.html:249 msgid "Add Line Item" -msgstr "" +msgstr "Artikel toevoegen" #: order/templates/order/purchase_order_detail.html:29 msgid "Receive selected items" @@ -4004,20 +4004,20 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:97 #: order/templates/order/sales_order_detail.html:144 msgid "Order Notes" -msgstr "" +msgstr "Ordernotities" #: order/templates/order/purchase_order_detail.html:235 msgid "Add Order Line" -msgstr "" +msgstr "Voeg Orderregel toe" #: order/templates/order/purchase_orders.html:30 #: order/templates/order/sales_orders.html:33 msgid "Print Order Reports" -msgstr "" +msgstr "Print Rapporten Order" #: order/templates/order/sales_order_base.html:43 msgid "Print sales order report" -msgstr "" +msgstr "Print verkooporderrapport" #: order/templates/order/sales_order_base.html:47 msgid "Print packing list" @@ -4031,11 +4031,11 @@ msgstr "" #: order/templates/order/sales_order_base.html:67 #: order/templates/order/sales_order_base.html:258 msgid "Complete Sales Order" -msgstr "" +msgstr "Voltooi Verkooporder" #: order/templates/order/sales_order_base.html:103 msgid "This Sales Order has not been fully allocated" -msgstr "" +msgstr "Deze Verkooporder is niet volledig toegewezen" #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/order.js:2471 @@ -4050,11 +4050,11 @@ msgstr "" #: order/templates/order/sales_order_base.html:230 msgid "Edit Sales Order" -msgstr "" +msgstr "Verkooporder bewerken" #: order/templates/order/sales_order_detail.html:17 msgid "Sales Order Items" -msgstr "" +msgstr "Verkoooporder Artikelen" #: order/templates/order/sales_order_detail.html:66 #: order/templates/order/so_sidebar.html:8 @@ -4065,7 +4065,7 @@ msgstr "" #: templates/attachment_table.html:6 templates/js/translated/bom.js:1047 #: templates/js/translated/build.js:1879 msgid "Actions" -msgstr "" +msgstr "Acties" #: order/templates/order/sales_order_detail.html:79 msgid "New Shipment" @@ -4077,7 +4077,7 @@ msgstr "" #: order/views.py:377 msgid "Sales order not found" -msgstr "" +msgstr "Verkooporder niet gevonden" #: order/views.py:383 msgid "Price not found" @@ -4095,19 +4095,19 @@ msgstr "" #: part/api.py:482 msgid "Incoming Purchase Order" -msgstr "" +msgstr "Binnenkomende Inkooporder" #: part/api.py:502 msgid "Outgoing Sales Order" -msgstr "" +msgstr "Uitgaande Verkooporder" #: part/api.py:520 msgid "Stock produced by Build Order" -msgstr "" +msgstr "Geproduceerde voorraad door Productieopdracht" #: part/api.py:552 msgid "Stock required for Build Order" -msgstr "" +msgstr "Voorraad vereist voor Productieopdracht" #: part/api.py:638 msgid "Valid" @@ -4121,19 +4121,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1011 +#: part/api.py:1058 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1015 +#: part/api.py:1062 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1030 +#: part/api.py:1077 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 +#: part/api.py:1108 part/api.py:1112 part/api.py:1127 part/api.py:1131 msgid "This field is required" msgstr "" @@ -4156,7 +4156,7 @@ msgstr "" #: templates/js/translated/part.js:1298 templates/js/translated/part.js:1470 #: templates/js/translated/part.js:1486 msgid "On Order" -msgstr "" +msgstr "In bestelling" #: part/forms.py:60 msgid "Input quantity for price calculation" @@ -4268,7 +4268,7 @@ msgstr "" #: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:735 templates/js/translated/part.js:1391 -#: templates/js/translated/stock.js:1721 +#: templates/js/translated/stock.js:1722 msgid "IPN" msgstr "" @@ -4430,15 +4430,15 @@ msgstr "" #: part/models.py:2312 msgid "Parameter template name must be unique" -msgstr "" +msgstr "De template van de parameter moet uniek zijn" #: part/models.py:2320 msgid "Parameter Name" -msgstr "" +msgstr "Parameternaam" #: part/models.py:2327 msgid "Parameter Units" -msgstr "" +msgstr "Parameter Eenheden" #: part/models.py:2358 msgid "Parent Part" @@ -4447,7 +4447,7 @@ msgstr "" #: part/models.py:2360 part/models.py:2408 part/models.py:2409 #: templates/InvenTree/settings/settings.html:226 msgid "Parameter Template" -msgstr "" +msgstr "Parameter Template" #: part/models.py:2362 msgid "Data" @@ -4455,7 +4455,7 @@ msgstr "" #: part/models.py:2362 msgid "Parameter Value" -msgstr "" +msgstr "Parameterwaarde" #: part/models.py:2413 templates/InvenTree/settings/settings.html:235 msgid "Default Value" @@ -4463,7 +4463,7 @@ msgstr "" #: part/models.py:2414 msgid "Default Parameter Value" -msgstr "" +msgstr "Standaard Parameter Waarde" #: part/models.py:2449 msgid "Part ID or part name" @@ -4611,7 +4611,7 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:164 msgid "Purchase currency of this stock item" msgstr "" @@ -4803,7 +4803,7 @@ msgstr "" #: part/templates/part/category.html:206 msgid "Part Parameters" -msgstr "" +msgstr "Onderdeel Parameters" #: part/templates/part/category.html:314 msgid "Create Part Category" @@ -4883,7 +4883,7 @@ msgstr "" #: part/templates/part/detail.html:183 msgid "Add new parameter" -msgstr "" +msgstr "Een parameter toevoegen" #: part/templates/part/detail.html:220 part/templates/part/part_sidebar.html:54 msgid "Related Parts" @@ -5152,12 +5152,12 @@ msgstr "" #: part/templates/part/part_base.html:215 #: stock/templates/stock/item_base.html:384 msgid "Allocated to Build Orders" -msgstr "" +msgstr "Toegewezen aan Productieopdracht" #: part/templates/part/part_base.html:224 #: stock/templates/stock/item_base.html:377 msgid "Allocated to Sales Orders" -msgstr "" +msgstr "Toegewezen aan verkooporders" #: part/templates/part/part_base.html:232 templates/js/translated/bom.js:1003 msgid "Can Build" @@ -5188,7 +5188,7 @@ msgstr "" #: part/templates/part/part_base.html:486 msgid "No matching images found" -msgstr "" +msgstr "Geen overeenkomende afbeeldingen gevonden" #: part/templates/part/part_base.html:574 msgid "Hide Part Details" @@ -5270,7 +5270,7 @@ msgstr "" #: part/templates/part/part_thumb.html:11 msgid "Select from existing images" -msgstr "" +msgstr "Selecteer uit bestaande afbeeldingen" #: part/templates/part/prices.html:19 msgid "Pricing ranges" @@ -5416,15 +5416,15 @@ msgstr "" #: part/views.py:575 msgid "Select Part Image" -msgstr "" +msgstr "Selecteer afbeelding onderdeel" #: part/views.py:601 msgid "Updated part image" -msgstr "" +msgstr "Afbeelding onderdeel bijgewerkt" #: part/views.py:604 msgid "Part image not found" -msgstr "" +msgstr "Afbeelding van onderdeel niet gevonden" #: part/views.py:693 msgid "Part Pricing" @@ -5683,7 +5683,7 @@ msgstr "" #: report/models.py:411 msgid "Purchase order query filters" -msgstr "" +msgstr "Filters inkooporder" #: report/models.py:450 msgid "Sales order query filters" @@ -5715,7 +5715,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:147 msgid "Required For" -msgstr "" +msgstr "Vereist Voor" #: report/templates/report/inventree_po_report.html:77 msgid "Supplier was deleted" @@ -5752,7 +5752,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2402 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2403 msgid "Date" msgstr "" @@ -5771,19 +5771,19 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: templates/js/translated/stock.js:606 templates/js/translated/stock.js:776 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2652 msgid "Serial" msgstr "" -#: stock/api.py:505 +#: stock/api.py:511 msgid "Quantity is required" msgstr "" -#: stock/api.py:512 +#: stock/api.py:518 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:537 +#: stock/api.py:543 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5891,7 +5891,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1879 msgid "Expiry Date" msgstr "" @@ -5969,7 +5969,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1347 stock/serializers.py:895 +#: stock/models.py:1347 stock/serializers.py:935 msgid "Duplicate stock items" msgstr "" @@ -6021,120 +6021,128 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:156 +#: stock/serializers.py:157 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:280 +#: stock/serializers.py:281 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:293 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:299 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 +#: stock/serializers.py:310 stock/serializers.py:892 stock/serializers.py:1125 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:316 +#: stock/serializers.py:317 msgid "Optional note field" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:327 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:344 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:383 +#: stock/serializers.py:384 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:397 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:404 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:440 +#: stock/serializers.py:441 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:445 stock/serializers.py:487 +#: stock/serializers.py:446 stock/serializers.py:527 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:482 +#: stock/serializers.py:480 +msgid "Select part to convert stock item into" +msgstr "" + +#: stock/serializers.py:491 +msgid "Selected part is not a valid option for conversion" +msgstr "" + +#: stock/serializers.py:522 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:707 +#: stock/serializers.py:747 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:711 +#: stock/serializers.py:751 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:755 msgid "Item is allocated to a build order" -msgstr "" +msgstr "Artikel is toegewezen aan een productieopdracht" -#: stock/serializers.py:746 +#: stock/serializers.py:786 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:752 +#: stock/serializers.py:792 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:760 +#: stock/serializers.py:800 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:770 stock/serializers.py:1001 +#: stock/serializers.py:810 stock/serializers.py:1041 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:859 +#: stock/serializers.py:899 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:864 +#: stock/serializers.py:904 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:865 +#: stock/serializers.py:905 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:870 +#: stock/serializers.py:910 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:871 +#: stock/serializers.py:911 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:881 +#: stock/serializers.py:921 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:963 +#: stock/serializers.py:1003 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:1031 msgid "Stock transaction notes" msgstr "" @@ -6171,7 +6179,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2795 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2796 msgid "Install Stock Item" msgstr "" @@ -6179,7 +6187,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1517 +#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1518 msgid "Add Test Result" msgstr "" @@ -6310,7 +6318,7 @@ msgstr "" #: stock/templates/stock/item_base.html:300 msgid "This stock item is allocated to Build Order" -msgstr "" +msgstr "Dit voorraadartikel is toegewezen aan Productieopdracht" #: stock/templates/stock/item_base.html:306 msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted." @@ -6318,7 +6326,7 @@ msgstr "" #: stock/templates/stock/item_base.html:328 msgid "previous page" -msgstr "" +msgstr "vorige pagina" #: stock/templates/stock/item_base.html:328 msgid "Navigate to previous serial number" @@ -6326,7 +6334,7 @@ msgstr "" #: stock/templates/stock/item_base.html:337 msgid "next page" -msgstr "" +msgstr "volgende pagina" #: stock/templates/stock/item_base.html:337 msgid "Navigate to next serial number" @@ -6366,7 +6374,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1894 +#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1895 msgid "Last Updated" msgstr "" @@ -6382,7 +6390,23 @@ msgstr "" msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:642 +#: stock/templates/stock/item_base.html:594 +msgid "Select one of the part variants listed below." +msgstr "" + +#: stock/templates/stock/item_base.html:597 +msgid "Warning" +msgstr "" + +#: stock/templates/stock/item_base.html:598 +msgid "This action cannot be easily undone" +msgstr "" + +#: stock/templates/stock/item_base.html:606 +msgid "Convert Stock Item" +msgstr "" + +#: stock/templates/stock/item_base.html:664 msgid "Return to Stock" msgstr "" @@ -6466,32 +6490,11 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:143 -msgid "Convert Stock Item" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:8 -#, python-format -msgid "This stock item is current an instance of %(part)s" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:9 -msgid "It can be converted to one of the part variants listed below." -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:13 -msgid "Warning" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:14 -msgid "This action cannot be easily undone" -msgstr "" - -#: stock/views.py:110 +#: stock/views.py:109 msgid "Stock Location QR code" msgstr "QR-code voor Voorraadlocatie" -#: stock/views.py:126 +#: stock/views.py:125 msgid "Stock Item QR Code" msgstr "" @@ -6501,15 +6504,15 @@ msgstr "" #: templates/403.html:15 msgid "You do not have permission to view this page." -msgstr "" +msgstr "U heeft geen rechten om deze pagina te bekijken." #: templates/404.html:6 templates/404.html:12 msgid "Page Not Found" -msgstr "" +msgstr "Pagina niet gevonden" #: templates/404.html:15 msgid "The requested page does not exist" -msgstr "" +msgstr "De opgevraagde pagina bestaat niet" #: templates/500.html:6 templates/500.html:12 msgid "Internal Server Error" @@ -6562,7 +6565,7 @@ msgstr "" #: templates/InvenTree/index.html:178 msgid "Required for Build Orders" -msgstr "" +msgstr "Vereist voor Productieopdracht" #: templates/InvenTree/index.html:191 msgid "Expired Stock" @@ -6574,11 +6577,11 @@ msgstr "" #: templates/InvenTree/index.html:224 msgid "Build Orders In Progress" -msgstr "" +msgstr "Productieopdrachten in Uitvoering" #: templates/InvenTree/index.html:235 msgid "Overdue Build Orders" -msgstr "" +msgstr "Achterstallige Productieopdrachten" #: templates/InvenTree/index.html:255 msgid "Outstanding Purchase Orders" @@ -6656,7 +6659,7 @@ msgstr "" #: templates/InvenTree/settings/build.html:8 msgid "Build Order Settings" -msgstr "" +msgstr "Instellingen Productieopdracht" #: templates/InvenTree/settings/category.html:7 msgid "Category Settings" @@ -6784,7 +6787,7 @@ msgstr "" #: templates/InvenTree/settings/plugin.html:133 #: templates/js/translated/notification.js:77 msgid "Message" -msgstr "" +msgstr "Bericht" #: templates/InvenTree/settings/plugin_settings.html:10 #, python-format @@ -6817,7 +6820,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:86 msgid "This plugin was installed as a package" -msgstr "" +msgstr "Deze plugin is als pakket geïnstalleerd" #: templates/InvenTree/settings/plugin_settings.html:88 msgid "This plugin was found in a local server path" @@ -6843,7 +6846,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:112 msgid "Commit Message" -msgstr "" +msgstr "Bericht indienen" #: templates/InvenTree/settings/plugin_settings.html:117 msgid "Sign Status" @@ -6950,7 +6953,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:13 msgid "Home Page" -msgstr "" +msgstr "Startpagina" #: templates/InvenTree/settings/sidebar.html:15 #: templates/InvenTree/settings/user_search.html:9 @@ -7168,11 +7171,11 @@ msgstr "" #: templates/InvenTree/settings/user_display.html:56 msgid "Language Settings" -msgstr "" +msgstr "Taalinstellingen" #: templates/InvenTree/settings/user_display.html:65 msgid "Select language" -msgstr "" +msgstr "Taal selecteren" #: templates/InvenTree/settings/user_display.html:81 #, python-format @@ -7185,11 +7188,11 @@ msgstr "" #: templates/InvenTree/settings/user_display.html:90 msgid "Set Language" -msgstr "" +msgstr "Taal instellen" #: templates/InvenTree/settings/user_display.html:93 msgid "Some languages are not complete" -msgstr "" +msgstr "Een aantal talen zijn nog niet compleet" #: templates/InvenTree/settings/user_display.html:95 msgid "Show only sufficent" @@ -7214,7 +7217,7 @@ msgstr "" #: templates/InvenTree/settings/user_homepage.html:9 msgid "Home Page Settings" -msgstr "" +msgstr "Startpagina Instellingen" #: templates/InvenTree/settings/user_labels.html:9 msgid "Label Settings" @@ -7303,7 +7306,7 @@ 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 +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:633 msgid "Confirm" msgstr "Bevestigen" @@ -7497,16 +7500,16 @@ msgstr "" #: templates/email/build_order_required_stock.html:7 msgid "Stock is required for the following build order" -msgstr "" +msgstr "Voorraad is vereist voor de volgende productieopdracht" #: templates/email/build_order_required_stock.html:8 #, python-format msgid "Build order %(build)s - building %(quantity)s x %(part)s" -msgstr "" +msgstr "Productieopdracht %(build)s - In productie %(quantity)s x %(part)s" #: templates/email/build_order_required_stock.html:10 msgid "Click on the following link to view this build order" -msgstr "" +msgstr "Klik op de volgende link om deze productieopdracht te bekijken" #: templates/email/build_order_required_stock.html:14 msgid "The following parts are low on required stock" @@ -7515,7 +7518,7 @@ msgstr "" #: templates/email/build_order_required_stock.html:18 #: templates/js/translated/bom.js:1419 msgid "Required Quantity" -msgstr "" +msgstr "Vereiste Hoeveelheid" #: templates/email/build_order_required_stock.html:38 #: templates/email/low_stock_notification.html:31 @@ -7535,19 +7538,19 @@ msgstr "" #: 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 "" +msgstr "Klik op de volgende link om deze order te bekijken" #: templates/image_download.html:8 msgid "Specify URL for downloading image" -msgstr "" +msgstr "Specificeer URL om afbeelding te downloaden" #: templates/image_download.html:11 msgid "Must be a valid image URL" -msgstr "" +msgstr "Moet een geldige afbeeldings-URL zijn" #: templates/image_download.html:12 msgid "Remote server must be accessible" -msgstr "" +msgstr "Externe server moet toegankelijk zijn" #: templates/image_download.html:13 msgid "Remote image must not exceed maximum allowable file size" @@ -7856,7 +7859,7 @@ msgstr "" #: templates/js/translated/bom.js:900 templates/js/translated/build.js:1813 #: templates/js/translated/order.js:3562 msgid "No Stock Available" -msgstr "" +msgstr "Geen Voorraad Aanwezig" #: templates/js/translated/bom.js:904 templates/js/translated/build.js:1817 msgid "Includes variant and substitute stock" @@ -7881,7 +7884,7 @@ msgstr "" #: templates/js/translated/bom.js:944 msgid "Purchase Price Average" -msgstr "" +msgstr "Gemiddelde inkoopprijs" #: templates/js/translated/bom.js:993 templates/js/translated/bom.js:1084 msgid "View BOM" @@ -7921,15 +7924,15 @@ msgstr "" #: templates/js/translated/build.js:87 msgid "Edit Build Order" -msgstr "" +msgstr "Bewerk Productieopdracht" #: templates/js/translated/build.js:121 msgid "Create Build Order" -msgstr "" +msgstr "Maak Productieopdracht" #: templates/js/translated/build.js:134 msgid "Cancel Build Order" -msgstr "" +msgstr "Annuleer Productieopdracht" #: templates/js/translated/build.js:143 msgid "Are you sure you wish to cancel this build?" @@ -7937,15 +7940,15 @@ msgstr "Weet je zeker dat je de productie wilt annuleren?" #: templates/js/translated/build.js:149 msgid "Stock items have been allocated to this build order" -msgstr "" +msgstr "Voorraadartikelen zijn toegewezen aan deze productieopdracht" #: templates/js/translated/build.js:156 msgid "There are incomplete outputs remaining for this build order" -msgstr "" +msgstr "Er staan onvolledige outputs open voor deze productieopdracht" #: templates/js/translated/build.js:185 msgid "Build order is ready to be completed" -msgstr "" +msgstr "Productieopdracht is gereed om als voltooid te markeren" #: templates/js/translated/build.js:190 msgid "Build Order is incomplete" @@ -7953,7 +7956,7 @@ msgstr "Productieopdracht is onvolledig" #: templates/js/translated/build.js:218 msgid "Complete Build Order" -msgstr "" +msgstr "Voltooi Productieopdracht" #: templates/js/translated/build.js:259 templates/js/translated/stock.js:92 #: templates/js/translated/stock.js:210 @@ -8031,7 +8034,7 @@ msgstr "Verwijder Productieuitvoeren" #: templates/js/translated/build.js:716 msgid "No build order allocations found" -msgstr "" +msgstr "Geen productieopdracht allocaties gevonden" #: templates/js/translated/build.js:754 msgid "Location not specified" @@ -8085,11 +8088,11 @@ msgstr "" #: templates/js/translated/build.js:1807 templates/js/translated/order.js:3568 msgid "Insufficient stock available" -msgstr "" +msgstr "Onvoldoende voorraad beschikbaar" #: templates/js/translated/build.js:1809 templates/js/translated/order.js:3566 msgid "Sufficient stock available" -msgstr "" +msgstr "Genoeg voorraad beschikbaar" #: templates/js/translated/build.js:1838 templates/js/translated/build.js:2083 #: templates/js/translated/build.js:2656 templates/js/translated/order.js:3579 @@ -8098,11 +8101,11 @@ msgstr "Toegewezen" #: templates/js/translated/build.js:1886 templates/js/translated/order.js:3659 msgid "Build stock" -msgstr "" +msgstr "Productie voorraad" #: templates/js/translated/build.js:1890 templates/stock_table.html:50 msgid "Order stock" -msgstr "" +msgstr "Voorraad order" #: templates/js/translated/build.js:1893 templates/js/translated/order.js:3652 msgid "Allocate stock" @@ -8136,15 +8139,15 @@ msgstr "Selecteer bron locatie (laat het veld leeg om iedere locatie te gebruike #: templates/js/translated/build.js:2099 msgid "Allocate Stock Items to Build Order" -msgstr "" +msgstr "Voorraadartikelen toewijzen aan Productieopdracht" #: templates/js/translated/build.js:2110 templates/js/translated/order.js:2905 msgid "No matching stock locations" -msgstr "" +msgstr "Geen overeenkomende voorraadlocaties" #: templates/js/translated/build.js:2182 templates/js/translated/order.js:2982 msgid "No matching stock items" -msgstr "" +msgstr "Geen overeenkomende voorraadartikelen" #: templates/js/translated/build.js:2279 msgid "Automatic Stock Allocation" @@ -8152,7 +8155,7 @@ msgstr "" #: templates/js/translated/build.js:2280 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" -msgstr "" +msgstr "Voorraadartikelen zullen automatisch worden toegewezen aan de productieopdracht, volgens de aangegeven richtlijnen" #: templates/js/translated/build.js:2282 msgid "If a location is specifed, stock will only be allocated from that location" @@ -8175,20 +8178,20 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2447 templates/js/translated/part.js:1383 -#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1681 -#: templates/js/translated/stock.js:2339 +#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:2340 msgid "Select" msgstr "" #: templates/js/translated/build.js:2467 msgid "Build order is overdue" -msgstr "" +msgstr "Productieopdracht is achterstallig" #: templates/js/translated/build.js:2495 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2581 +#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2582 msgid "No user information" msgstr "" @@ -8258,7 +8261,7 @@ msgstr "" #: templates/js/translated/company.js:541 msgid "Delete Parameters" -msgstr "" +msgstr "Parameter verwijderen" #: templates/js/translated/company.js:582 msgid "No manufacturer parts found" @@ -8278,23 +8281,23 @@ msgstr "Samengesteld onderdeel" #: templates/js/translated/company.js:734 templates/js/translated/part.js:826 msgid "No parameters found" -msgstr "" +msgstr "Geen parameters gevonden" #: templates/js/translated/company.js:771 templates/js/translated/part.js:868 msgid "Edit parameter" -msgstr "" +msgstr "Parameter bewerken" #: templates/js/translated/company.js:772 templates/js/translated/part.js:869 msgid "Delete parameter" -msgstr "" +msgstr "Parameter verwijderen" #: templates/js/translated/company.js:791 templates/js/translated/part.js:886 msgid "Edit Parameter" -msgstr "" +msgstr "Parameter bewerken" #: templates/js/translated/company.js:802 templates/js/translated/part.js:898 msgid "Delete Parameter" -msgstr "" +msgstr "Parameter verwijderen" #: templates/js/translated/company.js:841 msgid "No supplier parts found" @@ -8342,61 +8345,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:353 templates/js/translated/forms.js:368 -#: templates/js/translated/forms.js:382 templates/js/translated/forms.js:396 +#: templates/js/translated/forms.js:356 templates/js/translated/forms.js:371 +#: templates/js/translated/forms.js:385 templates/js/translated/forms.js:399 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:355 +#: templates/js/translated/forms.js:358 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:370 +#: templates/js/translated/forms.js:373 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:384 +#: templates/js/translated/forms.js:387 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:398 +#: templates/js/translated/forms.js:401 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:656 +#: templates/js/translated/forms.js:659 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:757 +#: templates/js/translated/forms.js:760 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1249 templates/modals.html:19 +#: templates/js/translated/forms.js:1252 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1682 +#: templates/js/translated/forms.js:1685 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1897 templates/search.html:29 +#: templates/js/translated/forms.js:1900 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2150 +#: templates/js/translated/forms.js:2153 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2628 +#: templates/js/translated/forms.js:2631 msgid "Select Columns" msgstr "" @@ -8569,7 +8572,7 @@ msgstr "" #: templates/js/translated/notification.js:44 msgid "Age" -msgstr "" +msgstr "Leeftijd" #: templates/js/translated/notification.js:322 msgid "Mark as unread" @@ -8617,51 +8620,51 @@ msgstr "" #: templates/js/translated/order.js:278 msgid "Complete Purchase Order" -msgstr "" +msgstr "Voltooi Inkooporder" #: templates/js/translated/order.js:284 msgid "Mark this order as complete?" -msgstr "" +msgstr "Order markeren als voltooid?" #: templates/js/translated/order.js:290 msgid "All line items have been received" -msgstr "" +msgstr "Alle artikelen zijn ontvangen" #: templates/js/translated/order.js:295 msgid "This order has line items which have not been marked as received." -msgstr "" +msgstr "Deze order heeft artikelen die niet zijn gemarkeerd als ontvangen." #: templates/js/translated/order.js:296 msgid "Completing this order means that the order and line items will no longer be editable." -msgstr "" +msgstr "Na het voltooien van de order zijn de order en de artikelen langer bewerkbaar." #: templates/js/translated/order.js:319 msgid "Cancel Purchase Order" -msgstr "" +msgstr "Inkooporder annuleren" #: templates/js/translated/order.js:324 msgid "Are you sure you wish to cancel this purchase order?" -msgstr "" +msgstr "Weet u zeker dat u deze inkooporder wilt annuleren?" #: templates/js/translated/order.js:330 msgid "This purchase order can not be cancelled" -msgstr "" +msgstr "Deze inkooporder kan niet geannuleerd worden" #: templates/js/translated/order.js:353 msgid "Issue Purchase Order" -msgstr "" +msgstr "Geef inkooporder uit" #: templates/js/translated/order.js:358 msgid "After placing this purchase order, line items will no longer be editable." -msgstr "" +msgstr "Na het plaatsen van de inkooporder zijn de artikelen niet meer bewerkbaar." #: templates/js/translated/order.js:380 msgid "Cancel Sales Order" -msgstr "" +msgstr "Verkooporder annuleren" #: templates/js/translated/order.js:385 msgid "Cancelling this order means that the order will no longer be editable." -msgstr "" +msgstr "Na annulering van de order kan de order niet meer bewerkt worden." #: templates/js/translated/order.js:439 msgid "Create New Shipment" @@ -8673,11 +8676,11 @@ msgstr "" #: templates/js/translated/order.js:489 msgid "Create Sales Order" -msgstr "" +msgstr "Verkooporder aanmaken" #: templates/js/translated/order.js:706 msgid "Export Order" -msgstr "" +msgstr "Export Order" #: templates/js/translated/order.js:757 msgid "At least one purchaseable part must be selected" @@ -8685,7 +8688,7 @@ msgstr "" #: templates/js/translated/order.js:782 msgid "Quantity to order" -msgstr "" +msgstr "Te bestellen aantal" #: templates/js/translated/order.js:791 msgid "New supplier part" @@ -8693,11 +8696,11 @@ msgstr "" #: templates/js/translated/order.js:809 msgid "New purchase order" -msgstr "" +msgstr "Nieuwe inkooporder" #: templates/js/translated/order.js:842 msgid "Add to purchase order" -msgstr "" +msgstr "Toevoegen aan inkooporder" #: templates/js/translated/order.js:951 msgid "No matching supplier parts" @@ -8705,15 +8708,15 @@ msgstr "" #: templates/js/translated/order.js:966 msgid "No matching purchase orders" -msgstr "" +msgstr "Geen overeenkomende inkooporders" #: templates/js/translated/order.js:1122 msgid "Select Line Items" -msgstr "" +msgstr "Selecteer artikelen" #: templates/js/translated/order.js:1123 msgid "At least one line item must be selected" -msgstr "" +msgstr "Ten minste één artikel moet worden geselecteerd" #: templates/js/translated/order.js:1143 templates/js/translated/order.js:1242 msgid "Add batch code" @@ -8727,17 +8730,17 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2142 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2143 msgid "Stock Status" msgstr "" #: templates/js/translated/order.js:1316 msgid "Order Code" -msgstr "" +msgstr "Order Code" #: templates/js/translated/order.js:1317 msgid "Ordered" -msgstr "" +msgstr "Besteld" #: templates/js/translated/order.js:1319 msgid "Quantity to Receive" @@ -8749,15 +8752,15 @@ msgstr "" #: templates/js/translated/order.js:1339 msgid "Receive Purchase Order Items" -msgstr "" +msgstr "Ontvang Artikelen Inkooporder" #: templates/js/translated/order.js:1602 templates/js/translated/part.js:939 msgid "No purchase orders found" -msgstr "" +msgstr "Geen inkooporder gevonden" #: templates/js/translated/order.js:1635 templates/js/translated/order.js:2448 msgid "Order is overdue" -msgstr "" +msgstr "Order is achterstallig" #: templates/js/translated/order.js:1685 templates/js/translated/order.js:2513 #: templates/js/translated/order.js:2643 @@ -8766,19 +8769,19 @@ msgstr "" #: templates/js/translated/order.js:1783 templates/js/translated/order.js:3711 msgid "Duplicate Line Item" -msgstr "" +msgstr "Artikel dupliceren" #: templates/js/translated/order.js:1800 templates/js/translated/order.js:3733 msgid "Edit Line Item" -msgstr "" +msgstr "Artikel wijzigen" #: templates/js/translated/order.js:1813 templates/js/translated/order.js:3744 msgid "Delete Line Item" -msgstr "" +msgstr "Artikel verwijderen" #: templates/js/translated/order.js:1856 msgid "No line items found" -msgstr "" +msgstr "Geen artikelen gevonden" #: templates/js/translated/order.js:1883 templates/js/translated/order.js:3442 msgid "Total" @@ -8798,23 +8801,23 @@ msgstr "" #: templates/js/translated/order.js:1993 templates/js/translated/order.js:3525 #: templates/js/translated/part.js:1048 msgid "This line item is overdue" -msgstr "" +msgstr "Dit artikel is achterstallig" #: templates/js/translated/order.js:2052 templates/js/translated/part.js:1094 msgid "Receive line item" -msgstr "" +msgstr "Artikel ontvangen" #: templates/js/translated/order.js:2056 templates/js/translated/order.js:3665 msgid "Duplicate line item" -msgstr "" +msgstr "Artikel dupliceren" #: templates/js/translated/order.js:2057 templates/js/translated/order.js:3666 msgid "Edit line item" -msgstr "" +msgstr "Artikel bewerken" #: templates/js/translated/order.js:2058 templates/js/translated/order.js:3670 msgid "Delete line item" -msgstr "" +msgstr "Artikel verwijderen" #: templates/js/translated/order.js:2204 templates/js/translated/order.js:4043 msgid "Duplicate line" @@ -8846,7 +8849,7 @@ msgstr "" #: templates/js/translated/order.js:2392 msgid "No sales orders found" -msgstr "" +msgstr "Geen verkooporder gevonden" #: templates/js/translated/order.js:2462 msgid "Invalid Customer" @@ -8902,11 +8905,11 @@ msgstr "Bevestig de voorraadtoewijzing" #: templates/js/translated/order.js:2893 msgid "Allocate Stock Items to Sales Order" -msgstr "" +msgstr "Voorraadartikel toewijzen aan Verkooporder" #: templates/js/translated/order.js:3101 msgid "No sales order allocations found" -msgstr "" +msgstr "Geen verkooporder toewijzingen gevonden" #: templates/js/translated/order.js:3182 msgid "Edit Stock Allocation" @@ -8921,7 +8924,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1597 +#: templates/js/translated/stock.js:1598 msgid "Shipped to customer" msgstr "" @@ -8959,7 +8962,7 @@ msgstr "" #: templates/js/translated/order.js:3882 msgid "No matching line items" -msgstr "" +msgstr "Geen overeenkomende artikelen" #: templates/js/translated/order.js:4118 msgid "No matching lines" @@ -9023,11 +9026,11 @@ msgstr "" #: templates/js/translated/part.js:266 msgid "Copy Image" -msgstr "" +msgstr "Afbeelding kopiëren" #: templates/js/translated/part.js:267 msgid "Copy image from original part" -msgstr "" +msgstr "Afbeelding kopiëren van het oorspronkelijke onderdeel" #: templates/js/translated/part.js:275 msgid "Copy bill of materials from original part" @@ -9035,11 +9038,11 @@ msgstr "" #: templates/js/translated/part.js:282 msgid "Copy Parameters" -msgstr "" +msgstr "Parameters kopiëren" #: templates/js/translated/part.js:283 msgid "Copy parameter data from original part" -msgstr "" +msgstr "Parameter data kopiëren van het originele onderdeel" #: templates/js/translated/part.js:296 msgid "Parent part category" @@ -9123,7 +9126,7 @@ msgstr "" #: templates/js/translated/part.js:518 msgid "Validating the BOM will mark each line item as valid" -msgstr "" +msgstr "Validatie van de BOM markeert ieder artikel als geldig" #: templates/js/translated/part.js:528 msgid "Validate Bill of Materials" @@ -9187,7 +9190,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:1573 templates/js/translated/part.js:1785 -#: templates/js/translated/stock.js:2300 +#: templates/js/translated/stock.js:2301 msgid "Display as list" msgstr "" @@ -9211,7 +9214,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2319 +#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2320 msgid "Display as tree" msgstr "" @@ -9219,7 +9222,7 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2363 +#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2364 msgid "Path" msgstr "" @@ -9232,7 +9235,7 @@ msgid "Edit test result" msgstr "" #: templates/js/translated/part.js:1978 templates/js/translated/stock.js:1296 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1556 msgid "Delete test result" msgstr "" @@ -9565,180 +9568,180 @@ msgstr "" msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1374 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1538 +#: templates/js/translated/stock.js:1539 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/stock.js:1561 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1590 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1593 +#: templates/js/translated/stock.js:1594 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1601 +#: templates/js/translated/stock.js:1602 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1607 +#: templates/js/translated/stock.js:1608 msgid "No stock location set" msgstr "Geen voorraadlocatie ingesteld" -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1775 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:1780 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1782 +#: templates/js/translated/stock.js:1783 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1785 +#: templates/js/translated/stock.js:1786 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1787 +#: templates/js/translated/stock.js:1788 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1790 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1793 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1797 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1799 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1806 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1807 +#: templates/js/translated/stock.js:1808 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1809 +#: templates/js/translated/stock.js:1810 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1813 +#: templates/js/translated/stock.js:1814 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1865 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1946 +#: templates/js/translated/stock.js:1947 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1984 +#: templates/js/translated/stock.js:1985 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2157 +#: templates/js/translated/stock.js:2158 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2171 +#: templates/js/translated/stock.js:2172 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2173 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2443 +#: templates/js/translated/stock.js:2444 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2465 +#: templates/js/translated/stock.js:2466 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2484 +#: templates/js/translated/stock.js:2485 msgid "Purchase order no longer exists" -msgstr "" +msgstr "Inkooporder bestaat niet meer" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2504 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2521 +#: templates/js/translated/stock.js:2522 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2545 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2552 +#: templates/js/translated/stock.js:2553 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2629 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2679 templates/js/translated/stock.js:2715 +#: templates/js/translated/stock.js:2680 templates/js/translated/stock.js:2716 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2729 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2749 +#: templates/js/translated/stock.js:2750 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2751 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2753 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/stock.js:2754 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2755 +#: templates/js/translated/stock.js:2756 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2768 +#: templates/js/translated/stock.js:2769 msgid "Select part to install" msgstr "" @@ -9934,7 +9937,7 @@ msgstr "" #: templates/js/translated/table_filters.js:344 #: templates/js/translated/table_filters.js:374 msgid "Order status" -msgstr "" +msgstr "Order status" #: templates/js/translated/table_filters.js:349 #: templates/js/translated/table_filters.js:366 @@ -9990,61 +9993,61 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:525 +#: templates/js/translated/tables.js:534 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:528 +#: templates/js/translated/tables.js:537 msgid "rows per page" -msgstr "" +msgstr "rijen per pagina" -#: templates/js/translated/tables.js:533 +#: templates/js/translated/tables.js:542 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "to" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "of" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:539 templates/navbar.html:102 +#: templates/js/translated/tables.js:548 templates/navbar.html:102 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" msgstr "" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:551 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:554 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:548 +#: templates/js/translated/tables.js:557 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:551 +#: templates/js/translated/tables.js:560 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:563 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:566 msgid "All" msgstr "" @@ -10218,7 +10221,7 @@ msgstr "" #: templates/stock_table.html:50 msgid "Order selected items" -msgstr "" +msgstr "Geselecteerde artikelen bestellen" #: templates/stock_table.html:52 msgid "Change status" diff --git a/InvenTree/locale/no/LC_MESSAGES/django.po b/InvenTree/locale/no/LC_MESSAGES/django.po index c7013ba6b5..c9276ddb32 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-11 13:14+0000\n" -"PO-Revision-Date: 2022-06-11 15:03\n" +"POT-Creation-Date: 2022-06-15 08:34+0000\n" +"PO-Revision-Date: 2022-06-15 16:23\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -141,12 +141,12 @@ msgstr "Kommenter" msgid "File comment" msgstr "Kommentar til fil" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1575 +#: common/models.py:1576 common/models.py:1799 common/models.py:1800 +#: common/models.py:2062 common/models.py:2063 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:2575 +#: templates/js/translated/stock.js:2576 msgid "User" msgstr "Bruker" @@ -183,7 +183,7 @@ msgstr "Feil ved endring av navn" msgid "Invalid choice" msgstr "Ugyldig valg" -#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1785 #: company/models.py:355 label/models.py:101 part/models.py:739 #: part/models.py:2319 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -195,7 +195,7 @@ msgstr "Ugyldig valg" #: templates/js/translated/company.js:744 #: templates/js/translated/notification.js:73 #: templates/js/translated/part.js:684 templates/js/translated/part.js:836 -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2345 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2346 msgid "Name" msgstr "Navn" @@ -217,8 +217,8 @@ msgstr "Navn" #: templates/js/translated/order.js:1888 templates/js/translated/order.js:2476 #: templates/js/translated/part.js:743 templates/js/translated/part.js:1151 #: templates/js/translated/part.js:1424 templates/js/translated/part.js:1876 -#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1738 -#: templates/js/translated/stock.js:2357 templates/js/translated/stock.js:2412 +#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1739 +#: templates/js/translated/stock.js:2358 templates/js/translated/stock.js:2413 msgid "Description" msgstr "Beskrivelse" @@ -292,99 +292,99 @@ msgstr "Mangler påkrevd kolonne: '{name}'" msgid "Duplicate column: '{col}'" msgstr "Dupliser kolonne: '{col}'" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:689 msgid "Czech" msgstr "Tsjekkisk" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:690 msgid "German" msgstr "Tysk" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:691 msgid "Greek" msgstr "Gresk" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:692 msgid "English" msgstr "Engelsk" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:693 msgid "Spanish" msgstr "Spansk" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:694 msgid "Spanish (Mexican)" msgstr "Spansk (Meksikansk)" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:695 msgid "Farsi / Persian" msgstr "Farsi / Persisk" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:696 msgid "French" msgstr "Fransk" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:697 msgid "Hebrew" msgstr "Hebraisk" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:698 msgid "Hungarian" msgstr "Ungarsk" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:699 msgid "Italian" msgstr "Italiensk" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:700 msgid "Japanese" msgstr "Japansk" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:701 msgid "Korean" msgstr "Koreansk" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:702 msgid "Dutch" msgstr "Nederlandsk" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:703 msgid "Norwegian" msgstr "Norsk" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:704 msgid "Polish" msgstr "Polsk" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:705 msgid "Portuguese" msgstr "Portugisisk" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:706 msgid "Portuguese (Brazilian)" msgstr "Portugisisk (Brasilian)" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:707 msgid "Russian" msgstr "Russisk" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:708 msgid "Swedish" msgstr "Svensk" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:709 msgid "Thai" msgstr "Thailandsk" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:710 msgid "Turkish" msgstr "Tyrkisk" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:711 msgid "Vietnamese" msgstr "Vietnamesisk" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:712 msgid "Chinese" msgstr "Kinesisk" @@ -515,7 +515,7 @@ msgstr "Delt fra overordnet element" msgid "Split child item" msgstr "Delt fra underelement" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2082 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2083 msgid "Merged stock items" msgstr "Sammenslått lagervare" @@ -669,7 +669,7 @@ msgstr "Build order som denne build er tildelt til" #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:479 #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 @@ -688,8 +688,8 @@ msgstr "Build order som denne build er tildelt til" #: templates/js/translated/part.js:1136 templates/js/translated/part.js:1206 #: templates/js/translated/part.js:1402 templates/js/translated/stock.js:582 #: templates/js/translated/stock.js:747 templates/js/translated/stock.js:954 -#: templates/js/translated/stock.js:1695 templates/js/translated/stock.js:2438 -#: templates/js/translated/stock.js:2633 templates/js/translated/stock.js:2767 +#: templates/js/translated/stock.js:1696 templates/js/translated/stock.js:2439 +#: templates/js/translated/stock.js:2634 templates/js/translated/stock.js:2768 msgid "Part" msgstr "Del" @@ -815,14 +815,14 @@ msgstr "Ekstern link" #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 #: 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:759 stock/serializers.py:858 stock/serializers.py:990 +#: stock/serializers.py:316 stock/serializers.py:445 stock/serializers.py:526 +#: stock/serializers.py:799 stock/serializers.py:898 stock/serializers.py:1030 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1038 #: templates/js/translated/company.js:949 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:1369 templates/js/translated/stock.js:1978 +#: templates/js/translated/stock.js:1370 templates/js/translated/stock.js:1979 msgid "Notes" msgstr "Notater" @@ -878,8 +878,8 @@ msgid "Build to allocate parts" msgstr "Bygge for å tildele deler" #: 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 +#: order/serializers.py:1017 stock/serializers.py:383 stock/serializers.py:730 +#: stock/serializers.py:856 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 @@ -888,7 +888,7 @@ msgstr "Bygge for å tildele deler" #: 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:583 templates/js/translated/stock.js:748 -#: templates/js/translated/stock.js:2511 +#: templates/js/translated/stock.js:2512 msgid "Stock Item" msgstr "Lagervare" @@ -898,7 +898,7 @@ msgstr "Kilde lagervare" #: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1543 +#: build/templates/build/detail.html:34 common/models.py:1607 #: company/forms.py:36 company/templates/company/supplier_part.html:279 #: order/models.py:911 order/models.py:1414 order/serializers.py:1136 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 @@ -911,7 +911,7 @@ msgstr "Kilde lagervare" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:280 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:691 #: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 @@ -928,7 +928,7 @@ msgstr "Kilde lagervare" #: templates/js/translated/part.js:2321 templates/js/translated/part.js:2355 #: templates/js/translated/part.js:2433 templates/js/translated/stock.js:454 #: templates/js/translated/stock.js:608 templates/js/translated/stock.js:778 -#: templates/js/translated/stock.js:2560 templates/js/translated/stock.js:2645 +#: templates/js/translated/stock.js:2561 templates/js/translated/stock.js:2646 msgid "Quantity" msgstr "Antall" @@ -972,7 +972,7 @@ msgstr "Angi antall for build utgang" #: build/serializers.py:198 build/serializers.py:623 order/models.py:354 #: 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 +#: stock/serializers.py:289 msgid "Quantity must be greater than zero" msgstr "Mengden må være større enn null" @@ -985,7 +985,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 -#: stock/serializers.py:297 templates/js/translated/order.js:1186 +#: stock/serializers.py:298 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:267 templates/js/translated/stock.js:455 msgid "Serial Numbers" msgstr "Serienummer" @@ -1002,7 +1002,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:553 +#: build/serializers.py:268 stock/api.py:559 msgid "The following serial numbers already exist" msgstr "" @@ -1011,8 +1011,8 @@ msgid "A list of build outputs must be provided" 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:851 stock/serializers.py:1084 +#: stock/serializers.py:309 stock/serializers.py:440 stock/serializers.py:521 +#: stock/serializers.py:891 stock/serializers.py:1124 #: 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 @@ -1021,7 +1021,7 @@ msgstr "" #: templates/js/translated/order.js:3247 templates/js/translated/order.js:3328 #: templates/js/translated/part.js:181 templates/js/translated/stock.js:584 #: templates/js/translated/stock.js:749 templates/js/translated/stock.js:956 -#: templates/js/translated/stock.js:1849 templates/js/translated/stock.js:2452 +#: templates/js/translated/stock.js:1850 templates/js/translated/stock.js:2453 msgid "Location" msgstr "Beliggenhet" @@ -1034,8 +1034,8 @@ msgstr "" #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2509 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 -#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1824 -#: templates/js/translated/stock.js:2529 templates/js/translated/stock.js:2661 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1825 +#: templates/js/translated/stock.js:2530 templates/js/translated/stock.js:2662 msgid "Status" msgstr "" @@ -1112,7 +1112,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:703 +#: build/serializers.py:609 stock/serializers.py:743 msgid "Item must be in stock" msgstr "Varen må være på lager" @@ -1333,8 +1333,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:1022 templates/js/translated/stock.js:1838 -#: templates/js/translated/stock.js:2668 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:1839 +#: templates/js/translated/stock.js:2669 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1545,912 +1545,912 @@ msgstr "" msgid "Select {name} file to upload" msgstr "Velg {name} fil som skal lastes opp" -#: common/models.py:365 +#: common/models.py:434 msgid "Settings key (must be unique - case insensitive)" msgstr "Innstillingsnøkkel (må være unik - ufølsom for store of små bokstaver)" -#: common/models.py:367 +#: common/models.py:436 msgid "Settings value" msgstr "" -#: common/models.py:408 +#: common/models.py:477 msgid "Chosen value is not a valid option" msgstr "Valgt verdi er ikke et gyldig alternativ" -#: common/models.py:425 +#: common/models.py:494 msgid "Value must be a boolean value" msgstr "Verdien må være en boolsk verdi" -#: common/models.py:436 +#: common/models.py:505 msgid "Value must be an integer value" msgstr "" -#: common/models.py:481 +#: common/models.py:550 msgid "Key string must be unique" msgstr "" -#: common/models.py:665 +#: common/models.py:734 msgid "No group" msgstr "Ingen gruppe" -#: common/models.py:704 +#: common/models.py:773 msgid "Restart required" msgstr "Omstart påkrevd" -#: common/models.py:705 +#: common/models.py:774 msgid "A setting has been changed which requires a server restart" msgstr "En innstilling har blitt endrett som krever en serveromstart" -#: common/models.py:712 +#: common/models.py:781 msgid "Server Instance Name" msgstr "" -#: common/models.py:714 +#: common/models.py:783 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:718 +#: common/models.py:787 msgid "Use instance name" msgstr "" -#: common/models.py:719 +#: common/models.py:788 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:725 +#: common/models.py:794 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:726 +#: common/models.py:795 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:732 company/models.py:93 company/models.py:94 +#: common/models.py:801 company/models.py:93 company/models.py:94 msgid "Company name" msgstr "Firmanavn" -#: common/models.py:733 +#: common/models.py:802 msgid "Internal company name" msgstr "Internt firmanavn" -#: common/models.py:738 +#: common/models.py:807 msgid "Base URL" msgstr "" -#: common/models.py:739 +#: common/models.py:808 msgid "Base URL for server instance" msgstr "" -#: common/models.py:745 +#: common/models.py:814 msgid "Default Currency" msgstr "Standardvaluta" -#: common/models.py:746 +#: common/models.py:815 msgid "Default currency" msgstr "Standardvaluta" -#: common/models.py:752 +#: common/models.py:821 msgid "Download from URL" msgstr "Last ned fra URL" -#: common/models.py:753 +#: common/models.py:822 msgid "Allow download of remote images and files from external URL" msgstr "Tilat nedlastning av eksterne bilder og filer fra ekstern URL" -#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:828 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Strekkode støtte" -#: common/models.py:760 +#: common/models.py:829 msgid "Enable barcode scanner support" msgstr "Aktiver skrekkodeleser støtte" -#: common/models.py:766 +#: common/models.py:835 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:767 +#: common/models.py:836 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:773 +#: common/models.py:842 msgid "IPN Regex" msgstr "" -#: common/models.py:774 +#: common/models.py:843 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:778 +#: common/models.py:847 msgid "Allow Duplicate IPN" msgstr "Tilat duplisert IPN" -#: common/models.py:779 +#: common/models.py:848 msgid "Allow multiple parts to share the same IPN" msgstr "Tillat flere deler å dele samme IPN" -#: common/models.py:785 +#: common/models.py:854 msgid "Allow Editing IPN" msgstr "Tillat redigering av IPN" -#: common/models.py:786 +#: common/models.py:855 msgid "Allow changing the IPN value while editing a part" msgstr "Tillat å endre IPN-verdien mens du redigerer en del" -#: common/models.py:792 +#: common/models.py:861 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:793 +#: common/models.py:862 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:799 +#: common/models.py:868 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:800 +#: common/models.py:869 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:806 +#: common/models.py:875 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:807 +#: common/models.py:876 msgid "Copy test data by default when duplicating a part" msgstr "Kopier testdata som standard ved duplisering av en del" -#: common/models.py:813 +#: common/models.py:882 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:814 +#: common/models.py:883 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:2360 report/models.py:157 +#: common/models.py:889 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "Mal" -#: common/models.py:821 +#: common/models.py:890 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:1384 +#: common/models.py:896 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" msgstr "Montering" -#: common/models.py:828 +#: common/models.py:897 msgid "Parts can be assembled from other components by default" msgstr "Deler kan settes sammen fra andre komponenter som standard" -#: common/models.py:834 part/models.py:890 +#: common/models.py:903 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "Komponent" -#: common/models.py:835 +#: common/models.py:904 msgid "Parts can be used as sub-components by default" msgstr "Deler kan bli brukt som underkomponenter som standard" -#: common/models.py:841 part/models.py:901 +#: common/models.py:910 part/models.py:901 msgid "Purchaseable" msgstr "Kjøpbar" -#: common/models.py:842 +#: common/models.py:911 msgid "Parts are purchaseable by default" msgstr "Deler er kjøpbare som standard" -#: common/models.py:848 part/models.py:906 +#: common/models.py:917 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "Salgbar" -#: common/models.py:849 +#: common/models.py:918 msgid "Parts are salable by default" msgstr "Deler er salgbare som standard" -#: common/models.py:855 part/models.py:896 +#: common/models.py:924 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "Sporbar" -#: common/models.py:856 +#: common/models.py:925 msgid "Parts are trackable by default" msgstr "Deler er sporbare som standard" -#: common/models.py:862 part/models.py:916 +#: common/models.py:931 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Virtuelle" -#: common/models.py:863 +#: common/models.py:932 msgid "Parts are virtual by default" msgstr "Deler er virtuelle som standard" -#: common/models.py:869 +#: common/models.py:938 msgid "Show Import in Views" msgstr "Vis import i visninger" -#: common/models.py:870 +#: common/models.py:939 msgid "Display the import wizard in some part views" msgstr "Vis importveiviseren i noen deler visninger" -#: common/models.py:876 +#: common/models.py:945 msgid "Show Price in Forms" msgstr "Vis pris i skjemaer" -#: common/models.py:877 +#: common/models.py:946 msgid "Display part price in some forms" msgstr "Vis delpris i noen skjemaer" -#: common/models.py:888 +#: common/models.py:957 msgid "Show Price in BOM" msgstr "" -#: common/models.py:889 +#: common/models.py:958 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:900 +#: common/models.py:969 msgid "Show Price History" msgstr "" -#: common/models.py:901 +#: common/models.py:970 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:907 +#: common/models.py:976 msgid "Show related parts" msgstr "" -#: common/models.py:908 +#: common/models.py:977 msgid "Display related parts for a part" msgstr "" -#: common/models.py:914 +#: common/models.py:983 msgid "Create initial stock" msgstr "" -#: common/models.py:915 +#: common/models.py:984 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:921 +#: common/models.py:990 msgid "Internal Prices" msgstr "" -#: common/models.py:922 +#: common/models.py:991 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:928 +#: common/models.py:997 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:929 +#: common/models.py:998 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:935 +#: common/models.py:1004 msgid "Part Name Display Format" msgstr "" -#: common/models.py:936 +#: common/models.py:1005 msgid "Format to display the part name" msgstr "" -#: common/models.py:943 +#: common/models.py:1012 msgid "Enable Reports" msgstr "" -#: common/models.py:944 +#: common/models.py:1013 msgid "Enable generation of reports" msgstr "" -#: common/models.py:950 templates/stats.html:25 +#: common/models.py:1019 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:951 +#: common/models.py:1020 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:957 +#: common/models.py:1026 msgid "Page Size" msgstr "" -#: common/models.py:958 +#: common/models.py:1027 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:968 +#: common/models.py:1037 msgid "Enable Test Reports" msgstr "" -#: common/models.py:969 +#: common/models.py:1038 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:975 +#: common/models.py:1044 msgid "Attach Test Reports" msgstr "" -#: common/models.py:976 +#: common/models.py:1045 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:982 +#: common/models.py:1051 msgid "Batch Code Template" msgstr "" -#: common/models.py:983 +#: common/models.py:1052 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:988 +#: common/models.py:1057 msgid "Stock Expiry" msgstr "" -#: common/models.py:989 +#: common/models.py:1058 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:995 +#: common/models.py:1064 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:996 +#: common/models.py:1065 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1002 +#: common/models.py:1071 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1003 +#: common/models.py:1072 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1005 +#: common/models.py:1074 msgid "days" msgstr "" -#: common/models.py:1010 +#: common/models.py:1079 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1011 +#: common/models.py:1080 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1017 +#: common/models.py:1086 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1018 +#: common/models.py:1087 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1024 +#: common/models.py:1093 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1025 +#: common/models.py:1094 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1030 +#: common/models.py:1099 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1031 +#: common/models.py:1100 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1035 +#: common/models.py:1104 msgid "Sales Order Reference Prefix" msgstr "Salgsorder referanse prefiks" -#: common/models.py:1036 +#: common/models.py:1105 msgid "Prefix value for sales order reference" msgstr "Prefiks verdi for salgsorder referanse" -#: common/models.py:1041 +#: common/models.py:1110 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1042 +#: common/models.py:1111 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1048 +#: common/models.py:1117 msgid "Purchase Order Reference Prefix" msgstr "Salgsorder referanse prefiks" -#: common/models.py:1049 +#: common/models.py:1118 msgid "Prefix value for purchase order reference" msgstr "Prefiks verdi for salgsorder referanse" -#: common/models.py:1055 +#: common/models.py:1124 msgid "Enable password forgot" msgstr "Aktiver passord glemt" -#: common/models.py:1056 +#: common/models.py:1125 msgid "Enable password forgot function on the login pages" msgstr "Ativer funskjon for glemt passord på innloggingssidene" -#: common/models.py:1062 +#: common/models.py:1131 msgid "Enable registration" msgstr "Aktiver registrering" -#: common/models.py:1063 +#: common/models.py:1132 msgid "Enable self-registration for users on the login pages" msgstr "Aktiver egenregistrerting for brukerer på påloggingssidene" -#: common/models.py:1069 +#: common/models.py:1138 msgid "Enable SSO" msgstr "Aktiver SSO" -#: common/models.py:1070 +#: common/models.py:1139 msgid "Enable SSO on the login pages" msgstr "Aktiver SSO på innloggingssidene" -#: common/models.py:1076 +#: common/models.py:1145 msgid "Email required" msgstr "E-postadresse kreves" -#: common/models.py:1077 +#: common/models.py:1146 msgid "Require user to supply mail on signup" msgstr "Krevt at brukeren angi e-post ved registrering" -#: common/models.py:1083 +#: common/models.py:1152 msgid "Auto-fill SSO users" msgstr "Auto-utfyll SSO brukere" -#: common/models.py:1084 +#: common/models.py:1153 msgid "Automatically fill out user-details from SSO account-data" msgstr "Fyll automatisk ut brukeropplysninger fra SSO kontodata" -#: common/models.py:1090 +#: common/models.py:1159 msgid "Mail twice" msgstr "E-post to ganger" -#: common/models.py:1091 +#: common/models.py:1160 msgid "On signup ask users twice for their mail" msgstr "Ved registrering spør brukere to ganger for e-posten" -#: common/models.py:1097 +#: common/models.py:1166 msgid "Password twice" msgstr "Passord to ganger" -#: common/models.py:1098 +#: common/models.py:1167 msgid "On signup ask users twice for their password" msgstr "Ved registrerting, spør brukere to ganger for passord" -#: common/models.py:1104 +#: common/models.py:1173 msgid "Group on signup" msgstr "" -#: common/models.py:1105 +#: common/models.py:1174 msgid "Group to which new users are assigned on registration" msgstr "Gruppe for hvilke nye brukere som er tilknyttet registrering" -#: common/models.py:1111 +#: common/models.py:1180 msgid "Enforce MFA" msgstr "" -#: common/models.py:1112 +#: common/models.py:1181 msgid "Users must use multifactor security." msgstr "Brukere må bruke flerfaktorsikkerhet." -#: common/models.py:1118 +#: common/models.py:1187 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1119 +#: common/models.py:1188 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1127 +#: common/models.py:1196 msgid "Enable URL integration" msgstr "Aktiver URL integrering" -#: common/models.py:1128 +#: common/models.py:1197 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1135 +#: common/models.py:1204 msgid "Enable navigation integration" msgstr "Aktiver navigasjonsintegrering" -#: common/models.py:1136 +#: common/models.py:1205 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1143 +#: common/models.py:1212 msgid "Enable app integration" msgstr "Aktiver app integrasjon" -#: common/models.py:1144 +#: common/models.py:1213 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1151 +#: common/models.py:1220 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1152 +#: common/models.py:1221 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1159 +#: common/models.py:1228 msgid "Enable event integration" msgstr "" -#: common/models.py:1160 +#: common/models.py:1229 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1177 common/models.py:1499 +#: common/models.py:1246 common/models.py:1568 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1199 +#: common/models.py:1268 msgid "Show subscribed parts" msgstr "Vis abbonerte deler" -#: common/models.py:1200 +#: common/models.py:1269 msgid "Show subscribed parts on the homepage" msgstr "Vis abbonerte deler på hjemmesiden" -#: common/models.py:1206 +#: common/models.py:1275 msgid "Show subscribed categories" msgstr "Vis abbonerte kategorier" -#: common/models.py:1207 +#: common/models.py:1276 msgid "Show subscribed part categories on the homepage" msgstr "Vis abbonerte delkatekorier på hjemmesiden" -#: common/models.py:1213 +#: common/models.py:1282 msgid "Show latest parts" msgstr "Vis nyeste deler" -#: common/models.py:1214 +#: common/models.py:1283 msgid "Show latest parts on the homepage" msgstr "Vis nyeste deler på hjemmesiden" -#: common/models.py:1220 +#: common/models.py:1289 msgid "Recent Part Count" msgstr "Antall nylig deler" -#: common/models.py:1221 +#: common/models.py:1290 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1227 +#: common/models.py:1296 msgid "Show unvalidated BOMs" msgstr "Vis uvaliderte BOMs" -#: common/models.py:1228 +#: common/models.py:1297 msgid "Show BOMs that await validation on the homepage" msgstr "Vis BOMs som venter validering på hjemmesiden" -#: common/models.py:1234 +#: common/models.py:1303 msgid "Show recent stock changes" msgstr "Vis nylige lagerendringer" -#: common/models.py:1235 +#: common/models.py:1304 msgid "Show recently changed stock items on the homepage" msgstr "Vis nylig endret lagervarer på hjemmesiden" -#: common/models.py:1241 +#: common/models.py:1310 msgid "Recent Stock Count" msgstr "Siste lagertelling" -#: common/models.py:1242 +#: common/models.py:1311 msgid "Number of recent stock items to display on index page" msgstr "Antall nylige lagervarer som skal vises på indeksside" -#: common/models.py:1248 +#: common/models.py:1317 msgid "Show low stock" msgstr "Vis lav lager" -#: common/models.py:1249 +#: common/models.py:1318 msgid "Show low stock items on the homepage" msgstr "Vis lav lagervarer på hjemmesiden" -#: common/models.py:1255 +#: common/models.py:1324 msgid "Show depleted stock" msgstr "Vis tom lagervarer" -#: common/models.py:1256 +#: common/models.py:1325 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1331 msgid "Show needed stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1332 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1338 msgid "Show expired stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1339 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1345 msgid "Show stale stock" msgstr "" -#: common/models.py:1277 +#: common/models.py:1346 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1352 msgid "Show pending builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1353 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1359 msgid "Show overdue builds" msgstr "" -#: common/models.py:1291 +#: common/models.py:1360 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1366 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1367 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1373 msgid "Show overdue POs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1374 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1380 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1381 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1387 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1319 +#: common/models.py:1388 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1324 +#: common/models.py:1393 msgid "Enable label printing" msgstr "" -#: common/models.py:1325 +#: common/models.py:1394 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1331 +#: common/models.py:1400 msgid "Inline label display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1401 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1407 msgid "Inline report display" msgstr "" -#: common/models.py:1339 +#: common/models.py:1408 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1345 +#: common/models.py:1414 msgid "Search Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1415 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1421 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1422 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1428 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1429 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1435 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1367 +#: common/models.py:1436 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1442 msgid "Search Categories" msgstr "" -#: common/models.py:1374 +#: common/models.py:1443 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1449 msgid "Search Stock" msgstr "" -#: common/models.py:1381 +#: common/models.py:1450 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1456 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1388 +#: common/models.py:1457 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1463 msgid "Search Locations" msgstr "" -#: common/models.py:1395 +#: common/models.py:1464 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1470 msgid "Search Companies" msgstr "" -#: common/models.py:1402 +#: common/models.py:1471 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1477 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1478 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1484 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1485 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1491 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1492 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1498 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1430 +#: common/models.py:1499 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1505 msgid "Search Preview Results" msgstr "" -#: common/models.py:1437 +#: common/models.py:1506 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1512 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1513 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1519 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1451 +#: common/models.py:1520 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1457 +#: common/models.py:1526 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1458 +#: common/models.py:1527 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1464 +#: common/models.py:1533 msgid "Date Format" msgstr "" -#: common/models.py:1465 +#: common/models.py:1534 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1479 part/templates/part/detail.html:39 +#: common/models.py:1548 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1480 +#: common/models.py:1549 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1544 company/forms.py:37 +#: common/models.py:1608 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1551 company/serializers.py:319 +#: common/models.py:1615 company/serializers.py:319 #: company/templates/company/supplier_part.html:284 order/models.py:951 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:2095 msgid "Price" msgstr "" -#: common/models.py:1552 +#: common/models.py:1616 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1712 common/models.py:1890 +#: common/models.py:1776 common/models.py:1954 msgid "Endpoint" msgstr "" -#: common/models.py:1713 +#: common/models.py:1777 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1722 +#: common/models.py:1786 msgid "Name for this webhook" msgstr "" -#: common/models.py:1727 part/models.py:911 plugin/models.py:99 +#: common/models.py:1791 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,67 +2458,67 @@ msgstr "" msgid "Active" msgstr "Aktiv" -#: common/models.py:1728 +#: common/models.py:1792 msgid "Is this webhook active" msgstr "" -#: common/models.py:1742 +#: common/models.py:1806 msgid "Token" msgstr "Sjetong" -#: common/models.py:1743 +#: common/models.py:1807 msgid "Token for access" msgstr "Nøkkel for tilgang" -#: common/models.py:1750 +#: common/models.py:1814 msgid "Secret" msgstr "Hemmelig" -#: common/models.py:1751 +#: common/models.py:1815 msgid "Shared secret for HMAC" msgstr "Delt hemmlighet for HMAC" -#: common/models.py:1857 +#: common/models.py:1921 msgid "Message ID" msgstr "Melding ID" -#: common/models.py:1858 +#: common/models.py:1922 msgid "Unique identifier for this message" msgstr "Unik Id for denne meldingen" -#: common/models.py:1866 +#: common/models.py:1930 msgid "Host" msgstr "Vert" -#: common/models.py:1867 +#: common/models.py:1931 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1874 +#: common/models.py:1938 msgid "Header" msgstr "Tittel" -#: common/models.py:1875 +#: common/models.py:1939 msgid "Header of this message" msgstr "Overskrift for denne meldingen" -#: common/models.py:1881 +#: common/models.py:1945 msgid "Body" msgstr "Brødtekst" -#: common/models.py:1882 +#: common/models.py:1946 msgid "Body of this message" msgstr "" -#: common/models.py:1891 +#: common/models.py:1955 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1896 +#: common/models.py:1960 msgid "Worked on" msgstr "Arbeidet med" -#: common/models.py:1897 +#: common/models.py:1961 msgid "Was the work on this message finished?" msgstr "Var arbeidet med denne meldingen ferdig?" @@ -2657,7 +2657,7 @@ msgstr "Produserer dette firmaet deler?" #: company/models.py:145 company/serializers.py:325 #: company/templates/company/company_base.html:106 part/serializers.py:139 -#: part/serializers.py:170 stock/serializers.py:162 +#: part/serializers.py:170 stock/serializers.py:163 msgid "Currency" msgstr "Valuta" @@ -2793,7 +2793,7 @@ msgstr "" #: company/models.py:519 company/templates/company/supplier_part.html:146 #: 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 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:388 msgid "Note" msgstr "" @@ -2807,7 +2807,7 @@ msgstr "" #: company/models.py:525 company/templates/company/supplier_part.html:139 #: stock/models.py:608 stock/templates/stock/item_base.html:245 -#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1974 +#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1975 msgid "Packaging" msgstr "" @@ -2902,11 +2902,11 @@ msgstr "Last ned bilde fra URL" #: company/templates/company/company_base.html:86 order/models.py:651 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:745 +#: stock/models.py:628 stock/serializers.py:785 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:381 templates/js/translated/order.js:2458 -#: templates/js/translated/stock.js:2493 +#: templates/js/translated/stock.js:2494 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "Kunde" @@ -3079,7 +3079,7 @@ msgstr "Slett leverandørdeler" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 -#: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:33 +#: templates/js/translated/forms.js:442 templates/js/translated/helpers.js:33 #: users/models.py:219 msgid "Delete" msgstr "Slett" @@ -3127,7 +3127,7 @@ msgstr "Tildelt lagervarer" #: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:894 templates/js/translated/order.js:884 -#: templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:1932 msgid "Supplier Part" msgstr "" @@ -3235,7 +3235,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:43 #: templates/js/translated/bom.js:554 templates/js/translated/part.js:747 #: templates/js/translated/part.js:1295 templates/js/translated/part.js:1456 -#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1749 +#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1750 #: templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3262,7 +3262,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:2369 users/models.py:39 +#: templates/js/translated/stock.js:2370 users/models.py:39 msgid "Stock Items" msgstr "" @@ -3536,8 +3536,8 @@ msgstr "" #: 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:968 templates/js/translated/stock.js:1908 -#: templates/js/translated/stock.js:2474 +#: templates/js/translated/part.js:968 templates/js/translated/stock.js:1909 +#: templates/js/translated/stock.js:2475 msgid "Purchase Order" msgstr "" @@ -3557,8 +3557,8 @@ msgid "Number of items received" msgstr "" #: order/models.py:1030 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:1962 +#: stock/serializers.py:154 stock/templates/stock/item_base.html:191 +#: templates/js/translated/stock.js:1963 msgid "Purchase Price" msgstr "" @@ -4121,19 +4121,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1011 +#: part/api.py:1058 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1015 +#: part/api.py:1062 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1030 +#: part/api.py:1077 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 +#: part/api.py:1108 part/api.py:1112 part/api.py:1127 part/api.py:1131 msgid "This field is required" msgstr "" @@ -4268,7 +4268,7 @@ msgstr "" #: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:735 templates/js/translated/part.js:1391 -#: templates/js/translated/stock.js:1721 +#: templates/js/translated/stock.js:1722 msgid "IPN" msgstr "" @@ -4611,7 +4611,7 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:164 msgid "Purchase currency of this stock item" msgstr "" @@ -5752,7 +5752,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2402 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2403 msgid "Date" msgstr "" @@ -5771,19 +5771,19 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: templates/js/translated/stock.js:606 templates/js/translated/stock.js:776 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2652 msgid "Serial" msgstr "" -#: stock/api.py:505 +#: stock/api.py:511 msgid "Quantity is required" msgstr "" -#: stock/api.py:512 +#: stock/api.py:518 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:537 +#: stock/api.py:543 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5891,7 +5891,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1879 msgid "Expiry Date" msgstr "" @@ -5969,7 +5969,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1347 stock/serializers.py:895 +#: stock/models.py:1347 stock/serializers.py:935 msgid "Duplicate stock items" msgstr "" @@ -6021,120 +6021,128 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:156 +#: stock/serializers.py:157 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:280 +#: stock/serializers.py:281 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:293 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:299 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 +#: stock/serializers.py:310 stock/serializers.py:892 stock/serializers.py:1125 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:316 +#: stock/serializers.py:317 msgid "Optional note field" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:327 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:344 msgid "Serial numbers already exist" msgstr "Seriernummer eksisterer allerede" -#: stock/serializers.py:383 +#: stock/serializers.py:384 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:397 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:404 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:440 +#: stock/serializers.py:441 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:445 stock/serializers.py:487 +#: stock/serializers.py:446 stock/serializers.py:527 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:482 +#: stock/serializers.py:480 +msgid "Select part to convert stock item into" +msgstr "" + +#: stock/serializers.py:491 +msgid "Selected part is not a valid option for conversion" +msgstr "" + +#: stock/serializers.py:522 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:707 +#: stock/serializers.py:747 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:711 +#: stock/serializers.py:751 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:755 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:786 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:752 +#: stock/serializers.py:792 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:760 +#: stock/serializers.py:800 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:770 stock/serializers.py:1001 +#: stock/serializers.py:810 stock/serializers.py:1041 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:859 +#: stock/serializers.py:899 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:864 +#: stock/serializers.py:904 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:865 +#: stock/serializers.py:905 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:870 +#: stock/serializers.py:910 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:871 +#: stock/serializers.py:911 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:881 +#: stock/serializers.py:921 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:963 +#: stock/serializers.py:1003 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:1031 msgid "Stock transaction notes" msgstr "" @@ -6171,7 +6179,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2795 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2796 msgid "Install Stock Item" msgstr "" @@ -6179,7 +6187,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1517 +#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1518 msgid "Add Test Result" msgstr "" @@ -6366,7 +6374,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1894 +#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1895 msgid "Last Updated" msgstr "" @@ -6382,7 +6390,23 @@ msgstr "" msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:642 +#: stock/templates/stock/item_base.html:594 +msgid "Select one of the part variants listed below." +msgstr "" + +#: stock/templates/stock/item_base.html:597 +msgid "Warning" +msgstr "" + +#: stock/templates/stock/item_base.html:598 +msgid "This action cannot be easily undone" +msgstr "" + +#: stock/templates/stock/item_base.html:606 +msgid "Convert Stock Item" +msgstr "" + +#: stock/templates/stock/item_base.html:664 msgid "Return to Stock" msgstr "" @@ -6466,32 +6490,11 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:143 -msgid "Convert Stock Item" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:8 -#, python-format -msgid "This stock item is current an instance of %(part)s" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:9 -msgid "It can be converted to one of the part variants listed below." -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:13 -msgid "Warning" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:14 -msgid "This action cannot be easily undone" -msgstr "" - -#: stock/views.py:110 +#: stock/views.py:109 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:126 +#: stock/views.py:125 msgid "Stock Item QR Code" msgstr "" @@ -7303,7 +7306,7 @@ 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 +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:633 msgid "Confirm" msgstr "Bekreft" @@ -8175,8 +8178,8 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2447 templates/js/translated/part.js:1383 -#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1681 -#: templates/js/translated/stock.js:2339 +#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:2340 msgid "Select" msgstr "" @@ -8188,7 +8191,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2581 +#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2582 msgid "No user information" msgstr "" @@ -8342,61 +8345,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:353 templates/js/translated/forms.js:368 -#: templates/js/translated/forms.js:382 templates/js/translated/forms.js:396 +#: templates/js/translated/forms.js:356 templates/js/translated/forms.js:371 +#: templates/js/translated/forms.js:385 templates/js/translated/forms.js:399 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:355 +#: templates/js/translated/forms.js:358 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:370 +#: templates/js/translated/forms.js:373 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:384 +#: templates/js/translated/forms.js:387 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:398 +#: templates/js/translated/forms.js:401 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:656 +#: templates/js/translated/forms.js:659 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:757 +#: templates/js/translated/forms.js:760 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1249 templates/modals.html:19 +#: templates/js/translated/forms.js:1252 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1682 +#: templates/js/translated/forms.js:1685 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1897 templates/search.html:29 +#: templates/js/translated/forms.js:1900 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2150 +#: templates/js/translated/forms.js:2153 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2628 +#: templates/js/translated/forms.js:2631 msgid "Select Columns" msgstr "" @@ -8727,7 +8730,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2142 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2143 msgid "Stock Status" msgstr "" @@ -8921,7 +8924,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1597 +#: templates/js/translated/stock.js:1598 msgid "Shipped to customer" msgstr "" @@ -9187,7 +9190,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:1573 templates/js/translated/part.js:1785 -#: templates/js/translated/stock.js:2300 +#: templates/js/translated/stock.js:2301 msgid "Display as list" msgstr "" @@ -9211,7 +9214,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2319 +#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2320 msgid "Display as tree" msgstr "" @@ -9219,7 +9222,7 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2363 +#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2364 msgid "Path" msgstr "" @@ -9232,7 +9235,7 @@ msgid "Edit test result" msgstr "" #: templates/js/translated/part.js:1978 templates/js/translated/stock.js:1296 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1556 msgid "Delete test result" msgstr "" @@ -9565,180 +9568,180 @@ msgstr "" msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1374 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1538 +#: templates/js/translated/stock.js:1539 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/stock.js:1561 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1590 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1593 +#: templates/js/translated/stock.js:1594 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1601 +#: templates/js/translated/stock.js:1602 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1607 +#: templates/js/translated/stock.js:1608 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1775 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:1780 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1782 +#: templates/js/translated/stock.js:1783 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1785 +#: templates/js/translated/stock.js:1786 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1787 +#: templates/js/translated/stock.js:1788 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1790 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1793 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1797 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1799 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1806 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1807 +#: templates/js/translated/stock.js:1808 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1809 +#: templates/js/translated/stock.js:1810 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1813 +#: templates/js/translated/stock.js:1814 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1865 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1946 +#: templates/js/translated/stock.js:1947 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1984 +#: templates/js/translated/stock.js:1985 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2157 +#: templates/js/translated/stock.js:2158 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2171 +#: templates/js/translated/stock.js:2172 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2173 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2443 +#: templates/js/translated/stock.js:2444 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2465 +#: templates/js/translated/stock.js:2466 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2484 +#: templates/js/translated/stock.js:2485 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2504 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2521 +#: templates/js/translated/stock.js:2522 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2545 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2552 +#: templates/js/translated/stock.js:2553 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2629 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2679 templates/js/translated/stock.js:2715 +#: templates/js/translated/stock.js:2680 templates/js/translated/stock.js:2716 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2729 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2749 +#: templates/js/translated/stock.js:2750 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2751 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2753 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/stock.js:2754 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2755 +#: templates/js/translated/stock.js:2756 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2768 +#: templates/js/translated/stock.js:2769 msgid "Select part to install" msgstr "" @@ -9990,61 +9993,61 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:525 +#: templates/js/translated/tables.js:534 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:528 +#: templates/js/translated/tables.js:537 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:533 +#: templates/js/translated/tables.js:542 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "to" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "of" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:539 templates/navbar.html:102 +#: templates/js/translated/tables.js:548 templates/navbar.html:102 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" msgstr "" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:551 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:554 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:548 +#: templates/js/translated/tables.js:557 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:551 +#: templates/js/translated/tables.js:560 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:563 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:566 msgid "All" msgstr "" diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po index 058121cddd..690619707e 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-11 13:14+0000\n" -"PO-Revision-Date: 2022-06-11 15:03\n" +"POT-Creation-Date: 2022-06-15 08:34+0000\n" +"PO-Revision-Date: 2022-06-15 16:23\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -141,12 +141,12 @@ msgstr "Komentarz" msgid "File comment" msgstr "Komentarz pliku" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1575 +#: common/models.py:1576 common/models.py:1799 common/models.py:1800 +#: common/models.py:2062 common/models.py:2063 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:2575 +#: templates/js/translated/stock.js:2576 msgid "User" msgstr "Użytkownik" @@ -183,7 +183,7 @@ msgstr "Błąd zmiany nazwy pliku" msgid "Invalid choice" msgstr "Błędny wybór" -#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1785 #: company/models.py:355 label/models.py:101 part/models.py:739 #: part/models.py:2319 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -195,7 +195,7 @@ msgstr "Błędny wybór" #: templates/js/translated/company.js:744 #: templates/js/translated/notification.js:73 #: templates/js/translated/part.js:684 templates/js/translated/part.js:836 -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2345 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2346 msgid "Name" msgstr "Nazwa" @@ -217,8 +217,8 @@ msgstr "Nazwa" #: templates/js/translated/order.js:1888 templates/js/translated/order.js:2476 #: templates/js/translated/part.js:743 templates/js/translated/part.js:1151 #: templates/js/translated/part.js:1424 templates/js/translated/part.js:1876 -#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1738 -#: templates/js/translated/stock.js:2357 templates/js/translated/stock.js:2412 +#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1739 +#: templates/js/translated/stock.js:2358 templates/js/translated/stock.js:2413 msgid "Description" msgstr "Opis" @@ -292,99 +292,99 @@ msgstr "Brakuje wymaganej kolumny: '{name}'" msgid "Duplicate column: '{col}'" msgstr "Zduplikowana kolumna: '{col}'" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:689 msgid "Czech" msgstr "Czeski" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:690 msgid "German" msgstr "Niemiecki" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:691 msgid "Greek" msgstr "Grecki" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:692 msgid "English" msgstr "Angielski" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:693 msgid "Spanish" msgstr "Hiszpański" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:694 msgid "Spanish (Mexican)" msgstr "Hiszpański (Meksyk)" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:695 msgid "Farsi / Persian" msgstr "Perski" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:696 msgid "French" msgstr "Francuski" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:697 msgid "Hebrew" msgstr "Hebrajski" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:698 msgid "Hungarian" msgstr "Węgierski" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:699 msgid "Italian" msgstr "Włoski" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:700 msgid "Japanese" msgstr "Japoński" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:701 msgid "Korean" msgstr "Koreański" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:702 msgid "Dutch" msgstr "Holenderski" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:703 msgid "Norwegian" msgstr "Norweski" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:704 msgid "Polish" msgstr "Polski" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:705 msgid "Portuguese" msgstr "Portugalski" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:706 msgid "Portuguese (Brazilian)" msgstr "Portugalski (Brazylijski)" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:707 msgid "Russian" msgstr "Rosyjski" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:708 msgid "Swedish" msgstr "Szwedzki" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:709 msgid "Thai" msgstr "Tajski" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:710 msgid "Turkish" msgstr "Turecki" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:711 msgid "Vietnamese" msgstr "Wietnamski" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:712 msgid "Chinese" msgstr "Chiński" @@ -515,7 +515,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:2082 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2083 msgid "Merged stock items" msgstr "" @@ -669,7 +669,7 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:479 #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 @@ -688,8 +688,8 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: templates/js/translated/part.js:1136 templates/js/translated/part.js:1206 #: templates/js/translated/part.js:1402 templates/js/translated/stock.js:582 #: templates/js/translated/stock.js:747 templates/js/translated/stock.js:954 -#: templates/js/translated/stock.js:1695 templates/js/translated/stock.js:2438 -#: templates/js/translated/stock.js:2633 templates/js/translated/stock.js:2767 +#: templates/js/translated/stock.js:1696 templates/js/translated/stock.js:2439 +#: templates/js/translated/stock.js:2634 templates/js/translated/stock.js:2768 msgid "Part" msgstr "Komponent" @@ -815,14 +815,14 @@ msgstr "Link Zewnętrzny" #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 #: 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:759 stock/serializers.py:858 stock/serializers.py:990 +#: stock/serializers.py:316 stock/serializers.py:445 stock/serializers.py:526 +#: stock/serializers.py:799 stock/serializers.py:898 stock/serializers.py:1030 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1038 #: templates/js/translated/company.js:949 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:1369 templates/js/translated/stock.js:1978 +#: templates/js/translated/stock.js:1370 templates/js/translated/stock.js:1979 msgid "Notes" msgstr "Uwagi" @@ -878,8 +878,8 @@ msgid "Build to allocate parts" msgstr "" #: 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 +#: order/serializers.py:1017 stock/serializers.py:383 stock/serializers.py:730 +#: stock/serializers.py:856 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 @@ -888,7 +888,7 @@ msgstr "" #: 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:583 templates/js/translated/stock.js:748 -#: templates/js/translated/stock.js:2511 +#: templates/js/translated/stock.js:2512 msgid "Stock Item" msgstr "Element magazynowy" @@ -898,7 +898,7 @@ msgstr "Lokalizacja magazynowania przedmiotu" #: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1543 +#: build/templates/build/detail.html:34 common/models.py:1607 #: company/forms.py:36 company/templates/company/supplier_part.html:279 #: order/models.py:911 order/models.py:1414 order/serializers.py:1136 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 @@ -911,7 +911,7 @@ msgstr "Lokalizacja magazynowania przedmiotu" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:280 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:691 #: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 @@ -928,7 +928,7 @@ msgstr "Lokalizacja magazynowania przedmiotu" #: templates/js/translated/part.js:2321 templates/js/translated/part.js:2355 #: templates/js/translated/part.js:2433 templates/js/translated/stock.js:454 #: templates/js/translated/stock.js:608 templates/js/translated/stock.js:778 -#: templates/js/translated/stock.js:2560 templates/js/translated/stock.js:2645 +#: templates/js/translated/stock.js:2561 templates/js/translated/stock.js:2646 msgid "Quantity" msgstr "Ilość" @@ -972,7 +972,7 @@ msgstr "" #: build/serializers.py:198 build/serializers.py:623 order/models.py:354 #: 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 +#: stock/serializers.py:289 msgid "Quantity must be greater than zero" msgstr "Ilość musi być większa niż zero" @@ -985,7 +985,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 -#: stock/serializers.py:297 templates/js/translated/order.js:1186 +#: stock/serializers.py:298 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:267 templates/js/translated/stock.js:455 msgid "Serial Numbers" msgstr "Numer seryjny" @@ -1002,7 +1002,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:553 +#: build/serializers.py:268 stock/api.py:559 msgid "The following serial numbers already exist" msgstr "" @@ -1011,8 +1011,8 @@ msgid "A list of build outputs must be provided" 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:851 stock/serializers.py:1084 +#: stock/serializers.py:309 stock/serializers.py:440 stock/serializers.py:521 +#: stock/serializers.py:891 stock/serializers.py:1124 #: 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 @@ -1021,7 +1021,7 @@ msgstr "" #: templates/js/translated/order.js:3247 templates/js/translated/order.js:3328 #: templates/js/translated/part.js:181 templates/js/translated/stock.js:584 #: templates/js/translated/stock.js:749 templates/js/translated/stock.js:956 -#: templates/js/translated/stock.js:1849 templates/js/translated/stock.js:2452 +#: templates/js/translated/stock.js:1850 templates/js/translated/stock.js:2453 msgid "Location" msgstr "Lokalizacja" @@ -1034,8 +1034,8 @@ msgstr "" #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2509 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 -#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1824 -#: templates/js/translated/stock.js:2529 templates/js/translated/stock.js:2661 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1825 +#: templates/js/translated/stock.js:2530 templates/js/translated/stock.js:2662 msgid "Status" msgstr "Status" @@ -1112,7 +1112,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:703 +#: build/serializers.py:609 stock/serializers.py:743 msgid "Item must be in stock" msgstr "Towar musi znajdować się w magazynie" @@ -1333,8 +1333,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:1022 templates/js/translated/stock.js:1838 -#: templates/js/translated/stock.js:2668 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:1839 +#: templates/js/translated/stock.js:2669 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1545,912 +1545,912 @@ msgstr "{name.title()} Plik" msgid "Select {name} file to upload" msgstr "Wybierz plik {name} do przesłania" -#: common/models.py:365 +#: common/models.py:434 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:367 +#: common/models.py:436 msgid "Settings value" msgstr "Ustawienia wartości" -#: common/models.py:408 +#: common/models.py:477 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:425 +#: common/models.py:494 msgid "Value must be a boolean value" msgstr "Wartość musi być wartością binarną" -#: common/models.py:436 +#: common/models.py:505 msgid "Value must be an integer value" msgstr "Wartość musi być liczbą całkowitą" -#: common/models.py:481 +#: common/models.py:550 msgid "Key string must be unique" msgstr "" -#: common/models.py:665 +#: common/models.py:734 msgid "No group" msgstr "Brak grupy" -#: common/models.py:704 +#: common/models.py:773 msgid "Restart required" msgstr "Wymagane ponowne uruchomienie" -#: common/models.py:705 +#: common/models.py:774 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:712 +#: common/models.py:781 msgid "Server Instance Name" msgstr "" -#: common/models.py:714 +#: common/models.py:783 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:718 +#: common/models.py:787 msgid "Use instance name" msgstr "Użyj nazwy instancji" -#: common/models.py:719 +#: common/models.py:788 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:725 +#: common/models.py:794 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:726 +#: common/models.py:795 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:732 company/models.py:93 company/models.py:94 +#: common/models.py:801 company/models.py:93 company/models.py:94 msgid "Company name" msgstr "Nazwa firmy" -#: common/models.py:733 +#: common/models.py:802 msgid "Internal company name" msgstr "Wewnętrzna nazwa firmy" -#: common/models.py:738 +#: common/models.py:807 msgid "Base URL" msgstr "Bazowy URL" -#: common/models.py:739 +#: common/models.py:808 msgid "Base URL for server instance" msgstr "Bazowy adres URL dla instancji serwera" -#: common/models.py:745 +#: common/models.py:814 msgid "Default Currency" msgstr "Domyślna waluta" -#: common/models.py:746 +#: common/models.py:815 msgid "Default currency" msgstr "Domyślna waluta" -#: common/models.py:752 +#: common/models.py:821 msgid "Download from URL" msgstr "Pobierz z adresu URL" -#: common/models.py:753 +#: common/models.py:822 msgid "Allow download of remote images and files from external URL" msgstr "Zezwól na pobieranie zewnętrznych obrazów i plików z zewnętrznego URL" -#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:828 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Obsługa kodu kreskowego" -#: common/models.py:760 +#: common/models.py:829 msgid "Enable barcode scanner support" msgstr "Włącz obsługę skanera kodów" -#: common/models.py:766 +#: common/models.py:835 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:767 +#: common/models.py:836 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:773 +#: common/models.py:842 msgid "IPN Regex" msgstr "Wyrażenie regularne IPN" -#: common/models.py:774 +#: common/models.py:843 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:778 +#: common/models.py:847 msgid "Allow Duplicate IPN" msgstr "Zezwól na powtarzający się IPN" -#: common/models.py:779 +#: common/models.py:848 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:785 +#: common/models.py:854 msgid "Allow Editing IPN" msgstr "Zezwól na edycję IPN" -#: common/models.py:786 +#: common/models.py:855 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:792 +#: common/models.py:861 msgid "Copy Part BOM Data" msgstr "Skopiuj BOM komponentu" -#: common/models.py:793 +#: common/models.py:862 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:799 +#: common/models.py:868 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:800 +#: common/models.py:869 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:806 +#: common/models.py:875 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:807 +#: common/models.py:876 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:813 +#: common/models.py:882 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:814 +#: common/models.py:883 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:820 part/models.py:2360 report/models.py:157 +#: common/models.py:889 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "Szablon" -#: common/models.py:821 +#: common/models.py:890 msgid "Parts are templates by default" msgstr "" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 +#: common/models.py:896 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" msgstr "Złożenie" -#: common/models.py:828 +#: common/models.py:897 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:834 part/models.py:890 +#: common/models.py:903 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "Komponent" -#: common/models.py:835 +#: common/models.py:904 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:841 part/models.py:901 +#: common/models.py:910 part/models.py:901 msgid "Purchaseable" msgstr "Możliwość zakupu" -#: common/models.py:842 +#: common/models.py:911 msgid "Parts are purchaseable by default" msgstr "Części są domyślnie z możliwością zakupu" -#: common/models.py:848 part/models.py:906 +#: common/models.py:917 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "Możliwość sprzedaży" -#: common/models.py:849 +#: common/models.py:918 msgid "Parts are salable by default" msgstr "Części są domyślnie z możliwością sprzedaży" -#: common/models.py:855 part/models.py:896 +#: common/models.py:924 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "Możliwość śledzenia" -#: common/models.py:856 +#: common/models.py:925 msgid "Parts are trackable by default" msgstr "Części są domyślnie z możliwością śledzenia" -#: common/models.py:862 part/models.py:916 +#: common/models.py:931 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Wirtualny" -#: common/models.py:863 +#: common/models.py:932 msgid "Parts are virtual by default" msgstr "Części są domyślnie wirtualne" -#: common/models.py:869 +#: common/models.py:938 msgid "Show Import in Views" msgstr "" -#: common/models.py:870 +#: common/models.py:939 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:876 +#: common/models.py:945 msgid "Show Price in Forms" msgstr "" -#: common/models.py:877 +#: common/models.py:946 msgid "Display part price in some forms" msgstr "" -#: common/models.py:888 +#: common/models.py:957 msgid "Show Price in BOM" msgstr "Pokaż cenę w BOM" -#: common/models.py:889 +#: common/models.py:958 msgid "Include pricing information in BOM tables" msgstr "Dołącz informacje cenowe w tabelach BOM" -#: common/models.py:900 +#: common/models.py:969 msgid "Show Price History" msgstr "Pokaż historię cen" -#: common/models.py:901 +#: common/models.py:970 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:907 +#: common/models.py:976 msgid "Show related parts" msgstr "" -#: common/models.py:908 +#: common/models.py:977 msgid "Display related parts for a part" msgstr "" -#: common/models.py:914 +#: common/models.py:983 msgid "Create initial stock" msgstr "Utwórz początkowy stan magazynowy" -#: common/models.py:915 +#: common/models.py:984 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:921 +#: common/models.py:990 msgid "Internal Prices" msgstr "Ceny wewnętrzne" -#: common/models.py:922 +#: common/models.py:991 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:928 +#: common/models.py:997 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:929 +#: common/models.py:998 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:935 +#: common/models.py:1004 msgid "Part Name Display Format" msgstr "" -#: common/models.py:936 +#: common/models.py:1005 msgid "Format to display the part name" msgstr "" -#: common/models.py:943 +#: common/models.py:1012 msgid "Enable Reports" msgstr "Włącz raporty" -#: common/models.py:944 +#: common/models.py:1013 msgid "Enable generation of reports" msgstr "" -#: common/models.py:950 templates/stats.html:25 +#: common/models.py:1019 templates/stats.html:25 msgid "Debug Mode" msgstr "Tryb Debugowania" -#: common/models.py:951 +#: common/models.py:1020 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:957 +#: common/models.py:1026 msgid "Page Size" msgstr "Rozmiar strony" -#: common/models.py:958 +#: common/models.py:1027 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:968 +#: common/models.py:1037 msgid "Enable Test Reports" msgstr "" -#: common/models.py:969 +#: common/models.py:1038 msgid "Enable generation of test reports" msgstr "Włącz generowanie raportów testów" -#: common/models.py:975 +#: common/models.py:1044 msgid "Attach Test Reports" msgstr "" -#: common/models.py:976 +#: common/models.py:1045 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:982 +#: common/models.py:1051 msgid "Batch Code Template" msgstr "" -#: common/models.py:983 +#: common/models.py:1052 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:988 +#: common/models.py:1057 msgid "Stock Expiry" msgstr "" -#: common/models.py:989 +#: common/models.py:1058 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:995 +#: common/models.py:1064 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:996 +#: common/models.py:1065 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1002 +#: common/models.py:1071 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1003 +#: common/models.py:1072 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1005 +#: common/models.py:1074 msgid "days" msgstr "dni" -#: common/models.py:1010 +#: common/models.py:1079 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1011 +#: common/models.py:1080 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1017 +#: common/models.py:1086 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1018 +#: common/models.py:1087 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1024 +#: common/models.py:1093 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1025 +#: common/models.py:1094 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1030 +#: common/models.py:1099 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1031 +#: common/models.py:1100 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1035 +#: common/models.py:1104 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1036 +#: common/models.py:1105 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1041 +#: common/models.py:1110 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1042 +#: common/models.py:1111 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1048 +#: common/models.py:1117 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1049 +#: common/models.py:1118 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1055 +#: common/models.py:1124 msgid "Enable password forgot" msgstr "Włącz opcję zapomnianego hasła" -#: common/models.py:1056 +#: common/models.py:1125 msgid "Enable password forgot function on the login pages" msgstr "Włącz funkcję zapomnianego hasła na stronach logowania" -#: common/models.py:1062 +#: common/models.py:1131 msgid "Enable registration" msgstr "Włącz rejestrację" -#: common/models.py:1063 +#: common/models.py:1132 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:1069 +#: common/models.py:1138 msgid "Enable SSO" msgstr "Włącz SSO" -#: common/models.py:1070 +#: common/models.py:1139 msgid "Enable SSO on the login pages" msgstr "Włącz SSO na stronach logowania" -#: common/models.py:1076 +#: common/models.py:1145 msgid "Email required" msgstr "Adres e-mail jest wymagany" -#: common/models.py:1077 +#: common/models.py:1146 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1083 +#: common/models.py:1152 msgid "Auto-fill SSO users" msgstr "Autouzupełnianie użytkowników SSO" -#: common/models.py:1084 +#: common/models.py:1153 msgid "Automatically fill out user-details from SSO account-data" msgstr "Automatycznie wypełnij dane użytkownika z danych konta SSO" -#: common/models.py:1090 +#: common/models.py:1159 msgid "Mail twice" msgstr "E-mail dwa razy" -#: common/models.py:1091 +#: common/models.py:1160 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:1097 +#: common/models.py:1166 msgid "Password twice" msgstr "Hasło dwukrotnie" -#: common/models.py:1098 +#: common/models.py:1167 msgid "On signup ask users twice for their password" msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich hasło" -#: common/models.py:1104 +#: common/models.py:1173 msgid "Group on signup" msgstr "Grupuj przy rejestracji" -#: common/models.py:1105 +#: common/models.py:1174 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1111 +#: common/models.py:1180 msgid "Enforce MFA" msgstr "Wymuś MFA" -#: common/models.py:1112 +#: common/models.py:1181 msgid "Users must use multifactor security." msgstr "Użytkownicy muszą używać zabezpieczeń wieloskładnikowych." -#: common/models.py:1118 +#: common/models.py:1187 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1119 +#: common/models.py:1188 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1127 +#: common/models.py:1196 msgid "Enable URL integration" msgstr "Włącz integrację URL" -#: common/models.py:1128 +#: common/models.py:1197 msgid "Enable plugins to add URL routes" msgstr "Włącz wtyczki, aby dodać ścieżki URL" -#: common/models.py:1135 +#: common/models.py:1204 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1136 +#: common/models.py:1205 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1143 +#: common/models.py:1212 msgid "Enable app integration" msgstr "Włącz integrację z aplikacją" -#: common/models.py:1144 +#: common/models.py:1213 msgid "Enable plugins to add apps" msgstr "Włącz wtyczki, aby dodać aplikacje" -#: common/models.py:1151 +#: common/models.py:1220 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1152 +#: common/models.py:1221 msgid "Enable plugins to run scheduled tasks" msgstr "Włącz wtyczki, aby uruchamiać zaplanowane zadania" -#: common/models.py:1159 +#: common/models.py:1228 msgid "Enable event integration" msgstr "" -#: common/models.py:1160 +#: common/models.py:1229 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1177 common/models.py:1499 +#: common/models.py:1246 common/models.py:1568 msgid "Settings key (must be unique - case insensitive" msgstr "Klucz ustawień (musi być unikalny - niewrażliwy na wielkość liter" -#: common/models.py:1199 +#: common/models.py:1268 msgid "Show subscribed parts" msgstr "Pokaż obserwowane części" -#: common/models.py:1200 +#: common/models.py:1269 msgid "Show subscribed parts on the homepage" msgstr "Pokaż obserwowane części na stronie głównej" -#: common/models.py:1206 +#: common/models.py:1275 msgid "Show subscribed categories" msgstr "Pokaż obserwowane kategorie" -#: common/models.py:1207 +#: common/models.py:1276 msgid "Show subscribed part categories on the homepage" msgstr "Pokaż obserwowane kategorie części na stronie głównej" -#: common/models.py:1213 +#: common/models.py:1282 msgid "Show latest parts" msgstr "Pokaż najnowsze części" -#: common/models.py:1214 +#: common/models.py:1283 msgid "Show latest parts on the homepage" msgstr "Pokaż najnowsze części na stronie głównej" -#: common/models.py:1220 +#: common/models.py:1289 msgid "Recent Part Count" msgstr "" -#: common/models.py:1221 +#: common/models.py:1290 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1227 +#: common/models.py:1296 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1228 +#: common/models.py:1297 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1303 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1235 +#: common/models.py:1304 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1241 +#: common/models.py:1310 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1242 +#: common/models.py:1311 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1248 +#: common/models.py:1317 msgid "Show low stock" msgstr "Pokaż niski stan magazynowy" -#: common/models.py:1249 +#: common/models.py:1318 msgid "Show low stock items on the homepage" msgstr "Pokaż elementy o niskim stanie na stronie głównej" -#: common/models.py:1255 +#: common/models.py:1324 msgid "Show depleted stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1325 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1331 msgid "Show needed stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1332 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1338 msgid "Show expired stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1339 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1345 msgid "Show stale stock" msgstr "" -#: common/models.py:1277 +#: common/models.py:1346 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1352 msgid "Show pending builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1353 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1359 msgid "Show overdue builds" msgstr "" -#: common/models.py:1291 +#: common/models.py:1360 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1366 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1367 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1373 msgid "Show overdue POs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1374 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1380 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1381 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1387 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1319 +#: common/models.py:1388 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1324 +#: common/models.py:1393 msgid "Enable label printing" msgstr "" -#: common/models.py:1325 +#: common/models.py:1394 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1331 +#: common/models.py:1400 msgid "Inline label display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1401 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1407 msgid "Inline report display" msgstr "" -#: common/models.py:1339 +#: common/models.py:1408 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1345 +#: common/models.py:1414 msgid "Search Parts" msgstr "Szukaj części" -#: common/models.py:1346 +#: common/models.py:1415 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1421 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1422 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1428 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1429 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1435 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1367 +#: common/models.py:1436 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1442 msgid "Search Categories" msgstr "" -#: common/models.py:1374 +#: common/models.py:1443 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1449 msgid "Search Stock" msgstr "" -#: common/models.py:1381 +#: common/models.py:1450 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1456 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1388 +#: common/models.py:1457 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1463 msgid "Search Locations" msgstr "" -#: common/models.py:1395 +#: common/models.py:1464 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1470 msgid "Search Companies" msgstr "" -#: common/models.py:1402 +#: common/models.py:1471 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1477 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1478 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1484 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1485 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1491 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1492 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1498 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1430 +#: common/models.py:1499 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1505 msgid "Search Preview Results" msgstr "" -#: common/models.py:1437 +#: common/models.py:1506 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1512 msgid "Show Quantity in Forms" msgstr "Pokaż ilość w formularzach" -#: common/models.py:1444 +#: common/models.py:1513 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1519 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1451 +#: common/models.py:1520 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1457 +#: common/models.py:1526 msgid "Fixed Navbar" msgstr "Stały pasek nawigacyjny" -#: common/models.py:1458 +#: common/models.py:1527 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1464 +#: common/models.py:1533 msgid "Date Format" msgstr "Format daty" -#: common/models.py:1465 +#: common/models.py:1534 msgid "Preferred format for displaying dates" msgstr "Preferowany format wyświetlania dat" -#: common/models.py:1479 part/templates/part/detail.html:39 +#: common/models.py:1548 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "Planowanie komponentów" -#: common/models.py:1480 +#: common/models.py:1549 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1544 company/forms.py:37 +#: common/models.py:1608 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1551 company/serializers.py:319 +#: common/models.py:1615 company/serializers.py:319 #: company/templates/company/supplier_part.html:284 order/models.py:951 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:2095 msgid "Price" msgstr "Cena" -#: common/models.py:1552 +#: common/models.py:1616 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1712 common/models.py:1890 +#: common/models.py:1776 common/models.py:1954 msgid "Endpoint" msgstr "Punkt końcowy" -#: common/models.py:1713 +#: common/models.py:1777 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1722 +#: common/models.py:1786 msgid "Name for this webhook" msgstr "" -#: common/models.py:1727 part/models.py:911 plugin/models.py:99 +#: common/models.py:1791 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,67 +2458,67 @@ msgstr "" msgid "Active" msgstr "Aktywny" -#: common/models.py:1728 +#: common/models.py:1792 msgid "Is this webhook active" msgstr "" -#: common/models.py:1742 +#: common/models.py:1806 msgid "Token" msgstr "" -#: common/models.py:1743 +#: common/models.py:1807 msgid "Token for access" msgstr "" -#: common/models.py:1750 +#: common/models.py:1814 msgid "Secret" msgstr "Sekret" -#: common/models.py:1751 +#: common/models.py:1815 msgid "Shared secret for HMAC" msgstr "Współdzielony sekret dla HMAC" -#: common/models.py:1857 +#: common/models.py:1921 msgid "Message ID" msgstr "Id wiadomości" -#: common/models.py:1858 +#: common/models.py:1922 msgid "Unique identifier for this message" msgstr "Unikalny identyfikator dla tej wiadomości" -#: common/models.py:1866 +#: common/models.py:1930 msgid "Host" msgstr "" -#: common/models.py:1867 +#: common/models.py:1931 msgid "Host from which this message was received" msgstr "Host, od którego otrzymano tę wiadomość" -#: common/models.py:1874 +#: common/models.py:1938 msgid "Header" msgstr "Nagłówek" -#: common/models.py:1875 +#: common/models.py:1939 msgid "Header of this message" msgstr "Nagłówek tej wiadomości" -#: common/models.py:1881 +#: common/models.py:1945 msgid "Body" msgstr "Zawartość" -#: common/models.py:1882 +#: common/models.py:1946 msgid "Body of this message" msgstr "" -#: common/models.py:1891 +#: common/models.py:1955 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1896 +#: common/models.py:1960 msgid "Worked on" msgstr "" -#: common/models.py:1897 +#: common/models.py:1961 msgid "Was the work on this message finished?" msgstr "" @@ -2657,7 +2657,7 @@ msgstr "Czy to przedsiębiorstwo produkuje części?" #: company/models.py:145 company/serializers.py:325 #: company/templates/company/company_base.html:106 part/serializers.py:139 -#: part/serializers.py:170 stock/serializers.py:162 +#: part/serializers.py:170 stock/serializers.py:163 msgid "Currency" msgstr "Waluta" @@ -2793,7 +2793,7 @@ msgstr "" #: company/models.py:519 company/templates/company/supplier_part.html:146 #: 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 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:388 msgid "Note" msgstr "Uwaga" @@ -2807,7 +2807,7 @@ msgstr "" #: company/models.py:525 company/templates/company/supplier_part.html:139 #: stock/models.py:608 stock/templates/stock/item_base.html:245 -#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1974 +#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1975 msgid "Packaging" msgstr "Opakowanie" @@ -2902,11 +2902,11 @@ msgstr "Pobierz obraz z adresu URL" #: company/templates/company/company_base.html:86 order/models.py:651 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:745 +#: stock/models.py:628 stock/serializers.py:785 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:381 templates/js/translated/order.js:2458 -#: templates/js/translated/stock.js:2493 +#: templates/js/translated/stock.js:2494 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "Klient" @@ -3079,7 +3079,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 -#: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:33 +#: templates/js/translated/forms.js:442 templates/js/translated/helpers.js:33 #: users/models.py:219 msgid "Delete" msgstr "Usuń" @@ -3127,7 +3127,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:894 templates/js/translated/order.js:884 -#: templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:1932 msgid "Supplier Part" msgstr "" @@ -3235,7 +3235,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:43 #: templates/js/translated/bom.js:554 templates/js/translated/part.js:747 #: templates/js/translated/part.js:1295 templates/js/translated/part.js:1456 -#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1749 +#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1750 #: templates/navbar.html:31 msgid "Stock" msgstr "Stan" @@ -3262,7 +3262,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:2369 users/models.py:39 +#: templates/js/translated/stock.js:2370 users/models.py:39 msgid "Stock Items" msgstr "Towary" @@ -3536,8 +3536,8 @@ msgstr "Zamówienie" #: 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:968 templates/js/translated/stock.js:1908 -#: templates/js/translated/stock.js:2474 +#: templates/js/translated/part.js:968 templates/js/translated/stock.js:1909 +#: templates/js/translated/stock.js:2475 msgid "Purchase Order" msgstr "Zlecenie zakupu" @@ -3557,8 +3557,8 @@ msgid "Number of items received" msgstr "" #: order/models.py:1030 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:1962 +#: stock/serializers.py:154 stock/templates/stock/item_base.html:191 +#: templates/js/translated/stock.js:1963 msgid "Purchase Price" msgstr "Cena zakupu" @@ -4121,19 +4121,19 @@ msgstr "" msgid "This option must be selected" msgstr "Ta opcja musi być zaznaczona" -#: part/api.py:1011 +#: part/api.py:1058 msgid "Must be greater than zero" msgstr "Musi być większe niż zero" -#: part/api.py:1015 +#: part/api.py:1062 msgid "Must be a valid quantity" msgstr "Musi być prawidłową ilością" -#: part/api.py:1030 +#: part/api.py:1077 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 +#: part/api.py:1108 part/api.py:1112 part/api.py:1127 part/api.py:1131 msgid "This field is required" msgstr "To pole jest wymagane" @@ -4268,7 +4268,7 @@ msgstr "" #: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:735 templates/js/translated/part.js:1391 -#: templates/js/translated/stock.js:1721 +#: templates/js/translated/stock.js:1722 msgid "IPN" msgstr "" @@ -4611,7 +4611,7 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:164 msgid "Purchase currency of this stock item" msgstr "Waluta zakupu tego towaru" @@ -5752,7 +5752,7 @@ 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:2402 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2403 msgid "Date" msgstr "Data" @@ -5771,19 +5771,19 @@ msgstr "Zainstalowane elementy" #: report/templates/report/inventree_test_report_base.html:137 #: templates/js/translated/stock.js:606 templates/js/translated/stock.js:776 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2652 msgid "Serial" msgstr "Numer seryjny" -#: stock/api.py:505 +#: stock/api.py:511 msgid "Quantity is required" msgstr "" -#: stock/api.py:512 +#: stock/api.py:518 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:537 +#: stock/api.py:543 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5891,7 +5891,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1879 msgid "Expiry Date" msgstr "Data ważności" @@ -5969,7 +5969,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1347 stock/serializers.py:895 +#: stock/models.py:1347 stock/serializers.py:935 msgid "Duplicate stock items" msgstr "" @@ -6021,120 +6021,128 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:156 +#: stock/serializers.py:157 msgid "Purchase price of this stock item" msgstr "Cena zakupu tego towaru" -#: stock/serializers.py:280 +#: stock/serializers.py:281 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:293 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:299 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 +#: stock/serializers.py:310 stock/serializers.py:892 stock/serializers.py:1125 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:316 +#: stock/serializers.py:317 msgid "Optional note field" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:327 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:344 msgid "Serial numbers already exist" msgstr "Numer seryjny już istnieje" -#: stock/serializers.py:383 +#: stock/serializers.py:384 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:397 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:404 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:440 +#: stock/serializers.py:441 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:445 stock/serializers.py:487 +#: stock/serializers.py:446 stock/serializers.py:527 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:482 +#: stock/serializers.py:480 +msgid "Select part to convert stock item into" +msgstr "" + +#: stock/serializers.py:491 +msgid "Selected part is not a valid option for conversion" +msgstr "" + +#: stock/serializers.py:522 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:707 +#: stock/serializers.py:747 msgid "Part must be salable" msgstr "Część musi być dostępna do sprzedaży" -#: stock/serializers.py:711 +#: stock/serializers.py:751 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:755 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:786 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:752 +#: stock/serializers.py:792 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:760 +#: stock/serializers.py:800 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:770 stock/serializers.py:1001 +#: stock/serializers.py:810 stock/serializers.py:1041 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:859 +#: stock/serializers.py:899 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:864 +#: stock/serializers.py:904 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:865 +#: stock/serializers.py:905 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:870 +#: stock/serializers.py:910 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:871 +#: stock/serializers.py:911 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:881 +#: stock/serializers.py:921 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:963 +#: stock/serializers.py:1003 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:1031 msgid "Stock transaction notes" msgstr "" @@ -6171,7 +6179,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2795 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2796 msgid "Install Stock Item" msgstr "" @@ -6179,7 +6187,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1517 +#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1518 msgid "Add Test Result" msgstr "" @@ -6366,7 +6374,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1894 +#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1895 msgid "Last Updated" msgstr "Ostatnia aktualizacja" @@ -6382,7 +6390,23 @@ msgstr "" msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:642 +#: stock/templates/stock/item_base.html:594 +msgid "Select one of the part variants listed below." +msgstr "" + +#: stock/templates/stock/item_base.html:597 +msgid "Warning" +msgstr "Ostrzeżenie" + +#: stock/templates/stock/item_base.html:598 +msgid "This action cannot be easily undone" +msgstr "" + +#: stock/templates/stock/item_base.html:606 +msgid "Convert Stock Item" +msgstr "" + +#: stock/templates/stock/item_base.html:664 msgid "Return to Stock" msgstr "Wróć do stanu magazynowego" @@ -6466,32 +6490,11 @@ msgstr "" msgid "Child Items" msgstr "Elementy podrzędne" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:143 -msgid "Convert Stock Item" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:8 -#, python-format -msgid "This stock item is current an instance of %(part)s" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:9 -msgid "It can be converted to one of the part variants listed below." -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:13 -msgid "Warning" -msgstr "Ostrzeżenie" - -#: stock/templates/stock/stockitem_convert.html:14 -msgid "This action cannot be easily undone" -msgstr "" - -#: stock/views.py:110 +#: stock/views.py:109 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:126 +#: stock/views.py:125 msgid "Stock Item QR Code" msgstr "" @@ -7303,7 +7306,7 @@ 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 +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:633 msgid "Confirm" msgstr "Potwierdź" @@ -8178,8 +8181,8 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2447 templates/js/translated/part.js:1383 -#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1681 -#: templates/js/translated/stock.js:2339 +#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:2340 msgid "Select" msgstr "Wybierz" @@ -8191,7 +8194,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2581 +#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2582 msgid "No user information" msgstr "Brak informacji o użytkowniku" @@ -8345,61 +8348,61 @@ msgstr "Wyczyść wszystkie filtry" msgid "Create filter" msgstr "Utwórz filtr" -#: templates/js/translated/forms.js:353 templates/js/translated/forms.js:368 -#: templates/js/translated/forms.js:382 templates/js/translated/forms.js:396 +#: templates/js/translated/forms.js:356 templates/js/translated/forms.js:371 +#: templates/js/translated/forms.js:385 templates/js/translated/forms.js:399 msgid "Action Prohibited" msgstr "Działanie zabronione" -#: templates/js/translated/forms.js:355 +#: templates/js/translated/forms.js:358 msgid "Create operation not allowed" msgstr "Operacja utworzenia nie jest dozwolona" -#: templates/js/translated/forms.js:370 +#: templates/js/translated/forms.js:373 msgid "Update operation not allowed" msgstr "Operacja aktualizacji nie jest dozwolona" -#: templates/js/translated/forms.js:384 +#: templates/js/translated/forms.js:387 msgid "Delete operation not allowed" msgstr "Operacja usuwania nie jest dozwolona" -#: templates/js/translated/forms.js:398 +#: templates/js/translated/forms.js:401 msgid "View operation not allowed" msgstr "Operacja przeglądania nie jest dozwolona" -#: templates/js/translated/forms.js:656 +#: templates/js/translated/forms.js:659 msgid "Keep this form open" msgstr "Pozostaw ten formularz otwarty" -#: templates/js/translated/forms.js:757 +#: templates/js/translated/forms.js:760 msgid "Enter a valid number" msgstr "Wprowadź poprawny numer" -#: templates/js/translated/forms.js:1249 templates/modals.html:19 +#: templates/js/translated/forms.js:1252 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Istnieją błędy formularza" -#: templates/js/translated/forms.js:1682 +#: templates/js/translated/forms.js:1685 msgid "No results found" msgstr "Nie znaleziono wyników" -#: templates/js/translated/forms.js:1897 templates/search.html:29 +#: templates/js/translated/forms.js:1900 templates/search.html:29 msgid "Searching" msgstr "Wyszukiwanie" -#: templates/js/translated/forms.js:2150 +#: templates/js/translated/forms.js:2153 msgid "Clear input" msgstr "Wyczyść wejście" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "File Column" msgstr "Kolumna pliku" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "Field Name" msgstr "Nazwa pola" -#: templates/js/translated/forms.js:2628 +#: templates/js/translated/forms.js:2631 msgid "Select Columns" msgstr "Wybór Kolumn" @@ -8730,7 +8733,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2142 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2143 msgid "Stock Status" msgstr "" @@ -8924,7 +8927,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1597 +#: templates/js/translated/stock.js:1598 msgid "Shipped to customer" msgstr "" @@ -9190,7 +9193,7 @@ msgid "No category" msgstr "Brak kategorii" #: templates/js/translated/part.js:1573 templates/js/translated/part.js:1785 -#: templates/js/translated/stock.js:2300 +#: templates/js/translated/stock.js:2301 msgid "Display as list" msgstr "Wyświetl jako listę" @@ -9214,7 +9217,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2319 +#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2320 msgid "Display as tree" msgstr "Wyświetl jako drzewo" @@ -9222,7 +9225,7 @@ msgstr "Wyświetl jako drzewo" msgid "Subscribed category" msgstr "Obserwowana kategoria" -#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2363 +#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2364 msgid "Path" msgstr "Ścieżka" @@ -9235,7 +9238,7 @@ msgid "Edit test result" msgstr "" #: templates/js/translated/part.js:1978 templates/js/translated/stock.js:1296 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1556 msgid "Delete test result" msgstr "" @@ -9568,180 +9571,180 @@ msgstr "Dodaj wynik testu" msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1374 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1538 +#: templates/js/translated/stock.js:1539 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/stock.js:1561 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1590 msgid "In production" msgstr "W produkcji" -#: templates/js/translated/stock.js:1593 +#: templates/js/translated/stock.js:1594 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1601 +#: templates/js/translated/stock.js:1602 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1607 +#: templates/js/translated/stock.js:1608 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1775 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:1780 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1782 +#: templates/js/translated/stock.js:1783 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1785 +#: templates/js/translated/stock.js:1786 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1787 +#: templates/js/translated/stock.js:1788 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1790 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1793 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1797 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1799 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1806 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1807 +#: templates/js/translated/stock.js:1808 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1809 +#: templates/js/translated/stock.js:1810 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1813 +#: templates/js/translated/stock.js:1814 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1865 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1946 +#: templates/js/translated/stock.js:1947 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1984 +#: templates/js/translated/stock.js:1985 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2157 +#: templates/js/translated/stock.js:2158 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2171 +#: templates/js/translated/stock.js:2172 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2173 msgid "Status code must be selected" msgstr "Kod statusu musi być wybrany" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Details" msgstr "Szczegóły" -#: templates/js/translated/stock.js:2443 +#: templates/js/translated/stock.js:2444 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2465 +#: templates/js/translated/stock.js:2466 msgid "Location no longer exists" msgstr "Lokalizacja już nie istnieje" -#: templates/js/translated/stock.js:2484 +#: templates/js/translated/stock.js:2485 msgid "Purchase order no longer exists" msgstr "Zamówienie zakupu już nie istnieje" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2504 msgid "Customer no longer exists" msgstr "Klient już nie istnieje" -#: templates/js/translated/stock.js:2521 +#: templates/js/translated/stock.js:2522 msgid "Stock item no longer exists" msgstr "Element magazynowy już nie istnieje" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2545 msgid "Added" msgstr "Dodano" -#: templates/js/translated/stock.js:2552 +#: templates/js/translated/stock.js:2553 msgid "Removed" msgstr "Usunięto" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2629 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2679 templates/js/translated/stock.js:2715 +#: templates/js/translated/stock.js:2680 templates/js/translated/stock.js:2716 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2729 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2749 +#: templates/js/translated/stock.js:2750 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2751 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2753 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/stock.js:2754 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2755 +#: templates/js/translated/stock.js:2756 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2768 +#: templates/js/translated/stock.js:2769 msgid "Select part to install" msgstr "" @@ -9993,61 +9996,61 @@ msgstr "Eksportuj dane tabeli" msgid "Select File Format" msgstr "Wybierz format pliku" -#: templates/js/translated/tables.js:525 +#: templates/js/translated/tables.js:534 msgid "Loading data" msgstr "Wczytywanie danych" -#: templates/js/translated/tables.js:528 +#: templates/js/translated/tables.js:537 msgid "rows per page" msgstr "wierszy na stronę" -#: templates/js/translated/tables.js:533 +#: templates/js/translated/tables.js:542 msgid "Showing all rows" msgstr "Pokaż wszystkie wiersze" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "Showing" msgstr "Pokazywane" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "to" msgstr "do" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "of" msgstr "z" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "rows" msgstr "wierszy" -#: templates/js/translated/tables.js:539 templates/navbar.html:102 +#: templates/js/translated/tables.js:548 templates/navbar.html:102 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" msgstr "Szukaj" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:551 msgid "No matching results" msgstr "Brak pasujących wyników" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:554 msgid "Hide/Show pagination" msgstr "Ukryj/Pokaż stronicowanie" -#: templates/js/translated/tables.js:548 +#: templates/js/translated/tables.js:557 msgid "Refresh" msgstr "Odśwież" -#: templates/js/translated/tables.js:551 +#: templates/js/translated/tables.js:560 msgid "Toggle" msgstr "Przełącz" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:563 msgid "Columns" msgstr "Kolumny" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:566 msgid "All" msgstr "Wszystkie" diff --git a/InvenTree/locale/pt/LC_MESSAGES/django.po b/InvenTree/locale/pt/LC_MESSAGES/django.po index 7a0744d1b4..57583ce612 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-11 13:14+0000\n" -"PO-Revision-Date: 2022-06-11 15:03\n" +"POT-Creation-Date: 2022-06-15 08:34+0000\n" +"PO-Revision-Date: 2022-06-15 16:22\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -141,12 +141,12 @@ msgstr "" msgid "File comment" msgstr "" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1575 +#: common/models.py:1576 common/models.py:1799 common/models.py:1800 +#: common/models.py:2062 common/models.py:2063 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:2575 +#: templates/js/translated/stock.js:2576 msgid "User" msgstr "" @@ -183,7 +183,7 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1785 #: company/models.py:355 label/models.py:101 part/models.py:739 #: part/models.py:2319 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -195,7 +195,7 @@ msgstr "" #: templates/js/translated/company.js:744 #: templates/js/translated/notification.js:73 #: templates/js/translated/part.js:684 templates/js/translated/part.js:836 -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2345 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2346 msgid "Name" msgstr "" @@ -217,8 +217,8 @@ msgstr "" #: templates/js/translated/order.js:1888 templates/js/translated/order.js:2476 #: templates/js/translated/part.js:743 templates/js/translated/part.js:1151 #: templates/js/translated/part.js:1424 templates/js/translated/part.js:1876 -#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1738 -#: templates/js/translated/stock.js:2357 templates/js/translated/stock.js:2412 +#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1739 +#: templates/js/translated/stock.js:2358 templates/js/translated/stock.js:2413 msgid "Description" msgstr "" @@ -292,99 +292,99 @@ msgstr "" msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:689 msgid "Czech" msgstr "" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:690 msgid "German" msgstr "" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:691 msgid "Greek" msgstr "" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:692 msgid "English" msgstr "" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:693 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:694 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:695 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:696 msgid "French" msgstr "" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:697 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:698 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:699 msgid "Italian" msgstr "" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:700 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:701 msgid "Korean" msgstr "" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:702 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:703 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:704 msgid "Polish" msgstr "" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:705 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:706 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:707 msgid "Russian" msgstr "" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:708 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:709 msgid "Thai" msgstr "" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:710 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:711 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:712 msgid "Chinese" msgstr "" @@ -515,7 +515,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2082 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2083 msgid "Merged stock items" msgstr "" @@ -669,7 +669,7 @@ msgstr "" #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:479 #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 @@ -688,8 +688,8 @@ msgstr "" #: templates/js/translated/part.js:1136 templates/js/translated/part.js:1206 #: templates/js/translated/part.js:1402 templates/js/translated/stock.js:582 #: templates/js/translated/stock.js:747 templates/js/translated/stock.js:954 -#: templates/js/translated/stock.js:1695 templates/js/translated/stock.js:2438 -#: templates/js/translated/stock.js:2633 templates/js/translated/stock.js:2767 +#: templates/js/translated/stock.js:1696 templates/js/translated/stock.js:2439 +#: templates/js/translated/stock.js:2634 templates/js/translated/stock.js:2768 msgid "Part" msgstr "" @@ -815,14 +815,14 @@ msgstr "" #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 #: 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:759 stock/serializers.py:858 stock/serializers.py:990 +#: stock/serializers.py:316 stock/serializers.py:445 stock/serializers.py:526 +#: stock/serializers.py:799 stock/serializers.py:898 stock/serializers.py:1030 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1038 #: templates/js/translated/company.js:949 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:1369 templates/js/translated/stock.js:1978 +#: templates/js/translated/stock.js:1370 templates/js/translated/stock.js:1979 msgid "Notes" msgstr "" @@ -878,8 +878,8 @@ msgid "Build to allocate parts" msgstr "" #: 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 +#: order/serializers.py:1017 stock/serializers.py:383 stock/serializers.py:730 +#: stock/serializers.py:856 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 @@ -888,7 +888,7 @@ msgstr "" #: 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:583 templates/js/translated/stock.js:748 -#: templates/js/translated/stock.js:2511 +#: templates/js/translated/stock.js:2512 msgid "Stock Item" msgstr "" @@ -898,7 +898,7 @@ msgstr "" #: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1543 +#: build/templates/build/detail.html:34 common/models.py:1607 #: company/forms.py:36 company/templates/company/supplier_part.html:279 #: order/models.py:911 order/models.py:1414 order/serializers.py:1136 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 @@ -911,7 +911,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:280 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:691 #: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 @@ -928,7 +928,7 @@ msgstr "" #: templates/js/translated/part.js:2321 templates/js/translated/part.js:2355 #: templates/js/translated/part.js:2433 templates/js/translated/stock.js:454 #: templates/js/translated/stock.js:608 templates/js/translated/stock.js:778 -#: templates/js/translated/stock.js:2560 templates/js/translated/stock.js:2645 +#: templates/js/translated/stock.js:2561 templates/js/translated/stock.js:2646 msgid "Quantity" msgstr "" @@ -972,7 +972,7 @@ msgstr "" #: build/serializers.py:198 build/serializers.py:623 order/models.py:354 #: 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 +#: stock/serializers.py:289 msgid "Quantity must be greater than zero" msgstr "" @@ -985,7 +985,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 -#: stock/serializers.py:297 templates/js/translated/order.js:1186 +#: stock/serializers.py:298 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:267 templates/js/translated/stock.js:455 msgid "Serial Numbers" msgstr "" @@ -1002,7 +1002,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:553 +#: build/serializers.py:268 stock/api.py:559 msgid "The following serial numbers already exist" msgstr "" @@ -1011,8 +1011,8 @@ msgid "A list of build outputs must be provided" 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:851 stock/serializers.py:1084 +#: stock/serializers.py:309 stock/serializers.py:440 stock/serializers.py:521 +#: stock/serializers.py:891 stock/serializers.py:1124 #: 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 @@ -1021,7 +1021,7 @@ msgstr "" #: templates/js/translated/order.js:3247 templates/js/translated/order.js:3328 #: templates/js/translated/part.js:181 templates/js/translated/stock.js:584 #: templates/js/translated/stock.js:749 templates/js/translated/stock.js:956 -#: templates/js/translated/stock.js:1849 templates/js/translated/stock.js:2452 +#: templates/js/translated/stock.js:1850 templates/js/translated/stock.js:2453 msgid "Location" msgstr "" @@ -1034,8 +1034,8 @@ msgstr "" #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2509 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 -#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1824 -#: templates/js/translated/stock.js:2529 templates/js/translated/stock.js:2661 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1825 +#: templates/js/translated/stock.js:2530 templates/js/translated/stock.js:2662 msgid "Status" msgstr "" @@ -1112,7 +1112,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:703 +#: build/serializers.py:609 stock/serializers.py:743 msgid "Item must be in stock" msgstr "" @@ -1333,8 +1333,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:1022 templates/js/translated/stock.js:1838 -#: templates/js/translated/stock.js:2668 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:1839 +#: templates/js/translated/stock.js:2669 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1545,912 +1545,912 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:365 +#: common/models.py:434 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:367 +#: common/models.py:436 msgid "Settings value" msgstr "" -#: common/models.py:408 +#: common/models.py:477 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:425 +#: common/models.py:494 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:436 +#: common/models.py:505 msgid "Value must be an integer value" msgstr "" -#: common/models.py:481 +#: common/models.py:550 msgid "Key string must be unique" msgstr "" -#: common/models.py:665 +#: common/models.py:734 msgid "No group" msgstr "" -#: common/models.py:704 +#: common/models.py:773 msgid "Restart required" msgstr "" -#: common/models.py:705 +#: common/models.py:774 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:712 +#: common/models.py:781 msgid "Server Instance Name" msgstr "" -#: common/models.py:714 +#: common/models.py:783 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:718 +#: common/models.py:787 msgid "Use instance name" msgstr "" -#: common/models.py:719 +#: common/models.py:788 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:725 +#: common/models.py:794 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:726 +#: common/models.py:795 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:732 company/models.py:93 company/models.py:94 +#: common/models.py:801 company/models.py:93 company/models.py:94 msgid "Company name" msgstr "" -#: common/models.py:733 +#: common/models.py:802 msgid "Internal company name" msgstr "" -#: common/models.py:738 +#: common/models.py:807 msgid "Base URL" msgstr "" -#: common/models.py:739 +#: common/models.py:808 msgid "Base URL for server instance" msgstr "" -#: common/models.py:745 +#: common/models.py:814 msgid "Default Currency" msgstr "" -#: common/models.py:746 +#: common/models.py:815 msgid "Default currency" msgstr "" -#: common/models.py:752 +#: common/models.py:821 msgid "Download from URL" msgstr "" -#: common/models.py:753 +#: common/models.py:822 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:828 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:760 +#: common/models.py:829 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:766 +#: common/models.py:835 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:767 +#: common/models.py:836 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:773 +#: common/models.py:842 msgid "IPN Regex" msgstr "" -#: common/models.py:774 +#: common/models.py:843 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:778 +#: common/models.py:847 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:779 +#: common/models.py:848 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:785 +#: common/models.py:854 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:786 +#: common/models.py:855 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:792 +#: common/models.py:861 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:793 +#: common/models.py:862 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:799 +#: common/models.py:868 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:800 +#: common/models.py:869 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:806 +#: common/models.py:875 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:807 +#: common/models.py:876 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:813 +#: common/models.py:882 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:814 +#: common/models.py:883 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:820 part/models.py:2360 report/models.py:157 +#: common/models.py:889 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:821 +#: common/models.py:890 msgid "Parts are templates by default" msgstr "" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 +#: common/models.py:896 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" msgstr "" -#: common/models.py:828 +#: common/models.py:897 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:834 part/models.py:890 +#: common/models.py:903 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:835 +#: common/models.py:904 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:841 part/models.py:901 +#: common/models.py:910 part/models.py:901 msgid "Purchaseable" msgstr "" -#: common/models.py:842 +#: common/models.py:911 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:848 part/models.py:906 +#: common/models.py:917 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:849 +#: common/models.py:918 msgid "Parts are salable by default" msgstr "" -#: common/models.py:855 part/models.py:896 +#: common/models.py:924 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:856 +#: common/models.py:925 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:862 part/models.py:916 +#: common/models.py:931 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:863 +#: common/models.py:932 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:869 +#: common/models.py:938 msgid "Show Import in Views" msgstr "" -#: common/models.py:870 +#: common/models.py:939 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:876 +#: common/models.py:945 msgid "Show Price in Forms" msgstr "" -#: common/models.py:877 +#: common/models.py:946 msgid "Display part price in some forms" msgstr "" -#: common/models.py:888 +#: common/models.py:957 msgid "Show Price in BOM" msgstr "" -#: common/models.py:889 +#: common/models.py:958 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:900 +#: common/models.py:969 msgid "Show Price History" msgstr "" -#: common/models.py:901 +#: common/models.py:970 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:907 +#: common/models.py:976 msgid "Show related parts" msgstr "" -#: common/models.py:908 +#: common/models.py:977 msgid "Display related parts for a part" msgstr "" -#: common/models.py:914 +#: common/models.py:983 msgid "Create initial stock" msgstr "" -#: common/models.py:915 +#: common/models.py:984 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:921 +#: common/models.py:990 msgid "Internal Prices" msgstr "" -#: common/models.py:922 +#: common/models.py:991 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:928 +#: common/models.py:997 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:929 +#: common/models.py:998 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:935 +#: common/models.py:1004 msgid "Part Name Display Format" msgstr "" -#: common/models.py:936 +#: common/models.py:1005 msgid "Format to display the part name" msgstr "" -#: common/models.py:943 +#: common/models.py:1012 msgid "Enable Reports" msgstr "" -#: common/models.py:944 +#: common/models.py:1013 msgid "Enable generation of reports" msgstr "" -#: common/models.py:950 templates/stats.html:25 +#: common/models.py:1019 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:951 +#: common/models.py:1020 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:957 +#: common/models.py:1026 msgid "Page Size" msgstr "" -#: common/models.py:958 +#: common/models.py:1027 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:968 +#: common/models.py:1037 msgid "Enable Test Reports" msgstr "" -#: common/models.py:969 +#: common/models.py:1038 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:975 +#: common/models.py:1044 msgid "Attach Test Reports" msgstr "" -#: common/models.py:976 +#: common/models.py:1045 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:982 +#: common/models.py:1051 msgid "Batch Code Template" msgstr "" -#: common/models.py:983 +#: common/models.py:1052 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:988 +#: common/models.py:1057 msgid "Stock Expiry" msgstr "" -#: common/models.py:989 +#: common/models.py:1058 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:995 +#: common/models.py:1064 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:996 +#: common/models.py:1065 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1002 +#: common/models.py:1071 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1003 +#: common/models.py:1072 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1005 +#: common/models.py:1074 msgid "days" msgstr "" -#: common/models.py:1010 +#: common/models.py:1079 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1011 +#: common/models.py:1080 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1017 +#: common/models.py:1086 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1018 +#: common/models.py:1087 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1024 +#: common/models.py:1093 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1025 +#: common/models.py:1094 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1030 +#: common/models.py:1099 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1031 +#: common/models.py:1100 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1035 +#: common/models.py:1104 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1036 +#: common/models.py:1105 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1041 +#: common/models.py:1110 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1042 +#: common/models.py:1111 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1048 +#: common/models.py:1117 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1049 +#: common/models.py:1118 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1055 +#: common/models.py:1124 msgid "Enable password forgot" msgstr "" -#: common/models.py:1056 +#: common/models.py:1125 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1131 msgid "Enable registration" msgstr "" -#: common/models.py:1063 +#: common/models.py:1132 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1069 +#: common/models.py:1138 msgid "Enable SSO" msgstr "" -#: common/models.py:1070 +#: common/models.py:1139 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1076 +#: common/models.py:1145 msgid "Email required" msgstr "" -#: common/models.py:1077 +#: common/models.py:1146 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1083 +#: common/models.py:1152 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1084 +#: common/models.py:1153 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1090 +#: common/models.py:1159 msgid "Mail twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1160 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1097 +#: common/models.py:1166 msgid "Password twice" msgstr "" -#: common/models.py:1098 +#: common/models.py:1167 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1104 +#: common/models.py:1173 msgid "Group on signup" msgstr "" -#: common/models.py:1105 +#: common/models.py:1174 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1111 +#: common/models.py:1180 msgid "Enforce MFA" msgstr "" -#: common/models.py:1112 +#: common/models.py:1181 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1118 +#: common/models.py:1187 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1119 +#: common/models.py:1188 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1127 +#: common/models.py:1196 msgid "Enable URL integration" msgstr "" -#: common/models.py:1128 +#: common/models.py:1197 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1135 +#: common/models.py:1204 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1136 +#: common/models.py:1205 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1143 +#: common/models.py:1212 msgid "Enable app integration" msgstr "" -#: common/models.py:1144 +#: common/models.py:1213 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1151 +#: common/models.py:1220 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1152 +#: common/models.py:1221 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1159 +#: common/models.py:1228 msgid "Enable event integration" msgstr "" -#: common/models.py:1160 +#: common/models.py:1229 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1177 common/models.py:1499 +#: common/models.py:1246 common/models.py:1568 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1199 +#: common/models.py:1268 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1200 +#: common/models.py:1269 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1275 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1207 +#: common/models.py:1276 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1213 +#: common/models.py:1282 msgid "Show latest parts" msgstr "" -#: common/models.py:1214 +#: common/models.py:1283 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1220 +#: common/models.py:1289 msgid "Recent Part Count" msgstr "" -#: common/models.py:1221 +#: common/models.py:1290 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1227 +#: common/models.py:1296 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1228 +#: common/models.py:1297 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1303 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1235 +#: common/models.py:1304 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1241 +#: common/models.py:1310 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1242 +#: common/models.py:1311 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1248 +#: common/models.py:1317 msgid "Show low stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1318 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1324 msgid "Show depleted stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1325 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1331 msgid "Show needed stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1332 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1338 msgid "Show expired stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1339 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1345 msgid "Show stale stock" msgstr "" -#: common/models.py:1277 +#: common/models.py:1346 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1352 msgid "Show pending builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1353 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1359 msgid "Show overdue builds" msgstr "" -#: common/models.py:1291 +#: common/models.py:1360 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1366 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1367 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1373 msgid "Show overdue POs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1374 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1380 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1381 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1387 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1319 +#: common/models.py:1388 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1324 +#: common/models.py:1393 msgid "Enable label printing" msgstr "" -#: common/models.py:1325 +#: common/models.py:1394 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1331 +#: common/models.py:1400 msgid "Inline label display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1401 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1407 msgid "Inline report display" msgstr "" -#: common/models.py:1339 +#: common/models.py:1408 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1345 +#: common/models.py:1414 msgid "Search Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1415 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1421 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1422 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1428 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1429 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1435 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1367 +#: common/models.py:1436 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1442 msgid "Search Categories" msgstr "" -#: common/models.py:1374 +#: common/models.py:1443 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1449 msgid "Search Stock" msgstr "" -#: common/models.py:1381 +#: common/models.py:1450 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1456 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1388 +#: common/models.py:1457 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1463 msgid "Search Locations" msgstr "" -#: common/models.py:1395 +#: common/models.py:1464 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1470 msgid "Search Companies" msgstr "" -#: common/models.py:1402 +#: common/models.py:1471 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1477 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1478 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1484 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1485 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1491 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1492 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1498 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1430 +#: common/models.py:1499 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1505 msgid "Search Preview Results" msgstr "" -#: common/models.py:1437 +#: common/models.py:1506 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1512 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1513 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1519 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1451 +#: common/models.py:1520 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1457 +#: common/models.py:1526 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1458 +#: common/models.py:1527 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1464 +#: common/models.py:1533 msgid "Date Format" msgstr "" -#: common/models.py:1465 +#: common/models.py:1534 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1479 part/templates/part/detail.html:39 +#: common/models.py:1548 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1480 +#: common/models.py:1549 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1544 company/forms.py:37 +#: common/models.py:1608 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1551 company/serializers.py:319 +#: common/models.py:1615 company/serializers.py:319 #: company/templates/company/supplier_part.html:284 order/models.py:951 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:2095 msgid "Price" msgstr "" -#: common/models.py:1552 +#: common/models.py:1616 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1712 common/models.py:1890 +#: common/models.py:1776 common/models.py:1954 msgid "Endpoint" msgstr "" -#: common/models.py:1713 +#: common/models.py:1777 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1722 +#: common/models.py:1786 msgid "Name for this webhook" msgstr "" -#: common/models.py:1727 part/models.py:911 plugin/models.py:99 +#: common/models.py:1791 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,67 +2458,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1728 +#: common/models.py:1792 msgid "Is this webhook active" msgstr "" -#: common/models.py:1742 +#: common/models.py:1806 msgid "Token" msgstr "" -#: common/models.py:1743 +#: common/models.py:1807 msgid "Token for access" msgstr "" -#: common/models.py:1750 +#: common/models.py:1814 msgid "Secret" msgstr "" -#: common/models.py:1751 +#: common/models.py:1815 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1857 +#: common/models.py:1921 msgid "Message ID" msgstr "" -#: common/models.py:1858 +#: common/models.py:1922 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1866 +#: common/models.py:1930 msgid "Host" msgstr "" -#: common/models.py:1867 +#: common/models.py:1931 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1874 +#: common/models.py:1938 msgid "Header" msgstr "" -#: common/models.py:1875 +#: common/models.py:1939 msgid "Header of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1945 msgid "Body" msgstr "" -#: common/models.py:1882 +#: common/models.py:1946 msgid "Body of this message" msgstr "" -#: common/models.py:1891 +#: common/models.py:1955 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1896 +#: common/models.py:1960 msgid "Worked on" msgstr "" -#: common/models.py:1897 +#: common/models.py:1961 msgid "Was the work on this message finished?" msgstr "" @@ -2657,7 +2657,7 @@ msgstr "" #: company/models.py:145 company/serializers.py:325 #: company/templates/company/company_base.html:106 part/serializers.py:139 -#: part/serializers.py:170 stock/serializers.py:162 +#: part/serializers.py:170 stock/serializers.py:163 msgid "Currency" msgstr "" @@ -2793,7 +2793,7 @@ msgstr "" #: company/models.py:519 company/templates/company/supplier_part.html:146 #: 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 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:388 msgid "Note" msgstr "" @@ -2807,7 +2807,7 @@ msgstr "" #: company/models.py:525 company/templates/company/supplier_part.html:139 #: stock/models.py:608 stock/templates/stock/item_base.html:245 -#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1974 +#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1975 msgid "Packaging" msgstr "" @@ -2902,11 +2902,11 @@ msgstr "" #: company/templates/company/company_base.html:86 order/models.py:651 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:745 +#: stock/models.py:628 stock/serializers.py:785 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:381 templates/js/translated/order.js:2458 -#: templates/js/translated/stock.js:2493 +#: templates/js/translated/stock.js:2494 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "" @@ -3079,7 +3079,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 -#: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:33 +#: templates/js/translated/forms.js:442 templates/js/translated/helpers.js:33 #: users/models.py:219 msgid "Delete" msgstr "" @@ -3127,7 +3127,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:894 templates/js/translated/order.js:884 -#: templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:1932 msgid "Supplier Part" msgstr "" @@ -3235,7 +3235,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:43 #: templates/js/translated/bom.js:554 templates/js/translated/part.js:747 #: templates/js/translated/part.js:1295 templates/js/translated/part.js:1456 -#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1749 +#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1750 #: templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3262,7 +3262,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:2369 users/models.py:39 +#: templates/js/translated/stock.js:2370 users/models.py:39 msgid "Stock Items" msgstr "" @@ -3536,8 +3536,8 @@ msgstr "" #: 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:968 templates/js/translated/stock.js:1908 -#: templates/js/translated/stock.js:2474 +#: templates/js/translated/part.js:968 templates/js/translated/stock.js:1909 +#: templates/js/translated/stock.js:2475 msgid "Purchase Order" msgstr "" @@ -3557,8 +3557,8 @@ msgid "Number of items received" msgstr "" #: order/models.py:1030 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:1962 +#: stock/serializers.py:154 stock/templates/stock/item_base.html:191 +#: templates/js/translated/stock.js:1963 msgid "Purchase Price" msgstr "" @@ -4121,19 +4121,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1011 +#: part/api.py:1058 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1015 +#: part/api.py:1062 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1030 +#: part/api.py:1077 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 +#: part/api.py:1108 part/api.py:1112 part/api.py:1127 part/api.py:1131 msgid "This field is required" msgstr "" @@ -4268,7 +4268,7 @@ msgstr "" #: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:735 templates/js/translated/part.js:1391 -#: templates/js/translated/stock.js:1721 +#: templates/js/translated/stock.js:1722 msgid "IPN" msgstr "" @@ -4611,7 +4611,7 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:164 msgid "Purchase currency of this stock item" msgstr "" @@ -5752,7 +5752,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2402 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2403 msgid "Date" msgstr "" @@ -5771,19 +5771,19 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: templates/js/translated/stock.js:606 templates/js/translated/stock.js:776 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2652 msgid "Serial" msgstr "" -#: stock/api.py:505 +#: stock/api.py:511 msgid "Quantity is required" msgstr "" -#: stock/api.py:512 +#: stock/api.py:518 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:537 +#: stock/api.py:543 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5891,7 +5891,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1879 msgid "Expiry Date" msgstr "" @@ -5969,7 +5969,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1347 stock/serializers.py:895 +#: stock/models.py:1347 stock/serializers.py:935 msgid "Duplicate stock items" msgstr "" @@ -6021,120 +6021,128 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:156 +#: stock/serializers.py:157 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:280 +#: stock/serializers.py:281 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:293 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:299 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 +#: stock/serializers.py:310 stock/serializers.py:892 stock/serializers.py:1125 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:316 +#: stock/serializers.py:317 msgid "Optional note field" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:327 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:344 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:383 +#: stock/serializers.py:384 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:397 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:404 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:440 +#: stock/serializers.py:441 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:445 stock/serializers.py:487 +#: stock/serializers.py:446 stock/serializers.py:527 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:482 +#: stock/serializers.py:480 +msgid "Select part to convert stock item into" +msgstr "" + +#: stock/serializers.py:491 +msgid "Selected part is not a valid option for conversion" +msgstr "" + +#: stock/serializers.py:522 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:707 +#: stock/serializers.py:747 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:711 +#: stock/serializers.py:751 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:755 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:786 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:752 +#: stock/serializers.py:792 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:760 +#: stock/serializers.py:800 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:770 stock/serializers.py:1001 +#: stock/serializers.py:810 stock/serializers.py:1041 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:859 +#: stock/serializers.py:899 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:864 +#: stock/serializers.py:904 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:865 +#: stock/serializers.py:905 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:870 +#: stock/serializers.py:910 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:871 +#: stock/serializers.py:911 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:881 +#: stock/serializers.py:921 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:963 +#: stock/serializers.py:1003 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:1031 msgid "Stock transaction notes" msgstr "" @@ -6171,7 +6179,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2795 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2796 msgid "Install Stock Item" msgstr "" @@ -6179,7 +6187,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1517 +#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1518 msgid "Add Test Result" msgstr "" @@ -6366,7 +6374,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1894 +#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1895 msgid "Last Updated" msgstr "" @@ -6382,7 +6390,23 @@ msgstr "" msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:642 +#: stock/templates/stock/item_base.html:594 +msgid "Select one of the part variants listed below." +msgstr "" + +#: stock/templates/stock/item_base.html:597 +msgid "Warning" +msgstr "" + +#: stock/templates/stock/item_base.html:598 +msgid "This action cannot be easily undone" +msgstr "" + +#: stock/templates/stock/item_base.html:606 +msgid "Convert Stock Item" +msgstr "" + +#: stock/templates/stock/item_base.html:664 msgid "Return to Stock" msgstr "" @@ -6466,32 +6490,11 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:143 -msgid "Convert Stock Item" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:8 -#, python-format -msgid "This stock item is current an instance of %(part)s" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:9 -msgid "It can be converted to one of the part variants listed below." -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:13 -msgid "Warning" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:14 -msgid "This action cannot be easily undone" -msgstr "" - -#: stock/views.py:110 +#: stock/views.py:109 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:126 +#: stock/views.py:125 msgid "Stock Item QR Code" msgstr "" @@ -7303,7 +7306,7 @@ 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 +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:633 msgid "Confirm" msgstr "Confirmar" @@ -8175,8 +8178,8 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2447 templates/js/translated/part.js:1383 -#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1681 -#: templates/js/translated/stock.js:2339 +#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:2340 msgid "Select" msgstr "" @@ -8188,7 +8191,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2581 +#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2582 msgid "No user information" msgstr "" @@ -8342,61 +8345,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:353 templates/js/translated/forms.js:368 -#: templates/js/translated/forms.js:382 templates/js/translated/forms.js:396 +#: templates/js/translated/forms.js:356 templates/js/translated/forms.js:371 +#: templates/js/translated/forms.js:385 templates/js/translated/forms.js:399 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:355 +#: templates/js/translated/forms.js:358 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:370 +#: templates/js/translated/forms.js:373 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:384 +#: templates/js/translated/forms.js:387 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:398 +#: templates/js/translated/forms.js:401 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:656 +#: templates/js/translated/forms.js:659 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:757 +#: templates/js/translated/forms.js:760 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1249 templates/modals.html:19 +#: templates/js/translated/forms.js:1252 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1682 +#: templates/js/translated/forms.js:1685 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1897 templates/search.html:29 +#: templates/js/translated/forms.js:1900 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2150 +#: templates/js/translated/forms.js:2153 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2628 +#: templates/js/translated/forms.js:2631 msgid "Select Columns" msgstr "" @@ -8727,7 +8730,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2142 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2143 msgid "Stock Status" msgstr "" @@ -8921,7 +8924,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1597 +#: templates/js/translated/stock.js:1598 msgid "Shipped to customer" msgstr "" @@ -9187,7 +9190,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:1573 templates/js/translated/part.js:1785 -#: templates/js/translated/stock.js:2300 +#: templates/js/translated/stock.js:2301 msgid "Display as list" msgstr "" @@ -9211,7 +9214,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2319 +#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2320 msgid "Display as tree" msgstr "" @@ -9219,7 +9222,7 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2363 +#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2364 msgid "Path" msgstr "" @@ -9232,7 +9235,7 @@ msgid "Edit test result" msgstr "" #: templates/js/translated/part.js:1978 templates/js/translated/stock.js:1296 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1556 msgid "Delete test result" msgstr "" @@ -9565,180 +9568,180 @@ msgstr "" msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1374 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1538 +#: templates/js/translated/stock.js:1539 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/stock.js:1561 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1590 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1593 +#: templates/js/translated/stock.js:1594 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1601 +#: templates/js/translated/stock.js:1602 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1607 +#: templates/js/translated/stock.js:1608 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1775 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:1780 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1782 +#: templates/js/translated/stock.js:1783 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1785 +#: templates/js/translated/stock.js:1786 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1787 +#: templates/js/translated/stock.js:1788 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1790 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1793 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1797 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1799 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1806 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1807 +#: templates/js/translated/stock.js:1808 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1809 +#: templates/js/translated/stock.js:1810 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1813 +#: templates/js/translated/stock.js:1814 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1865 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1946 +#: templates/js/translated/stock.js:1947 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1984 +#: templates/js/translated/stock.js:1985 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2157 +#: templates/js/translated/stock.js:2158 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2171 +#: templates/js/translated/stock.js:2172 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2173 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2443 +#: templates/js/translated/stock.js:2444 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2465 +#: templates/js/translated/stock.js:2466 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2484 +#: templates/js/translated/stock.js:2485 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2504 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2521 +#: templates/js/translated/stock.js:2522 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2545 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2552 +#: templates/js/translated/stock.js:2553 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2629 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2679 templates/js/translated/stock.js:2715 +#: templates/js/translated/stock.js:2680 templates/js/translated/stock.js:2716 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2729 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2749 +#: templates/js/translated/stock.js:2750 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2751 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2753 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/stock.js:2754 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2755 +#: templates/js/translated/stock.js:2756 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2768 +#: templates/js/translated/stock.js:2769 msgid "Select part to install" msgstr "" @@ -9990,61 +9993,61 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:525 +#: templates/js/translated/tables.js:534 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:528 +#: templates/js/translated/tables.js:537 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:533 +#: templates/js/translated/tables.js:542 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "to" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "of" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:539 templates/navbar.html:102 +#: templates/js/translated/tables.js:548 templates/navbar.html:102 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" msgstr "" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:551 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:554 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:548 +#: templates/js/translated/tables.js:557 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:551 +#: templates/js/translated/tables.js:560 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:563 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:566 msgid "All" msgstr "" diff --git a/InvenTree/locale/pt_br/LC_MESSAGES/django.po b/InvenTree/locale/pt_br/LC_MESSAGES/django.po index c44595c54b..3eb65adfd1 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-08 11:50+0000\n" +"POT-Creation-Date: 2022-06-12 06:07+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -30,39 +30,31 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/forms.py:117 -msgid "Confirm delete" -msgstr "" - -#: InvenTree/forms.py:118 -msgid "Confirm item deletion" -msgstr "" - -#: InvenTree/forms.py:150 +#: InvenTree/forms.py:132 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:151 +#: InvenTree/forms.py:133 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:158 +#: InvenTree/forms.py:140 msgid "Confirm password" msgstr "" -#: InvenTree/forms.py:159 +#: InvenTree/forms.py:141 msgid "Confirm new password" msgstr "" -#: InvenTree/forms.py:184 +#: InvenTree/forms.py:166 msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:188 +#: InvenTree/forms.py:170 msgid "Email address confirmation" msgstr "" -#: InvenTree/forms.py:209 +#: InvenTree/forms.py:191 msgid "You must type the same email each time." msgstr "" @@ -132,7 +124,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:165 #: templates/js/translated/company.js:642 #: templates/js/translated/company.js:933 templates/js/translated/order.js:2676 -#: templates/js/translated/part.js:1485 +#: templates/js/translated/part.js:1510 msgid "Link" msgstr "" @@ -150,12 +142,12 @@ msgstr "" msgid "File comment" msgstr "" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1575 +#: common/models.py:1576 common/models.py:1799 common/models.py:1800 +#: common/models.py:2062 common/models.py:2063 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:2523 +#: templates/js/translated/stock.js:2575 msgid "User" msgstr "" @@ -192,7 +184,7 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1785 #: company/models.py:355 label/models.py:101 part/models.py:739 #: part/models.py:2319 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -203,8 +195,8 @@ msgstr "" #: templates/js/translated/company.js:532 #: templates/js/translated/company.js:744 #: templates/js/translated/notification.js:73 -#: templates/js/translated/part.js:659 templates/js/translated/part.js:811 -#: templates/js/translated/part.js:1832 templates/js/translated/stock.js:2293 +#: templates/js/translated/part.js:684 templates/js/translated/part.js:836 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2345 msgid "Name" msgstr "" @@ -224,10 +216,10 @@ msgstr "" #: templates/js/translated/company.js:653 #: templates/js/translated/company.js:944 templates/js/translated/order.js:1656 #: templates/js/translated/order.js:1888 templates/js/translated/order.js:2476 -#: 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 +#: templates/js/translated/part.js:743 templates/js/translated/part.js:1151 +#: templates/js/translated/part.js:1424 templates/js/translated/part.js:1876 +#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1738 +#: templates/js/translated/stock.js:2357 templates/js/translated/stock.js:2412 msgid "Description" msgstr "" @@ -301,99 +293,99 @@ msgstr "" msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/settings.py:667 +#: InvenTree/settings.py:689 msgid "Czech" msgstr "" -#: InvenTree/settings.py:668 +#: InvenTree/settings.py:690 msgid "German" msgstr "" -#: InvenTree/settings.py:669 +#: InvenTree/settings.py:691 msgid "Greek" msgstr "" -#: InvenTree/settings.py:670 +#: InvenTree/settings.py:692 msgid "English" msgstr "" -#: InvenTree/settings.py:671 +#: InvenTree/settings.py:693 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:694 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:695 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:696 msgid "French" msgstr "" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:697 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:698 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:699 msgid "Italian" msgstr "" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:700 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:701 msgid "Korean" msgstr "" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:702 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:703 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:704 msgid "Polish" msgstr "" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:705 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:706 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:707 msgid "Russian" msgstr "" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:708 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:709 msgid "Thai" msgstr "" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:710 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:711 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:712 msgid "Chinese" msgstr "" @@ -524,7 +516,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2030 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2082 msgid "Merged stock items" msgstr "" @@ -596,27 +588,19 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:521 -msgid "Delete Item" -msgstr "" - -#: InvenTree/views.py:570 -msgid "Check box to confirm item deletion" -msgstr "" - -#: InvenTree/views.py:585 templates/InvenTree/settings/user.html:22 +#: InvenTree/views.py:516 templates/InvenTree/settings/user.html:22 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:597 templates/InvenTree/settings/user.html:19 +#: InvenTree/views.py:528 templates/InvenTree/settings/user.html:19 msgid "Set Password" msgstr "" -#: InvenTree/views.py:617 +#: InvenTree/views.py:548 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:807 templates/navbar.html:152 +#: InvenTree/views.py:738 templates/navbar.html:152 msgid "System Information" msgstr "" @@ -686,7 +670,7 @@ msgstr "" #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:479 #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 @@ -702,11 +686,11 @@ 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: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 +#: templates/js/translated/part.js:1136 templates/js/translated/part.js:1206 +#: templates/js/translated/part.js:1402 templates/js/translated/stock.js:582 +#: templates/js/translated/stock.js:747 templates/js/translated/stock.js:954 +#: templates/js/translated/stock.js:1695 templates/js/translated/stock.js:2438 +#: templates/js/translated/stock.js:2633 templates/js/translated/stock.js:2767 msgid "Part" msgstr "" @@ -832,14 +816,14 @@ msgstr "" #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 #: 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:759 stock/serializers.py:858 stock/serializers.py:990 +#: stock/serializers.py:316 stock/serializers.py:445 stock/serializers.py:526 +#: stock/serializers.py:799 stock/serializers.py:898 stock/serializers.py:1030 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1038 #: templates/js/translated/company.js:949 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:1317 templates/js/translated/stock.js:1926 +#: templates/js/translated/stock.js:1369 templates/js/translated/stock.js:1978 msgid "Notes" msgstr "" @@ -895,8 +879,8 @@ msgid "Build to allocate parts" msgstr "" #: 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 +#: order/serializers.py:1017 stock/serializers.py:383 stock/serializers.py:730 +#: stock/serializers.py:856 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 @@ -904,8 +888,8 @@ 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:531 templates/js/translated/stock.js:696 -#: templates/js/translated/stock.js:2459 +#: templates/js/translated/stock.js:583 templates/js/translated/stock.js:748 +#: templates/js/translated/stock.js:2511 msgid "Stock Item" msgstr "" @@ -915,7 +899,7 @@ msgstr "" #: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1543 +#: build/templates/build/detail.html:34 common/models.py:1607 #: company/forms.py:36 company/templates/company/supplier_part.html:279 #: order/models.py:911 order/models.py:1414 order/serializers.py:1136 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 @@ -928,7 +912,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:280 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:691 #: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 @@ -941,11 +925,11 @@ 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: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 +#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2090 +#: templates/js/translated/part.js:2321 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2433 templates/js/translated/stock.js:454 +#: templates/js/translated/stock.js:608 templates/js/translated/stock.js:778 +#: templates/js/translated/stock.js:2560 templates/js/translated/stock.js:2645 msgid "Quantity" msgstr "" @@ -989,7 +973,7 @@ msgstr "" #: build/serializers.py:198 build/serializers.py:623 order/models.py:354 #: 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 +#: stock/serializers.py:289 msgid "Quantity must be greater than zero" msgstr "" @@ -1002,8 +986,8 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: 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:237 templates/js/translated/stock.js:403 +#: stock/serializers.py:298 templates/js/translated/order.js:1186 +#: templates/js/translated/stock.js:267 templates/js/translated/stock.js:455 msgid "Serial Numbers" msgstr "" @@ -1019,7 +1003,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:553 +#: build/serializers.py:268 stock/api.py:559 msgid "The following serial numbers already exist" msgstr "" @@ -1028,17 +1012,17 @@ msgid "A list of build outputs must be provided" 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:851 stock/serializers.py:1084 +#: stock/serializers.py:309 stock/serializers.py:440 stock/serializers.py:521 +#: stock/serializers.py:891 stock/serializers.py:1124 #: 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:1684 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: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 +#: templates/js/translated/part.js:181 templates/js/translated/stock.js:584 +#: templates/js/translated/stock.js:749 templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:1849 templates/js/translated/stock.js:2452 msgid "Location" msgstr "" @@ -1051,8 +1035,8 @@ msgstr "" #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2509 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 -#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1772 -#: templates/js/translated/stock.js:2477 templates/js/translated/stock.js:2609 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1824 +#: templates/js/translated/stock.js:2529 templates/js/translated/stock.js:2661 msgid "Status" msgstr "" @@ -1129,7 +1113,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:703 +#: build/serializers.py:609 stock/serializers.py:743 msgid "Item must be in stock" msgstr "" @@ -1263,7 +1247,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:126 #: templates/js/translated/build.js:2549 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:1015 +#: templates/js/translated/order.js:3517 templates/js/translated/part.js:1040 msgid "Target Date" msgstr "" @@ -1350,8 +1334,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:970 templates/js/translated/stock.js:1786 -#: templates/js/translated/stock.js:2616 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:1838 +#: templates/js/translated/stock.js:2668 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1562,912 +1546,912 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:365 +#: common/models.py:434 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:367 +#: common/models.py:436 msgid "Settings value" msgstr "" -#: common/models.py:408 +#: common/models.py:477 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:425 +#: common/models.py:494 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:436 +#: common/models.py:505 msgid "Value must be an integer value" msgstr "" -#: common/models.py:481 +#: common/models.py:550 msgid "Key string must be unique" msgstr "" -#: common/models.py:665 +#: common/models.py:734 msgid "No group" msgstr "" -#: common/models.py:704 +#: common/models.py:773 msgid "Restart required" msgstr "" -#: common/models.py:705 +#: common/models.py:774 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:712 +#: common/models.py:781 msgid "Server Instance Name" msgstr "" -#: common/models.py:714 +#: common/models.py:783 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:718 +#: common/models.py:787 msgid "Use instance name" msgstr "" -#: common/models.py:719 +#: common/models.py:788 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:725 +#: common/models.py:794 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:726 +#: common/models.py:795 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:732 company/models.py:93 company/models.py:94 +#: common/models.py:801 company/models.py:93 company/models.py:94 msgid "Company name" msgstr "" -#: common/models.py:733 +#: common/models.py:802 msgid "Internal company name" msgstr "" -#: common/models.py:738 +#: common/models.py:807 msgid "Base URL" msgstr "" -#: common/models.py:739 +#: common/models.py:808 msgid "Base URL for server instance" msgstr "" -#: common/models.py:745 +#: common/models.py:814 msgid "Default Currency" msgstr "" -#: common/models.py:746 +#: common/models.py:815 msgid "Default currency" msgstr "" -#: common/models.py:752 +#: common/models.py:821 msgid "Download from URL" msgstr "" -#: common/models.py:753 +#: common/models.py:822 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:828 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:760 +#: common/models.py:829 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:766 +#: common/models.py:835 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:767 +#: common/models.py:836 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:773 +#: common/models.py:842 msgid "IPN Regex" msgstr "" -#: common/models.py:774 +#: common/models.py:843 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:778 +#: common/models.py:847 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:779 +#: common/models.py:848 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:785 +#: common/models.py:854 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:786 +#: common/models.py:855 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:792 +#: common/models.py:861 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:793 +#: common/models.py:862 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:799 +#: common/models.py:868 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:800 +#: common/models.py:869 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:806 +#: common/models.py:875 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:807 +#: common/models.py:876 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:813 +#: common/models.py:882 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:814 +#: common/models.py:883 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:820 part/models.py:2360 report/models.py:157 +#: common/models.py:889 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:821 +#: common/models.py:890 msgid "Parts are templates by default" msgstr "" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 +#: common/models.py:896 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" msgstr "" -#: common/models.py:828 +#: common/models.py:897 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:834 part/models.py:890 +#: common/models.py:903 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:835 +#: common/models.py:904 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:841 part/models.py:901 +#: common/models.py:910 part/models.py:901 msgid "Purchaseable" msgstr "" -#: common/models.py:842 +#: common/models.py:911 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:848 part/models.py:906 +#: common/models.py:917 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:849 +#: common/models.py:918 msgid "Parts are salable by default" msgstr "" -#: common/models.py:855 part/models.py:896 +#: common/models.py:924 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:856 +#: common/models.py:925 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:862 part/models.py:916 +#: common/models.py:931 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:863 +#: common/models.py:932 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:869 +#: common/models.py:938 msgid "Show Import in Views" msgstr "" -#: common/models.py:870 +#: common/models.py:939 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:876 +#: common/models.py:945 msgid "Show Price in Forms" msgstr "" -#: common/models.py:877 +#: common/models.py:946 msgid "Display part price in some forms" msgstr "" -#: common/models.py:888 +#: common/models.py:957 msgid "Show Price in BOM" msgstr "" -#: common/models.py:889 +#: common/models.py:958 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:900 +#: common/models.py:969 msgid "Show Price History" msgstr "" -#: common/models.py:901 +#: common/models.py:970 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:907 +#: common/models.py:976 msgid "Show related parts" msgstr "" -#: common/models.py:908 +#: common/models.py:977 msgid "Display related parts for a part" msgstr "" -#: common/models.py:914 +#: common/models.py:983 msgid "Create initial stock" msgstr "" -#: common/models.py:915 +#: common/models.py:984 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:921 +#: common/models.py:990 msgid "Internal Prices" msgstr "" -#: common/models.py:922 +#: common/models.py:991 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:928 +#: common/models.py:997 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:929 +#: common/models.py:998 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:935 +#: common/models.py:1004 msgid "Part Name Display Format" msgstr "" -#: common/models.py:936 +#: common/models.py:1005 msgid "Format to display the part name" msgstr "" -#: common/models.py:943 +#: common/models.py:1012 msgid "Enable Reports" msgstr "" -#: common/models.py:944 +#: common/models.py:1013 msgid "Enable generation of reports" msgstr "" -#: common/models.py:950 templates/stats.html:25 +#: common/models.py:1019 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:951 +#: common/models.py:1020 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:957 +#: common/models.py:1026 msgid "Page Size" msgstr "" -#: common/models.py:958 +#: common/models.py:1027 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:968 +#: common/models.py:1037 msgid "Enable Test Reports" msgstr "" -#: common/models.py:969 +#: common/models.py:1038 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:975 +#: common/models.py:1044 msgid "Attach Test Reports" msgstr "" -#: common/models.py:976 +#: common/models.py:1045 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:982 +#: common/models.py:1051 msgid "Batch Code Template" msgstr "" -#: common/models.py:983 +#: common/models.py:1052 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:988 +#: common/models.py:1057 msgid "Stock Expiry" msgstr "" -#: common/models.py:989 +#: common/models.py:1058 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:995 +#: common/models.py:1064 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:996 +#: common/models.py:1065 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1002 +#: common/models.py:1071 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1003 +#: common/models.py:1072 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1005 +#: common/models.py:1074 msgid "days" msgstr "" -#: common/models.py:1010 +#: common/models.py:1079 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1011 +#: common/models.py:1080 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1017 +#: common/models.py:1086 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1018 +#: common/models.py:1087 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1024 +#: common/models.py:1093 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1025 +#: common/models.py:1094 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1030 +#: common/models.py:1099 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1031 +#: common/models.py:1100 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1035 +#: common/models.py:1104 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1036 +#: common/models.py:1105 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1041 +#: common/models.py:1110 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1042 +#: common/models.py:1111 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1048 +#: common/models.py:1117 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1049 +#: common/models.py:1118 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1055 +#: common/models.py:1124 msgid "Enable password forgot" msgstr "" -#: common/models.py:1056 +#: common/models.py:1125 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1131 msgid "Enable registration" msgstr "" -#: common/models.py:1063 +#: common/models.py:1132 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1069 +#: common/models.py:1138 msgid "Enable SSO" msgstr "" -#: common/models.py:1070 +#: common/models.py:1139 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1076 +#: common/models.py:1145 msgid "Email required" msgstr "" -#: common/models.py:1077 +#: common/models.py:1146 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1083 +#: common/models.py:1152 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1084 +#: common/models.py:1153 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1090 +#: common/models.py:1159 msgid "Mail twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1160 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1097 +#: common/models.py:1166 msgid "Password twice" msgstr "" -#: common/models.py:1098 +#: common/models.py:1167 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1104 +#: common/models.py:1173 msgid "Group on signup" msgstr "" -#: common/models.py:1105 +#: common/models.py:1174 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1111 +#: common/models.py:1180 msgid "Enforce MFA" msgstr "" -#: common/models.py:1112 +#: common/models.py:1181 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1118 +#: common/models.py:1187 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1119 +#: common/models.py:1188 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1127 +#: common/models.py:1196 msgid "Enable URL integration" msgstr "" -#: common/models.py:1128 +#: common/models.py:1197 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1135 +#: common/models.py:1204 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1136 +#: common/models.py:1205 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1143 +#: common/models.py:1212 msgid "Enable app integration" msgstr "" -#: common/models.py:1144 +#: common/models.py:1213 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1151 +#: common/models.py:1220 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1152 +#: common/models.py:1221 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1159 +#: common/models.py:1228 msgid "Enable event integration" msgstr "" -#: common/models.py:1160 +#: common/models.py:1229 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1177 common/models.py:1499 +#: common/models.py:1246 common/models.py:1568 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1199 +#: common/models.py:1268 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1200 +#: common/models.py:1269 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1275 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1207 +#: common/models.py:1276 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1213 +#: common/models.py:1282 msgid "Show latest parts" msgstr "" -#: common/models.py:1214 +#: common/models.py:1283 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1220 +#: common/models.py:1289 msgid "Recent Part Count" msgstr "" -#: common/models.py:1221 +#: common/models.py:1290 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1227 +#: common/models.py:1296 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1228 +#: common/models.py:1297 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1303 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1235 +#: common/models.py:1304 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1241 +#: common/models.py:1310 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1242 +#: common/models.py:1311 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1248 +#: common/models.py:1317 msgid "Show low stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1318 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1324 msgid "Show depleted stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1325 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1331 msgid "Show needed stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1332 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1338 msgid "Show expired stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1339 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1345 msgid "Show stale stock" msgstr "" -#: common/models.py:1277 +#: common/models.py:1346 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1352 msgid "Show pending builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1353 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1359 msgid "Show overdue builds" msgstr "" -#: common/models.py:1291 +#: common/models.py:1360 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1366 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1367 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1373 msgid "Show overdue POs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1374 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1380 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1381 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1387 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1319 +#: common/models.py:1388 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1324 +#: common/models.py:1393 msgid "Enable label printing" msgstr "" -#: common/models.py:1325 +#: common/models.py:1394 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1331 +#: common/models.py:1400 msgid "Inline label display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1401 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1407 msgid "Inline report display" msgstr "" -#: common/models.py:1339 +#: common/models.py:1408 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1345 +#: common/models.py:1414 msgid "Search Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1415 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1421 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1422 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1428 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1429 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1435 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1367 +#: common/models.py:1436 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1442 msgid "Search Categories" msgstr "" -#: common/models.py:1374 +#: common/models.py:1443 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1449 msgid "Search Stock" msgstr "" -#: common/models.py:1381 +#: common/models.py:1450 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1456 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1388 +#: common/models.py:1457 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1463 msgid "Search Locations" msgstr "" -#: common/models.py:1395 +#: common/models.py:1464 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1470 msgid "Search Companies" msgstr "" -#: common/models.py:1402 +#: common/models.py:1471 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1477 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1478 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1484 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1485 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1491 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1492 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1498 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1430 +#: common/models.py:1499 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1505 msgid "Search Preview Results" msgstr "" -#: common/models.py:1437 +#: common/models.py:1506 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1512 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1513 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1519 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1451 +#: common/models.py:1520 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1457 +#: common/models.py:1526 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1458 +#: common/models.py:1527 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1464 +#: common/models.py:1533 msgid "Date Format" msgstr "" -#: common/models.py:1465 +#: common/models.py:1534 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1479 part/templates/part/detail.html:39 +#: common/models.py:1548 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1480 +#: common/models.py:1549 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1544 company/forms.py:37 +#: common/models.py:1608 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1551 company/serializers.py:319 +#: common/models.py:1615 company/serializers.py:319 #: company/templates/company/supplier_part.html:284 order/models.py:951 -#: templates/js/translated/part.js:1042 templates/js/translated/part.js:2070 +#: templates/js/translated/part.js:1067 templates/js/translated/part.js:2095 msgid "Price" msgstr "" -#: common/models.py:1552 +#: common/models.py:1616 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1712 common/models.py:1890 +#: common/models.py:1776 common/models.py:1954 msgid "Endpoint" msgstr "" -#: common/models.py:1713 +#: common/models.py:1777 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1722 +#: common/models.py:1786 msgid "Name for this webhook" msgstr "" -#: common/models.py:1727 part/models.py:911 plugin/models.py:99 +#: common/models.py:1791 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 @@ -2475,67 +2459,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1728 +#: common/models.py:1792 msgid "Is this webhook active" msgstr "" -#: common/models.py:1742 +#: common/models.py:1806 msgid "Token" msgstr "" -#: common/models.py:1743 +#: common/models.py:1807 msgid "Token for access" msgstr "" -#: common/models.py:1750 +#: common/models.py:1814 msgid "Secret" msgstr "" -#: common/models.py:1751 +#: common/models.py:1815 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1857 +#: common/models.py:1921 msgid "Message ID" msgstr "" -#: common/models.py:1858 +#: common/models.py:1922 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1866 +#: common/models.py:1930 msgid "Host" msgstr "" -#: common/models.py:1867 +#: common/models.py:1931 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1874 +#: common/models.py:1938 msgid "Header" msgstr "" -#: common/models.py:1875 +#: common/models.py:1939 msgid "Header of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1945 msgid "Body" msgstr "" -#: common/models.py:1882 +#: common/models.py:1946 msgid "Body of this message" msgstr "" -#: common/models.py:1891 +#: common/models.py:1955 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1896 +#: common/models.py:1960 msgid "Worked on" msgstr "" -#: common/models.py:1897 +#: common/models.py:1961 msgid "Was the work on this message finished?" msgstr "" @@ -2674,7 +2658,7 @@ msgstr "" #: company/models.py:145 company/serializers.py:325 #: company/templates/company/company_base.html:106 part/serializers.py:139 -#: part/serializers.py:170 stock/serializers.py:162 +#: part/serializers.py:170 stock/serializers.py:163 msgid "Currency" msgstr "" @@ -2698,12 +2682,12 @@ msgstr "" #: templates/js/translated/company.js:385 #: templates/js/translated/company.js:486 #: templates/js/translated/company.js:619 -#: templates/js/translated/company.js:904 templates/js/translated/part.js:235 +#: templates/js/translated/company.js:904 templates/js/translated/part.js:236 #: templates/js/translated/table_filters.js:411 msgid "Manufacturer" msgstr "" -#: company/models.py:261 templates/js/translated/part.js:236 +#: company/models.py:261 templates/js/translated/part.js:237 msgid "Select manufacturer" msgstr "" @@ -2713,11 +2697,11 @@ msgstr "" #: templates/js/translated/company.js:485 #: templates/js/translated/company.js:635 #: templates/js/translated/company.js:922 templates/js/translated/order.js:1907 -#: templates/js/translated/part.js:246 templates/js/translated/part.js:1000 +#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025 msgid "MPN" msgstr "" -#: company/models.py:268 templates/js/translated/part.js:247 +#: company/models.py:268 templates/js/translated/part.js:248 msgid "Manufacturer Part Number" msgstr "" @@ -2743,8 +2727,8 @@ msgstr "" #: company/models.py:362 #: report/templates/report/inventree_test_report_base.html:95 #: stock/models.py:2084 templates/js/translated/company.js:533 -#: templates/js/translated/company.js:750 templates/js/translated/part.js:820 -#: templates/js/translated/stock.js:1304 +#: templates/js/translated/company.js:750 templates/js/translated/part.js:845 +#: templates/js/translated/stock.js:1356 msgid "Value" msgstr "" @@ -2755,7 +2739,7 @@ msgstr "" #: company/models.py:369 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:756 templates/js/translated/part.js:826 +#: templates/js/translated/company.js:756 templates/js/translated/part.js:851 msgid "Units" msgstr "" @@ -2775,23 +2759,23 @@ msgstr "" #: templates/js/translated/company.js:257 #: templates/js/translated/company.js:389 #: templates/js/translated/company.js:878 templates/js/translated/order.js:1643 -#: templates/js/translated/part.js:216 templates/js/translated/part.js:968 +#: templates/js/translated/part.js:217 templates/js/translated/part.js:993 #: templates/js/translated/table_filters.js:415 msgid "Supplier" msgstr "" -#: company/models.py:489 templates/js/translated/part.js:217 +#: company/models.py:489 templates/js/translated/part.js:218 msgid "Select supplier" msgstr "" #: company/models.py:494 company/templates/company/supplier_part.html:118 #: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:256 -#: templates/js/translated/order.js:1894 templates/js/translated/part.js:227 -#: templates/js/translated/part.js:986 +#: templates/js/translated/order.js:1894 templates/js/translated/part.js:228 +#: templates/js/translated/part.js:1011 msgid "SKU" msgstr "" -#: company/models.py:495 templates/js/translated/part.js:228 +#: company/models.py:495 templates/js/translated/part.js:229 msgid "Supplier stock keeping unit" msgstr "" @@ -2810,7 +2794,7 @@ msgstr "" #: company/models.py:519 company/templates/company/supplier_part.html:146 #: 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 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:388 msgid "Note" msgstr "" @@ -2824,7 +2808,7 @@ msgstr "" #: company/models.py:525 company/templates/company/supplier_part.html:139 #: stock/models.py:608 stock/templates/stock/item_base.html:245 -#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1922 +#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1974 msgid "Packaging" msgstr "" @@ -2845,7 +2829,7 @@ msgstr "" #: templates/email/low_stock_notification.html:18 #: templates/js/translated/bom.js:884 templates/js/translated/build.js:1786 #: templates/js/translated/build.js:2649 templates/js/translated/company.js:959 -#: templates/js/translated/part.js:571 templates/js/translated/part.js:574 +#: templates/js/translated/part.js:596 templates/js/translated/part.js:599 #: templates/js/translated/table_filters.js:178 msgid "Available" msgstr "" @@ -2919,11 +2903,11 @@ msgstr "" #: company/templates/company/company_base.html:86 order/models.py:651 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:745 +#: stock/models.py:628 stock/serializers.py:785 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:381 templates/js/translated/order.js:2458 -#: templates/js/translated/stock.js:2441 +#: templates/js/translated/stock.js:2493 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "" @@ -3144,7 +3128,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:894 templates/js/translated/order.js:884 -#: templates/js/translated/stock.js:1879 +#: templates/js/translated/stock.js:1931 msgid "Supplier Part" msgstr "" @@ -3194,7 +3178,7 @@ msgstr "" #: company/templates/company/supplier_part.html:169 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:177 -#: templates/js/translated/stock.js:379 +#: templates/js/translated/stock.js:431 msgid "New Stock Item" msgstr "" @@ -3210,7 +3194,7 @@ msgstr "" #: company/templates/company/supplier_part.html:212 #: company/templates/company/supplier_part.html:326 -#: part/templates/part/prices.html:276 templates/js/translated/part.js:2142 +#: part/templates/part/prices.html:276 templates/js/translated/part.js:2167 msgid "Add Price Break" msgstr "" @@ -3219,12 +3203,12 @@ msgid "No price break information found" msgstr "" #: company/templates/company/supplier_part.html:252 -#: templates/js/translated/part.js:2152 +#: templates/js/translated/part.js:2177 msgid "Delete Price Break" msgstr "" #: company/templates/company/supplier_part.html:266 -#: templates/js/translated/part.js:2166 +#: templates/js/translated/part.js:2191 msgid "Edit Price Break" msgstr "" @@ -3250,9 +3234,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: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/js/translated/bom.js:554 templates/js/translated/part.js:747 +#: templates/js/translated/part.js:1295 templates/js/translated/part.js:1456 +#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1749 #: templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3279,7 +3263,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:2317 users/models.py:39 +#: templates/js/translated/stock.js:2369 users/models.py:39 msgid "Stock Items" msgstr "" @@ -3553,8 +3537,8 @@ msgstr "" #: 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:943 templates/js/translated/stock.js:1856 -#: templates/js/translated/stock.js:2422 +#: templates/js/translated/part.js:968 templates/js/translated/stock.js:1908 +#: templates/js/translated/stock.js:2474 msgid "Purchase Order" msgstr "" @@ -3564,7 +3548,7 @@ msgstr "" #: order/models.py:1022 order/templates/order/order_base.html:169 #: templates/js/translated/order.js:1318 templates/js/translated/order.js:2009 -#: templates/js/translated/part.js:1037 templates/js/translated/part.js:1064 +#: templates/js/translated/part.js:1062 templates/js/translated/part.js:1089 #: templates/js/translated/table_filters.js:330 msgid "Received" msgstr "" @@ -3574,8 +3558,8 @@ msgid "Number of items received" msgstr "" #: order/models.py:1030 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:1910 +#: stock/serializers.py:154 stock/templates/stock/item_base.html:191 +#: templates/js/translated/stock.js:1962 msgid "Purchase Price" msgstr "" @@ -3959,8 +3943,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:1971 #: templates/js/translated/order.js:833 templates/js/translated/order.js:1265 -#: templates/js/translated/order.js:2731 templates/js/translated/stock.js:569 -#: templates/js/translated/stock.js:737 +#: templates/js/translated/order.js:2731 templates/js/translated/stock.js:621 +#: templates/js/translated/stock.js:789 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4138,19 +4122,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1011 +#: part/api.py:1058 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1015 +#: part/api.py:1062 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1030 +#: part/api.py:1077 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 +#: part/api.py:1108 part/api.py:1112 part/api.py:1127 part/api.py:1131 msgid "This field is required" msgstr "" @@ -4169,9 +4153,9 @@ msgid "Available Stock" msgstr "" #: part/bom.py:130 part/templates/part/part_base.html:207 -#: 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 +#: templates/js/translated/part.js:586 templates/js/translated/part.js:606 +#: templates/js/translated/part.js:1298 templates/js/translated/part.js:1470 +#: templates/js/translated/part.js:1486 msgid "On Order" msgstr "" @@ -4208,7 +4192,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:1864 templates/js/translated/search.js:144 +#: templates/js/translated/part.js:1889 templates/js/translated/search.js:144 #: templates/navbar.html:24 users/models.py:37 msgid "Parts" msgstr "" @@ -4275,7 +4259,7 @@ msgstr "" #: part/templates/part/part_base.html:257 #: templates/InvenTree/settings/settings.html:231 #: templates/js/translated/notification.js:52 -#: templates/js/translated/part.js:1413 templates/js/translated/part.js:1639 +#: templates/js/translated/part.js:1438 templates/js/translated/part.js:1664 msgid "Category" msgstr "" @@ -4284,8 +4268,8 @@ msgid "Part category" msgstr "" #: part/models.py:782 part/templates/part/part_base.html:266 -#: templates/js/translated/part.js:710 templates/js/translated/part.js:1366 -#: templates/js/translated/stock.js:1669 +#: templates/js/translated/part.js:735 templates/js/translated/part.js:1391 +#: templates/js/translated/stock.js:1721 msgid "IPN" msgstr "" @@ -4298,7 +4282,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:714 +#: report/models.py:170 templates/js/translated/part.js:739 msgid "Revision" msgstr "" @@ -4398,8 +4382,8 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2243 templates/js/translated/part.js:1915 -#: templates/js/translated/stock.js:1284 +#: part/models.py:2243 templates/js/translated/part.js:1940 +#: templates/js/translated/stock.js:1336 msgid "Test Name" msgstr "" @@ -4415,7 +4399,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:2255 templates/js/translated/part.js:1924 +#: part/models.py:2255 templates/js/translated/part.js:1949 #: templates/js/translated/table_filters.js:294 msgid "Required" msgstr "" @@ -4424,7 +4408,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2261 templates/js/translated/part.js:1932 +#: part/models.py:2261 templates/js/translated/part.js:1957 msgid "Requires Value" msgstr "" @@ -4432,7 +4416,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2267 templates/js/translated/part.js:1939 +#: part/models.py:2267 templates/js/translated/part.js:1964 msgid "Requires Attachment" msgstr "" @@ -4628,7 +4612,7 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:164 msgid "Purchase currency of this stock item" msgstr "" @@ -4838,43 +4822,11 @@ msgstr "" msgid "Part created successfully" msgstr "" -#: part/templates/part/category_delete.html:7 -msgid "Are you sure you want to delete this part category?" -msgstr "" - -#: part/templates/part/category_delete.html:12 -#, python-format -msgid "This category contains %(n)s child categories" -msgstr "" - -#: part/templates/part/category_delete.html:14 -#, python-format -msgid "If this category is deleted, these child categories will be moved to %(category)s" -msgstr "" - -#: part/templates/part/category_delete.html:16 -msgid "If this category is deleted, these child categories will be moved to the top level part category" -msgstr "" - -#: part/templates/part/category_delete.html:23 -#, python-format -msgid "This category contains %(n)s parts" -msgstr "" - -#: part/templates/part/category_delete.html:25 -#, python-format -msgid "If this category is deleted, these parts will be moved to %(category)s" -msgstr "" - -#: part/templates/part/category_delete.html:27 -msgid "If this category is deleted, these parts will be moved to the top level part category" -msgstr "" - #: part/templates/part/category_sidebar.html:13 msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:350 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:375 msgid "Duplicate Part" msgstr "" @@ -4962,7 +4914,7 @@ msgstr "" msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:267 templates/js/translated/part.js:273 +#: part/templates/part/detail.html:267 templates/js/translated/part.js:274 msgid "Copy BOM" msgstr "" @@ -5179,7 +5131,7 @@ msgstr "" #: templates/js/translated/company.js:610 #: templates/js/translated/company.js:869 #: templates/js/translated/model_renderers.js:192 -#: templates/js/translated/part.js:625 templates/js/translated/part.js:702 +#: templates/js/translated/part.js:650 templates/js/translated/part.js:727 msgid "Inactive" msgstr "" @@ -5212,9 +5164,9 @@ msgstr "" msgid "Can Build" msgstr "" -#: 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 +#: part/templates/part/part_base.html:238 templates/js/translated/part.js:589 +#: templates/js/translated/part.js:609 templates/js/translated/part.js:1302 +#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1490 msgid "Building" msgstr "" @@ -5387,8 +5339,8 @@ msgstr "" msgid "No sale pice history available for this part." msgstr "" -#: 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 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:612 +#: templates/js/translated/part.js:1290 templates/js/translated/part.js:1494 msgid "No Stock" msgstr "" @@ -5479,14 +5431,6 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: part/views.py:884 -msgid "Delete Part Category" -msgstr "" - -#: part/views.py:891 -msgid "Part category was deleted" -msgstr "" - #: plugin/apps.py:56 msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" @@ -5788,7 +5732,7 @@ msgstr "" #: templates/js/translated/build.js:1173 templates/js/translated/build.js:1670 #: 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:434 +#: templates/js/translated/order.js:3318 templates/js/translated/stock.js:486 msgid "Serial Number" msgstr "" @@ -5809,7 +5753,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2350 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2402 msgid "Date" msgstr "" @@ -5827,20 +5771,20 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724 -#: templates/js/translated/stock.js:2599 +#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:776 +#: templates/js/translated/stock.js:2651 msgid "Serial" msgstr "" -#: stock/api.py:505 +#: stock/api.py:511 msgid "Quantity is required" msgstr "" -#: stock/api.py:512 +#: stock/api.py:518 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:537 +#: stock/api.py:543 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5948,7 +5892,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1826 +#: templates/js/translated/stock.js:1878 msgid "Expiry Date" msgstr "" @@ -6026,7 +5970,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1347 stock/serializers.py:895 +#: stock/models.py:1347 stock/serializers.py:935 msgid "Duplicate stock items" msgstr "" @@ -6078,120 +6022,128 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:156 +#: stock/serializers.py:157 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:280 +#: stock/serializers.py:281 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:293 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:299 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 +#: stock/serializers.py:310 stock/serializers.py:892 stock/serializers.py:1125 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:316 +#: stock/serializers.py:317 msgid "Optional note field" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:327 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:344 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:383 +#: stock/serializers.py:384 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:397 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:404 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:440 +#: stock/serializers.py:441 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:445 stock/serializers.py:487 +#: stock/serializers.py:446 stock/serializers.py:527 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:482 +#: stock/serializers.py:480 +msgid "Select part to convert stock item into" +msgstr "" + +#: stock/serializers.py:491 +msgid "Selected part is not a valid option for conversion" +msgstr "" + +#: stock/serializers.py:522 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:707 +#: stock/serializers.py:747 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:711 +#: stock/serializers.py:751 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:755 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:786 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:752 +#: stock/serializers.py:792 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:760 +#: stock/serializers.py:800 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:770 stock/serializers.py:1001 +#: stock/serializers.py:810 stock/serializers.py:1041 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:859 +#: stock/serializers.py:899 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:864 +#: stock/serializers.py:904 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:865 +#: stock/serializers.py:905 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:870 +#: stock/serializers.py:910 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:871 +#: stock/serializers.py:911 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:881 +#: stock/serializers.py:921 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:963 +#: stock/serializers.py:1003 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:1031 msgid "Stock transaction notes" msgstr "" @@ -6228,7 +6180,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2743 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2795 msgid "Install Stock Item" msgstr "" @@ -6236,7 +6188,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1465 +#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1517 msgid "Add Test Result" msgstr "" @@ -6423,7 +6375,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1842 +#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1894 msgid "Last Updated" msgstr "" @@ -6439,19 +6391,26 @@ msgstr "" msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:646 +#: stock/templates/stock/item_base.html:594 +msgid "Select one of the part variants listed below." +msgstr "" + +#: stock/templates/stock/item_base.html:597 +msgid "Warning" +msgstr "" + +#: stock/templates/stock/item_base.html:598 +msgid "This action cannot be easily undone" +msgstr "" + +#: stock/templates/stock/item_base.html:606 +msgid "Convert Stock Item" +msgstr "" + +#: stock/templates/stock/item_base.html:664 msgid "Return to Stock" msgstr "" -#: stock/templates/stock/item_delete.html:9 -msgid "Are you sure you want to delete this stock item?" -msgstr "" - -#: stock/templates/stock/item_delete.html:12 -#, python-format -msgid "This will remove %(qty)s units of %(full_name)s from stock." -msgstr "" - #: stock/templates/stock/item_serialize.html:5 msgid "Create serialized items from this stock item." msgstr "" @@ -6516,38 +6475,6 @@ msgstr "" msgid "Stock Locations" msgstr "" -#: stock/templates/stock/location_delete.html:8 -msgid "Are you sure you want to delete this stock location?" -msgstr "" - -#: stock/templates/stock/location_delete.html:13 -#, python-format -msgid "This location contains %(n)s child locations" -msgstr "" - -#: stock/templates/stock/location_delete.html:15 -#, python-format -msgid "If this location is deleted, these child locations will be moved to %(location)s" -msgstr "" - -#: stock/templates/stock/location_delete.html:17 -msgid "If this location is deleted, these child locations will be moved to the top level stock location" -msgstr "" - -#: stock/templates/stock/location_delete.html:25 -#, python-format -msgid "This location contains %(n)s stock items" -msgstr "" - -#: stock/templates/stock/location_delete.html:27 -#, python-format -msgid "If this location is deleted, these stock items will be moved to %(location)s" -msgstr "" - -#: stock/templates/stock/location_delete.html:29 -msgid "If this location is deleted, these stock items will be moved to the top level stock location" -msgstr "" - #: stock/templates/stock/stock_app_base.html:16 msgid "Loading..." msgstr "" @@ -6564,43 +6491,14 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:144 -msgid "Convert Stock Item" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:8 -#, python-format -msgid "This stock item is current an instance of %(part)s" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:9 -msgid "It can be converted to one of the part variants listed below." -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:13 -msgid "Warning" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:14 -msgid "This action cannot be easily undone" -msgstr "" - -#: stock/views.py:111 +#: stock/views.py:109 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:127 +#: stock/views.py:125 msgid "Stock Item QR Code" msgstr "" -#: stock/views.py:178 -msgid "Delete Stock Location" -msgstr "" - -#: stock/views.py:191 -msgid "Delete Stock Item" -msgstr "" - #: templates/403.html:6 templates/403.html:12 msgid "Permission Denied" msgstr "" @@ -7806,7 +7704,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:998 +#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:1050 msgid "Remove stock item" msgstr "" @@ -7971,7 +7869,7 @@ msgid "Includes variant and substitute stock" msgstr "" #: templates/js/translated/bom.js:906 templates/js/translated/build.js:1819 -#: templates/js/translated/part.js:734 +#: templates/js/translated/part.js:759 msgid "Includes variant stock" msgstr "" @@ -8063,13 +7961,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:259 templates/js/translated/stock.js:90 -#: templates/js/translated/stock.js:180 +#: templates/js/translated/build.js:259 templates/js/translated/stock.js:92 +#: templates/js/translated/stock.js:210 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:261 templates/js/translated/stock.js:92 -#: templates/js/translated/stock.js:182 +#: templates/js/translated/build.js:261 templates/js/translated/stock.js:94 +#: templates/js/translated/stock.js:212 msgid "Latest serial number" msgstr "" @@ -8282,9 +8180,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2447 templates/js/translated/part.js:1358 -#: templates/js/translated/part.js:1825 templates/js/translated/stock.js:1629 -#: templates/js/translated/stock.js:2287 +#: templates/js/translated/build.js:2447 templates/js/translated/part.js:1383 +#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1681 +#: templates/js/translated/stock.js:2339 msgid "Select" msgstr "" @@ -8296,7 +8194,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2529 +#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2581 msgid "No user information" msgstr "" @@ -8373,34 +8271,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:602 -#: templates/js/translated/company.js:861 templates/js/translated/part.js:609 -#: templates/js/translated/part.js:694 +#: templates/js/translated/company.js:861 templates/js/translated/part.js:634 +#: templates/js/translated/part.js:719 msgid "Template part" msgstr "" #: templates/js/translated/company.js:606 -#: templates/js/translated/company.js:865 templates/js/translated/part.js:613 -#: templates/js/translated/part.js:698 +#: templates/js/translated/company.js:865 templates/js/translated/part.js:638 +#: templates/js/translated/part.js:723 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:734 templates/js/translated/part.js:801 +#: templates/js/translated/company.js:734 templates/js/translated/part.js:826 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:771 templates/js/translated/part.js:843 +#: templates/js/translated/company.js:771 templates/js/translated/part.js:868 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:772 templates/js/translated/part.js:844 +#: templates/js/translated/company.js:772 templates/js/translated/part.js:869 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:791 templates/js/translated/part.js:861 +#: templates/js/translated/company.js:791 templates/js/translated/part.js:886 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:802 templates/js/translated/part.js:873 +#: templates/js/translated/company.js:802 templates/js/translated/part.js:898 msgid "Delete Parameter" msgstr "" @@ -8525,7 +8423,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1022 +#: templates/js/translated/stock.js:1074 msgid "Select Stock Items" msgstr "" @@ -8835,7 +8733,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2090 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2142 msgid "Stock Status" msgstr "" @@ -8859,7 +8757,7 @@ msgstr "" msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1602 templates/js/translated/part.js:914 +#: templates/js/translated/order.js:1602 templates/js/translated/part.js:939 msgid "No purchase orders found" msgstr "" @@ -8894,7 +8792,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:2044 templates/js/translated/part.js:2397 +#: templates/js/translated/part.js:2069 templates/js/translated/part.js:2422 msgid "Unit Price" msgstr "" @@ -8904,11 +8802,11 @@ msgid "Total Price" msgstr "" #: templates/js/translated/order.js:1993 templates/js/translated/order.js:3525 -#: templates/js/translated/part.js:1023 +#: templates/js/translated/part.js:1048 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1069 +#: templates/js/translated/order.js:2052 templates/js/translated/part.js:1094 msgid "Receive line item" msgstr "" @@ -9029,7 +8927,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1545 +#: templates/js/translated/stock.js:1597 msgid "Shipped to customer" msgstr "" @@ -9073,305 +8971,321 @@ msgstr "" msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:55 +#: templates/js/translated/part.js:56 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:59 +#: templates/js/translated/part.js:60 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:63 +#: templates/js/translated/part.js:64 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:67 +#: templates/js/translated/part.js:68 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:81 +#: templates/js/translated/part.js:82 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:165 +#: templates/js/translated/part.js:166 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:167 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:173 +#: templates/js/translated/part.js:174 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:175 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:181 +#: templates/js/translated/part.js:182 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:199 +#: templates/js/translated/part.js:200 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:201 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:208 +#: templates/js/translated/part.js:209 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:209 +#: templates/js/translated/part.js:210 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:265 +#: templates/js/translated/part.js:266 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:267 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:274 +#: templates/js/translated/part.js:275 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:281 +#: templates/js/translated/part.js:282 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:283 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:295 +#: templates/js/translated/part.js:296 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:317 +#: templates/js/translated/part.js:318 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:340 +#: templates/js/translated/part.js:331 +msgid "Are you sure you want to delete this part category?" +msgstr "" + +#: templates/js/translated/part.js:333 +msgid "Any child categories will be moved to the parent of this category" +msgstr "" + +#: templates/js/translated/part.js:334 +msgid "Any parts in this category will be moved to the parent of this category" +msgstr "" + +#: templates/js/translated/part.js:339 +msgid "Delete Part Category" +msgstr "" + +#: templates/js/translated/part.js:365 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:342 +#: templates/js/translated/part.js:367 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:378 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:405 +#: templates/js/translated/part.js:430 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:406 +#: templates/js/translated/part.js:431 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:420 +#: templates/js/translated/part.js:445 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:422 +#: templates/js/translated/part.js:447 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:423 +#: templates/js/translated/part.js:448 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:424 +#: templates/js/translated/part.js:449 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:456 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:467 +#: templates/js/translated/part.js:492 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:469 +#: templates/js/translated/part.js:494 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:474 +#: templates/js/translated/part.js:499 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:476 +#: templates/js/translated/part.js:501 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:493 +#: templates/js/translated/part.js:518 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:503 +#: templates/js/translated/part.js:528 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:506 +#: templates/js/translated/part.js:531 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:556 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:557 templates/js/translated/part.js:1441 +#: templates/js/translated/part.js:582 templates/js/translated/part.js:1466 #: templates/js/translated/table_filters.js:452 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:567 templates/js/translated/part.js:1453 +#: templates/js/translated/part.js:592 templates/js/translated/part.js:1478 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:601 templates/js/translated/part.js:686 +#: templates/js/translated/part.js:626 templates/js/translated/part.js:711 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:605 templates/js/translated/part.js:690 +#: templates/js/translated/part.js:630 templates/js/translated/part.js:715 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:617 +#: templates/js/translated/part.js:642 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:621 +#: templates/js/translated/part.js:646 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:774 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1139 +#: templates/js/translated/part.js:1164 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1163 +#: templates/js/translated/part.js:1188 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1228 templates/js/translated/part.js:1524 +#: templates/js/translated/part.js:1253 templates/js/translated/part.js:1549 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1267 +#: templates/js/translated/part.js:1292 msgid "Not available" msgstr "" -#: templates/js/translated/part.js:1418 +#: templates/js/translated/part.js:1443 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1548 templates/js/translated/part.js:1760 -#: templates/js/translated/stock.js:2248 +#: templates/js/translated/part.js:1573 templates/js/translated/part.js:1785 +#: templates/js/translated/stock.js:2300 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1564 +#: templates/js/translated/part.js:1589 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1630 +#: templates/js/translated/part.js:1655 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:1635 +#: templates/js/translated/part.js:1660 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:1640 +#: templates/js/translated/part.js:1665 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:1653 +#: templates/js/translated/part.js:1678 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1779 templates/js/translated/stock.js:2267 +#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2319 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1843 +#: templates/js/translated/part.js:1868 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2311 +#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2363 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1901 +#: templates/js/translated/part.js:1926 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1952 templates/js/translated/stock.js:1243 +#: templates/js/translated/part.js:1977 templates/js/translated/stock.js:1295 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1953 templates/js/translated/stock.js:1244 -#: templates/js/translated/stock.js:1503 +#: templates/js/translated/part.js:1978 templates/js/translated/stock.js:1296 +#: templates/js/translated/stock.js:1555 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1959 +#: templates/js/translated/part.js:1984 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1981 +#: templates/js/translated/part.js:2006 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:1995 +#: templates/js/translated/part.js:2020 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2020 +#: templates/js/translated/part.js:2045 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:2077 +#: templates/js/translated/part.js:2102 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:2078 +#: templates/js/translated/part.js:2103 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:2192 +#: templates/js/translated/part.js:2217 msgid "Current Stock" msgstr "" -#: templates/js/translated/part.js:2225 +#: templates/js/translated/part.js:2250 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2251 +#: templates/js/translated/part.js:2276 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2321 +#: templates/js/translated/part.js:2346 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:2340 +#: templates/js/translated/part.js:2365 msgid "Single Price Difference" msgstr "" @@ -9453,360 +9367,384 @@ msgstr "" msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:72 +#: templates/js/translated/stock.js:74 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:100 +#: templates/js/translated/stock.js:102 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:109 +#: templates/js/translated/stock.js:111 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:138 +#: templates/js/translated/stock.js:140 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:153 +#: templates/js/translated/stock.js:155 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:193 +#: templates/js/translated/stock.js:169 +msgid "Are you sure you want to delete this stock location?" +msgstr "" + +#: templates/js/translated/stock.js:171 +msgid "Any child locations will be moved to the parent of this location" +msgstr "" + +#: templates/js/translated/stock.js:172 +msgid "Any stock items in this location will be moved to the parent of this location" +msgstr "" + +#: templates/js/translated/stock.js:178 +msgid "Delete Stock Location" +msgstr "" + +#: templates/js/translated/stock.js:223 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:232 +#: templates/js/translated/stock.js:262 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:238 +#: templates/js/translated/stock.js:268 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:303 +#: templates/js/translated/stock.js:333 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:323 +#: templates/js/translated/stock.js:353 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:343 +#: templates/js/translated/stock.js:369 +msgid "Are you sure you want to delete this stock item?" +msgstr "" + +#: templates/js/translated/stock.js:374 +msgid "Delete Stock Item" +msgstr "" + +#: templates/js/translated/stock.js:395 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:393 +#: templates/js/translated/stock.js:445 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:458 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:431 +#: templates/js/translated/stock.js:483 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436 +#: templates/js/translated/stock.js:487 templates/js/translated/stock.js:488 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:452 +#: templates/js/translated/stock.js:504 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:472 +#: templates/js/translated/stock.js:524 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:481 +#: templates/js/translated/stock.js:533 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:604 +#: templates/js/translated/stock.js:656 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:605 +#: templates/js/translated/stock.js:657 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:682 +#: templates/js/translated/stock.js:734 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:683 +#: templates/js/translated/stock.js:735 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:685 +#: templates/js/translated/stock.js:737 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:686 +#: templates/js/translated/stock.js:738 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:772 +#: templates/js/translated/stock.js:824 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:773 +#: templates/js/translated/stock.js:825 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:868 +#: templates/js/translated/stock.js:920 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:869 +#: templates/js/translated/stock.js:921 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:875 +#: templates/js/translated/stock.js:927 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:876 +#: templates/js/translated/stock.js:928 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:880 +#: templates/js/translated/stock.js:932 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:881 +#: templates/js/translated/stock.js:933 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:885 +#: templates/js/translated/stock.js:937 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:886 users/models.py:215 +#: templates/js/translated/stock.js:938 users/models.py:215 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:890 +#: templates/js/translated/stock.js:942 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:983 +#: templates/js/translated/stock.js:1035 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:983 +#: templates/js/translated/stock.js:1035 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1023 +#: templates/js/translated/stock.js:1075 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1046 +#: templates/js/translated/stock.js:1098 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1182 +#: templates/js/translated/stock.js:1234 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1184 +#: templates/js/translated/stock.js:1236 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1189 +#: templates/js/translated/stock.js:1241 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1236 +#: templates/js/translated/stock.js:1288 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1239 +#: templates/js/translated/stock.js:1291 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1265 +#: templates/js/translated/stock.js:1317 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1321 +#: templates/js/translated/stock.js:1373 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1486 +#: templates/js/translated/stock.js:1538 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1508 +#: templates/js/translated/stock.js:1560 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1537 +#: templates/js/translated/stock.js:1589 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1541 +#: templates/js/translated/stock.js:1593 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1549 +#: templates/js/translated/stock.js:1601 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1607 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1722 +#: templates/js/translated/stock.js:1774 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1727 +#: templates/js/translated/stock.js:1779 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1730 +#: templates/js/translated/stock.js:1782 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1733 +#: templates/js/translated/stock.js:1785 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1735 +#: templates/js/translated/stock.js:1787 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1737 +#: templates/js/translated/stock.js:1789 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1792 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1796 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1746 +#: templates/js/translated/stock.js:1798 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1753 +#: templates/js/translated/stock.js:1805 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1755 +#: templates/js/translated/stock.js:1807 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1757 +#: templates/js/translated/stock.js:1809 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1761 +#: templates/js/translated/stock.js:1813 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:1864 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1894 +#: templates/js/translated/stock.js:1946 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1932 +#: templates/js/translated/stock.js:1984 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2105 +#: templates/js/translated/stock.js:2157 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2119 +#: templates/js/translated/stock.js:2171 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2172 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2375 +#: templates/js/translated/stock.js:2427 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2391 +#: templates/js/translated/stock.js:2443 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2413 +#: templates/js/translated/stock.js:2465 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2432 +#: templates/js/translated/stock.js:2484 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2451 +#: templates/js/translated/stock.js:2503 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2469 +#: templates/js/translated/stock.js:2521 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2492 +#: templates/js/translated/stock.js:2544 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2500 +#: templates/js/translated/stock.js:2552 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2576 +#: templates/js/translated/stock.js:2628 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2663 +#: templates/js/translated/stock.js:2679 templates/js/translated/stock.js:2715 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2676 +#: templates/js/translated/stock.js:2728 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2697 +#: templates/js/translated/stock.js:2749 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2698 +#: templates/js/translated/stock.js:2750 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2700 +#: templates/js/translated/stock.js:2752 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2701 +#: templates/js/translated/stock.js:2753 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2702 +#: templates/js/translated/stock.js:2754 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2703 +#: templates/js/translated/stock.js:2755 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2716 +#: templates/js/translated/stock.js:2768 msgid "Select part to install" msgstr "" diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po index 9bd4775c3b..87544b973b 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-11 13:14+0000\n" -"PO-Revision-Date: 2022-06-11 15:03\n" +"POT-Creation-Date: 2022-06-15 08:34+0000\n" +"PO-Revision-Date: 2022-06-15 16:23\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -141,12 +141,12 @@ msgstr "Комментарий" msgid "File comment" msgstr "Комментарий к файлу" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1575 +#: common/models.py:1576 common/models.py:1799 common/models.py:1800 +#: common/models.py:2062 common/models.py:2063 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:2575 +#: templates/js/translated/stock.js:2576 msgid "User" msgstr "Пользователь" @@ -183,7 +183,7 @@ msgstr "Ошибка переименования файла" msgid "Invalid choice" msgstr "Неверный выбор" -#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1785 #: company/models.py:355 label/models.py:101 part/models.py:739 #: part/models.py:2319 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -195,7 +195,7 @@ msgstr "Неверный выбор" #: templates/js/translated/company.js:744 #: templates/js/translated/notification.js:73 #: templates/js/translated/part.js:684 templates/js/translated/part.js:836 -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2345 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2346 msgid "Name" msgstr "Название" @@ -217,8 +217,8 @@ msgstr "Название" #: templates/js/translated/order.js:1888 templates/js/translated/order.js:2476 #: templates/js/translated/part.js:743 templates/js/translated/part.js:1151 #: templates/js/translated/part.js:1424 templates/js/translated/part.js:1876 -#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1738 -#: templates/js/translated/stock.js:2357 templates/js/translated/stock.js:2412 +#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1739 +#: templates/js/translated/stock.js:2358 templates/js/translated/stock.js:2413 msgid "Description" msgstr "Описание" @@ -292,99 +292,99 @@ msgstr "" msgid "Duplicate column: '{col}'" msgstr "Повторяющийся столбец: '{col}'" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:689 msgid "Czech" msgstr "" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:690 msgid "German" msgstr "Немецкий" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:691 msgid "Greek" msgstr "Греческий" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:692 msgid "English" msgstr "Английский" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:693 msgid "Spanish" msgstr "Испанский" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:694 msgid "Spanish (Mexican)" msgstr "Испанский (Мексика)" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:695 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:696 msgid "French" msgstr "Французский" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:697 msgid "Hebrew" msgstr "Иврит" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:698 msgid "Hungarian" msgstr "Венгерский" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:699 msgid "Italian" msgstr "Итальянский" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:700 msgid "Japanese" msgstr "Японский" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:701 msgid "Korean" msgstr "Корейский" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:702 msgid "Dutch" msgstr "Голландский" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:703 msgid "Norwegian" msgstr "Норвежский" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:704 msgid "Polish" msgstr "Польский" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:705 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:706 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:707 msgid "Russian" msgstr "Русский" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:708 msgid "Swedish" msgstr "Шведский" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:709 msgid "Thai" msgstr "Тайский" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:710 msgid "Turkish" msgstr "Турецкий" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:711 msgid "Vietnamese" msgstr "Вьетнамский" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:712 msgid "Chinese" msgstr "Китайский" @@ -515,7 +515,7 @@ msgstr "Отделить от родительского элемента" msgid "Split child item" msgstr "Разбить дочерний элемент" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2082 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2083 msgid "Merged stock items" msgstr "Объединенные позиции на складе" @@ -669,7 +669,7 @@ msgstr "" #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:479 #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 @@ -688,8 +688,8 @@ msgstr "" #: templates/js/translated/part.js:1136 templates/js/translated/part.js:1206 #: templates/js/translated/part.js:1402 templates/js/translated/stock.js:582 #: templates/js/translated/stock.js:747 templates/js/translated/stock.js:954 -#: templates/js/translated/stock.js:1695 templates/js/translated/stock.js:2438 -#: templates/js/translated/stock.js:2633 templates/js/translated/stock.js:2767 +#: templates/js/translated/stock.js:1696 templates/js/translated/stock.js:2439 +#: templates/js/translated/stock.js:2634 templates/js/translated/stock.js:2768 msgid "Part" msgstr "Детали" @@ -815,14 +815,14 @@ msgstr "Внешняя ссылка" #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 #: 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:759 stock/serializers.py:858 stock/serializers.py:990 +#: stock/serializers.py:316 stock/serializers.py:445 stock/serializers.py:526 +#: stock/serializers.py:799 stock/serializers.py:898 stock/serializers.py:1030 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1038 #: templates/js/translated/company.js:949 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:1369 templates/js/translated/stock.js:1978 +#: templates/js/translated/stock.js:1370 templates/js/translated/stock.js:1979 msgid "Notes" msgstr "Заметки" @@ -878,8 +878,8 @@ msgid "Build to allocate parts" msgstr "" #: 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 +#: order/serializers.py:1017 stock/serializers.py:383 stock/serializers.py:730 +#: stock/serializers.py:856 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 @@ -888,7 +888,7 @@ msgstr "" #: 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:583 templates/js/translated/stock.js:748 -#: templates/js/translated/stock.js:2511 +#: templates/js/translated/stock.js:2512 msgid "Stock Item" msgstr "Предметы на складе" @@ -898,7 +898,7 @@ msgstr "Исходный складской предмет" #: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1543 +#: build/templates/build/detail.html:34 common/models.py:1607 #: company/forms.py:36 company/templates/company/supplier_part.html:279 #: order/models.py:911 order/models.py:1414 order/serializers.py:1136 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 @@ -911,7 +911,7 @@ msgstr "Исходный складской предмет" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:280 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:691 #: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 @@ -928,7 +928,7 @@ msgstr "Исходный складской предмет" #: templates/js/translated/part.js:2321 templates/js/translated/part.js:2355 #: templates/js/translated/part.js:2433 templates/js/translated/stock.js:454 #: templates/js/translated/stock.js:608 templates/js/translated/stock.js:778 -#: templates/js/translated/stock.js:2560 templates/js/translated/stock.js:2645 +#: templates/js/translated/stock.js:2561 templates/js/translated/stock.js:2646 msgid "Quantity" msgstr "Количество" @@ -972,7 +972,7 @@ msgstr "Введите количество для вывода сборки" #: build/serializers.py:198 build/serializers.py:623 order/models.py:354 #: 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 +#: stock/serializers.py:289 msgid "Quantity must be greater than zero" msgstr "Количество должно быть больше нуля" @@ -985,7 +985,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 -#: stock/serializers.py:297 templates/js/translated/order.js:1186 +#: stock/serializers.py:298 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:267 templates/js/translated/stock.js:455 msgid "Serial Numbers" msgstr "Серийные номера" @@ -1002,7 +1002,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:553 +#: build/serializers.py:268 stock/api.py:559 msgid "The following serial numbers already exist" msgstr "" @@ -1011,8 +1011,8 @@ msgid "A list of build outputs must be provided" 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:851 stock/serializers.py:1084 +#: stock/serializers.py:309 stock/serializers.py:440 stock/serializers.py:521 +#: stock/serializers.py:891 stock/serializers.py:1124 #: 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 @@ -1021,7 +1021,7 @@ msgstr "" #: templates/js/translated/order.js:3247 templates/js/translated/order.js:3328 #: templates/js/translated/part.js:181 templates/js/translated/stock.js:584 #: templates/js/translated/stock.js:749 templates/js/translated/stock.js:956 -#: templates/js/translated/stock.js:1849 templates/js/translated/stock.js:2452 +#: templates/js/translated/stock.js:1850 templates/js/translated/stock.js:2453 msgid "Location" msgstr "Расположение" @@ -1034,8 +1034,8 @@ msgstr "" #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2509 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 -#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1824 -#: templates/js/translated/stock.js:2529 templates/js/translated/stock.js:2661 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1825 +#: templates/js/translated/stock.js:2530 templates/js/translated/stock.js:2662 msgid "Status" msgstr "Статус" @@ -1112,7 +1112,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:703 +#: build/serializers.py:609 stock/serializers.py:743 msgid "Item must be in stock" msgstr "Компонент должен быть в наличии" @@ -1333,8 +1333,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:1022 templates/js/translated/stock.js:1838 -#: templates/js/translated/stock.js:2668 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:1839 +#: templates/js/translated/stock.js:2669 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1545,912 +1545,912 @@ msgstr "" msgid "Select {name} file to upload" msgstr "Выберите {name} файл для загрузки" -#: common/models.py:365 +#: common/models.py:434 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:367 +#: common/models.py:436 msgid "Settings value" msgstr "" -#: common/models.py:408 +#: common/models.py:477 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:425 +#: common/models.py:494 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:436 +#: common/models.py:505 msgid "Value must be an integer value" msgstr "" -#: common/models.py:481 +#: common/models.py:550 msgid "Key string must be unique" msgstr "" -#: common/models.py:665 +#: common/models.py:734 msgid "No group" msgstr "" -#: common/models.py:704 +#: common/models.py:773 msgid "Restart required" msgstr "Требуется перезапуск" -#: common/models.py:705 +#: common/models.py:774 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:712 +#: common/models.py:781 msgid "Server Instance Name" msgstr "" -#: common/models.py:714 +#: common/models.py:783 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:718 +#: common/models.py:787 msgid "Use instance name" msgstr "" -#: common/models.py:719 +#: common/models.py:788 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:725 +#: common/models.py:794 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:726 +#: common/models.py:795 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:732 company/models.py:93 company/models.py:94 +#: common/models.py:801 company/models.py:93 company/models.py:94 msgid "Company name" msgstr "Название компании" -#: common/models.py:733 +#: common/models.py:802 msgid "Internal company name" msgstr "Внутреннее название компании" -#: common/models.py:738 +#: common/models.py:807 msgid "Base URL" msgstr "Базовая ссылка" -#: common/models.py:739 +#: common/models.py:808 msgid "Base URL for server instance" msgstr "Базовая ссылка для экземпляра сервера" -#: common/models.py:745 +#: common/models.py:814 msgid "Default Currency" msgstr "Валюта по умолчанию" -#: common/models.py:746 +#: common/models.py:815 msgid "Default currency" msgstr "Валюта по умолчанию" -#: common/models.py:752 +#: common/models.py:821 msgid "Download from URL" msgstr "Скачать по ссылке" -#: common/models.py:753 +#: common/models.py:822 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:828 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:760 +#: common/models.py:829 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:766 +#: common/models.py:835 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:767 +#: common/models.py:836 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:773 +#: common/models.py:842 msgid "IPN Regex" msgstr "" -#: common/models.py:774 +#: common/models.py:843 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:778 +#: common/models.py:847 msgid "Allow Duplicate IPN" msgstr "Разрешить повторяющиеся IPN" -#: common/models.py:779 +#: common/models.py:848 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:785 +#: common/models.py:854 msgid "Allow Editing IPN" msgstr "Разрешить редактирование IPN" -#: common/models.py:786 +#: common/models.py:855 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:792 +#: common/models.py:861 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:793 +#: common/models.py:862 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:799 +#: common/models.py:868 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:800 +#: common/models.py:869 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:806 +#: common/models.py:875 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:807 +#: common/models.py:876 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:813 +#: common/models.py:882 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:814 +#: common/models.py:883 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:820 part/models.py:2360 report/models.py:157 +#: common/models.py:889 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "Шаблон" -#: common/models.py:821 +#: common/models.py:890 msgid "Parts are templates by default" msgstr "По умолчанию детали являются шаблонами" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 +#: common/models.py:896 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" msgstr "Сборка" -#: common/models.py:828 +#: common/models.py:897 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:834 part/models.py:890 +#: common/models.py:903 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "Компонент" -#: common/models.py:835 +#: common/models.py:904 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:841 part/models.py:901 +#: common/models.py:910 part/models.py:901 msgid "Purchaseable" msgstr "" -#: common/models.py:842 +#: common/models.py:911 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:848 part/models.py:906 +#: common/models.py:917 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "Можно продавать" -#: common/models.py:849 +#: common/models.py:918 msgid "Parts are salable by default" msgstr "" -#: common/models.py:855 part/models.py:896 +#: common/models.py:924 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "Отслеживание" -#: common/models.py:856 +#: common/models.py:925 msgid "Parts are trackable by default" msgstr "По умолчанию детали являются отслеживаемыми" -#: common/models.py:862 part/models.py:916 +#: common/models.py:931 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:863 +#: common/models.py:932 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:869 +#: common/models.py:938 msgid "Show Import in Views" msgstr "" -#: common/models.py:870 +#: common/models.py:939 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:876 +#: common/models.py:945 msgid "Show Price in Forms" msgstr "Показывать цену в формах" -#: common/models.py:877 +#: common/models.py:946 msgid "Display part price in some forms" msgstr "" -#: common/models.py:888 +#: common/models.py:957 msgid "Show Price in BOM" msgstr "Показывать цену в BOM" -#: common/models.py:889 +#: common/models.py:958 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:900 +#: common/models.py:969 msgid "Show Price History" msgstr "Показывать историю цены" -#: common/models.py:901 +#: common/models.py:970 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:907 +#: common/models.py:976 msgid "Show related parts" msgstr "Показывать связанные детали" -#: common/models.py:908 +#: common/models.py:977 msgid "Display related parts for a part" msgstr "" -#: common/models.py:914 +#: common/models.py:983 msgid "Create initial stock" msgstr "" -#: common/models.py:915 +#: common/models.py:984 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:921 +#: common/models.py:990 msgid "Internal Prices" msgstr "" -#: common/models.py:922 +#: common/models.py:991 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:928 +#: common/models.py:997 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:929 +#: common/models.py:998 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:935 +#: common/models.py:1004 msgid "Part Name Display Format" msgstr "" -#: common/models.py:936 +#: common/models.py:1005 msgid "Format to display the part name" msgstr "" -#: common/models.py:943 +#: common/models.py:1012 msgid "Enable Reports" msgstr "" -#: common/models.py:944 +#: common/models.py:1013 msgid "Enable generation of reports" msgstr "" -#: common/models.py:950 templates/stats.html:25 +#: common/models.py:1019 templates/stats.html:25 msgid "Debug Mode" msgstr "Режим отладки" -#: common/models.py:951 +#: common/models.py:1020 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:957 +#: common/models.py:1026 msgid "Page Size" msgstr "" -#: common/models.py:958 +#: common/models.py:1027 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:968 +#: common/models.py:1037 msgid "Enable Test Reports" msgstr "" -#: common/models.py:969 +#: common/models.py:1038 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:975 +#: common/models.py:1044 msgid "Attach Test Reports" msgstr "" -#: common/models.py:976 +#: common/models.py:1045 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:982 +#: common/models.py:1051 msgid "Batch Code Template" msgstr "" -#: common/models.py:983 +#: common/models.py:1052 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:988 +#: common/models.py:1057 msgid "Stock Expiry" msgstr "" -#: common/models.py:989 +#: common/models.py:1058 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:995 +#: common/models.py:1064 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:996 +#: common/models.py:1065 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1002 +#: common/models.py:1071 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1003 +#: common/models.py:1072 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1005 +#: common/models.py:1074 msgid "days" msgstr "" -#: common/models.py:1010 +#: common/models.py:1079 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1011 +#: common/models.py:1080 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1017 +#: common/models.py:1086 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1018 +#: common/models.py:1087 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1024 +#: common/models.py:1093 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1025 +#: common/models.py:1094 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1030 +#: common/models.py:1099 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1031 +#: common/models.py:1100 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1035 +#: common/models.py:1104 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1036 +#: common/models.py:1105 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1041 +#: common/models.py:1110 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1042 +#: common/models.py:1111 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1048 +#: common/models.py:1117 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1049 +#: common/models.py:1118 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1055 +#: common/models.py:1124 msgid "Enable password forgot" msgstr "" -#: common/models.py:1056 +#: common/models.py:1125 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1131 msgid "Enable registration" msgstr "" -#: common/models.py:1063 +#: common/models.py:1132 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1069 +#: common/models.py:1138 msgid "Enable SSO" msgstr "" -#: common/models.py:1070 +#: common/models.py:1139 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1076 +#: common/models.py:1145 msgid "Email required" msgstr "Необходимо указать EMail" -#: common/models.py:1077 +#: common/models.py:1146 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1083 +#: common/models.py:1152 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1084 +#: common/models.py:1153 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1090 +#: common/models.py:1159 msgid "Mail twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1160 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1097 +#: common/models.py:1166 msgid "Password twice" msgstr "" -#: common/models.py:1098 +#: common/models.py:1167 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1104 +#: common/models.py:1173 msgid "Group on signup" msgstr "" -#: common/models.py:1105 +#: common/models.py:1174 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1111 +#: common/models.py:1180 msgid "Enforce MFA" msgstr "" -#: common/models.py:1112 +#: common/models.py:1181 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1118 +#: common/models.py:1187 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1119 +#: common/models.py:1188 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1127 +#: common/models.py:1196 msgid "Enable URL integration" msgstr "" -#: common/models.py:1128 +#: common/models.py:1197 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1135 +#: common/models.py:1204 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1136 +#: common/models.py:1205 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1143 +#: common/models.py:1212 msgid "Enable app integration" msgstr "" -#: common/models.py:1144 +#: common/models.py:1213 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1151 +#: common/models.py:1220 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1152 +#: common/models.py:1221 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1159 +#: common/models.py:1228 msgid "Enable event integration" msgstr "" -#: common/models.py:1160 +#: common/models.py:1229 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1177 common/models.py:1499 +#: common/models.py:1246 common/models.py:1568 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1199 +#: common/models.py:1268 msgid "Show subscribed parts" msgstr "Показывать детали, на которые включены уведомления" -#: common/models.py:1200 +#: common/models.py:1269 msgid "Show subscribed parts on the homepage" msgstr "Показывать детали, на которые включены уведомления, на главной странице" -#: common/models.py:1206 +#: common/models.py:1275 msgid "Show subscribed categories" msgstr "Показывать категории, на которые включены уведомления" -#: common/models.py:1207 +#: common/models.py:1276 msgid "Show subscribed part categories on the homepage" msgstr "Показывать категории, на которые включены уведомления, на главной странице" -#: common/models.py:1213 +#: common/models.py:1282 msgid "Show latest parts" msgstr "Показывать последние детали" -#: common/models.py:1214 +#: common/models.py:1283 msgid "Show latest parts on the homepage" msgstr "Показывать последние детали на главной странице" -#: common/models.py:1220 +#: common/models.py:1289 msgid "Recent Part Count" msgstr "" -#: common/models.py:1221 +#: common/models.py:1290 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1227 +#: common/models.py:1296 msgid "Show unvalidated BOMs" msgstr "Показывать непроверенные BOMы" -#: common/models.py:1228 +#: common/models.py:1297 msgid "Show BOMs that await validation on the homepage" msgstr "Показывать BOMы, ожидающие проверки, на главной странице" -#: common/models.py:1234 +#: common/models.py:1303 msgid "Show recent stock changes" msgstr "Показывать изменившиеся складские запасы" -#: common/models.py:1235 +#: common/models.py:1304 msgid "Show recently changed stock items on the homepage" msgstr "Показывать единицы хранения с недавно изменившимися складскими запасами на главной странице" -#: common/models.py:1241 +#: common/models.py:1310 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1242 +#: common/models.py:1311 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1248 +#: common/models.py:1317 msgid "Show low stock" msgstr "Показывать низкие складские запасы" -#: common/models.py:1249 +#: common/models.py:1318 msgid "Show low stock items on the homepage" msgstr "Показывать единицы хранения с низкими складскими запасами на главной странице" -#: common/models.py:1255 +#: common/models.py:1324 msgid "Show depleted stock" msgstr "Показывать закончившиеся детали" -#: common/models.py:1256 +#: common/models.py:1325 msgid "Show depleted stock items on the homepage" msgstr "Показывать закончившиеся на складе единицы хранения на главной странице" -#: common/models.py:1262 +#: common/models.py:1331 msgid "Show needed stock" msgstr "Показывать требуемые детали" -#: common/models.py:1263 +#: common/models.py:1332 msgid "Show stock items needed for builds on the homepage" msgstr "Показывать требуемые для сборки единицы хранения на главной странице" -#: common/models.py:1269 +#: common/models.py:1338 msgid "Show expired stock" msgstr "Показывать просрочку" -#: common/models.py:1270 +#: common/models.py:1339 msgid "Show expired stock items on the homepage" msgstr "Показывать единицы хранения с истёкшим сроком годности на главной странице" -#: common/models.py:1276 +#: common/models.py:1345 msgid "Show stale stock" msgstr "Показывать залежалые" -#: common/models.py:1277 +#: common/models.py:1346 msgid "Show stale stock items on the homepage" msgstr "Показывать залежалые единицы хранения на главной странице" -#: common/models.py:1283 +#: common/models.py:1352 msgid "Show pending builds" msgstr "Показывать незавершённые сборки" -#: common/models.py:1284 +#: common/models.py:1353 msgid "Show pending builds on the homepage" msgstr "Показывать незавершённые сборки на главной странице" -#: common/models.py:1290 +#: common/models.py:1359 msgid "Show overdue builds" msgstr "Показывать просроченные сборки" -#: common/models.py:1291 +#: common/models.py:1360 msgid "Show overdue builds on the homepage" msgstr "Показывать просроченные сборки на главной странице" -#: common/models.py:1297 +#: common/models.py:1366 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1367 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1373 msgid "Show overdue POs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1374 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1380 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1381 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1387 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1319 +#: common/models.py:1388 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1324 +#: common/models.py:1393 msgid "Enable label printing" msgstr "" -#: common/models.py:1325 +#: common/models.py:1394 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1331 +#: common/models.py:1400 msgid "Inline label display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1401 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1407 msgid "Inline report display" msgstr "" -#: common/models.py:1339 +#: common/models.py:1408 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1345 +#: common/models.py:1414 msgid "Search Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1415 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1421 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1422 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1428 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1429 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1435 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1367 +#: common/models.py:1436 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1442 msgid "Search Categories" msgstr "" -#: common/models.py:1374 +#: common/models.py:1443 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1449 msgid "Search Stock" msgstr "" -#: common/models.py:1381 +#: common/models.py:1450 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1456 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1388 +#: common/models.py:1457 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1463 msgid "Search Locations" msgstr "" -#: common/models.py:1395 +#: common/models.py:1464 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1470 msgid "Search Companies" msgstr "" -#: common/models.py:1402 +#: common/models.py:1471 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1477 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1478 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1484 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1485 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1491 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1492 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1498 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1430 +#: common/models.py:1499 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1505 msgid "Search Preview Results" msgstr "" -#: common/models.py:1437 +#: common/models.py:1506 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1512 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1513 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1519 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1451 +#: common/models.py:1520 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1457 +#: common/models.py:1526 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1458 +#: common/models.py:1527 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1464 +#: common/models.py:1533 msgid "Date Format" msgstr "" -#: common/models.py:1465 +#: common/models.py:1534 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1479 part/templates/part/detail.html:39 +#: common/models.py:1548 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1480 +#: common/models.py:1549 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1544 company/forms.py:37 +#: common/models.py:1608 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1551 company/serializers.py:319 +#: common/models.py:1615 company/serializers.py:319 #: company/templates/company/supplier_part.html:284 order/models.py:951 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:2095 msgid "Price" msgstr "Цена" -#: common/models.py:1552 +#: common/models.py:1616 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1712 common/models.py:1890 +#: common/models.py:1776 common/models.py:1954 msgid "Endpoint" msgstr "" -#: common/models.py:1713 +#: common/models.py:1777 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1722 +#: common/models.py:1786 msgid "Name for this webhook" msgstr "" -#: common/models.py:1727 part/models.py:911 plugin/models.py:99 +#: common/models.py:1791 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,67 +2458,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1728 +#: common/models.py:1792 msgid "Is this webhook active" msgstr "" -#: common/models.py:1742 +#: common/models.py:1806 msgid "Token" msgstr "" -#: common/models.py:1743 +#: common/models.py:1807 msgid "Token for access" msgstr "" -#: common/models.py:1750 +#: common/models.py:1814 msgid "Secret" msgstr "" -#: common/models.py:1751 +#: common/models.py:1815 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1857 +#: common/models.py:1921 msgid "Message ID" msgstr "" -#: common/models.py:1858 +#: common/models.py:1922 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1866 +#: common/models.py:1930 msgid "Host" msgstr "" -#: common/models.py:1867 +#: common/models.py:1931 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1874 +#: common/models.py:1938 msgid "Header" msgstr "" -#: common/models.py:1875 +#: common/models.py:1939 msgid "Header of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1945 msgid "Body" msgstr "" -#: common/models.py:1882 +#: common/models.py:1946 msgid "Body of this message" msgstr "" -#: common/models.py:1891 +#: common/models.py:1955 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1896 +#: common/models.py:1960 msgid "Worked on" msgstr "" -#: common/models.py:1897 +#: common/models.py:1961 msgid "Was the work on this message finished?" msgstr "" @@ -2657,7 +2657,7 @@ msgstr "Является ли компания производителем де #: company/models.py:145 company/serializers.py:325 #: company/templates/company/company_base.html:106 part/serializers.py:139 -#: part/serializers.py:170 stock/serializers.py:162 +#: part/serializers.py:170 stock/serializers.py:163 msgid "Currency" msgstr "Валюта" @@ -2793,7 +2793,7 @@ msgstr "" #: company/models.py:519 company/templates/company/supplier_part.html:146 #: 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 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:388 msgid "Note" msgstr "Заметка" @@ -2807,7 +2807,7 @@ msgstr "" #: company/models.py:525 company/templates/company/supplier_part.html:139 #: stock/models.py:608 stock/templates/stock/item_base.html:245 -#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1974 +#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1975 msgid "Packaging" msgstr "Упаковка" @@ -2902,11 +2902,11 @@ msgstr "Скачать изображение по ссылке" #: company/templates/company/company_base.html:86 order/models.py:651 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:745 +#: stock/models.py:628 stock/serializers.py:785 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:381 templates/js/translated/order.js:2458 -#: templates/js/translated/stock.js:2493 +#: templates/js/translated/stock.js:2494 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "Покупатель" @@ -3079,7 +3079,7 @@ msgstr "Удалить деталь поставщика" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 -#: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:33 +#: templates/js/translated/forms.js:442 templates/js/translated/helpers.js:33 #: users/models.py:219 msgid "Delete" msgstr "Удалить" @@ -3127,7 +3127,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:894 templates/js/translated/order.js:884 -#: templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:1932 msgid "Supplier Part" msgstr "Деталь поставщика" @@ -3235,7 +3235,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:43 #: templates/js/translated/bom.js:554 templates/js/translated/part.js:747 #: templates/js/translated/part.js:1295 templates/js/translated/part.js:1456 -#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1749 +#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1750 #: templates/navbar.html:31 msgid "Stock" msgstr "Склад" @@ -3262,7 +3262,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:2369 users/models.py:39 +#: templates/js/translated/stock.js:2370 users/models.py:39 msgid "Stock Items" msgstr "Детали на складе" @@ -3536,8 +3536,8 @@ msgstr "" #: 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:968 templates/js/translated/stock.js:1908 -#: templates/js/translated/stock.js:2474 +#: templates/js/translated/part.js:968 templates/js/translated/stock.js:1909 +#: templates/js/translated/stock.js:2475 msgid "Purchase Order" msgstr "Заказ на закупку" @@ -3557,8 +3557,8 @@ msgid "Number of items received" msgstr "" #: order/models.py:1030 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:1962 +#: stock/serializers.py:154 stock/templates/stock/item_base.html:191 +#: templates/js/translated/stock.js:1963 msgid "Purchase Price" msgstr "Закупочная цена" @@ -4121,19 +4121,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1011 +#: part/api.py:1058 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1015 +#: part/api.py:1062 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1030 +#: part/api.py:1077 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 +#: part/api.py:1108 part/api.py:1112 part/api.py:1127 part/api.py:1131 msgid "This field is required" msgstr "" @@ -4268,7 +4268,7 @@ msgstr "Категория" #: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:735 templates/js/translated/part.js:1391 -#: templates/js/translated/stock.js:1721 +#: templates/js/translated/stock.js:1722 msgid "IPN" msgstr "" @@ -4611,7 +4611,7 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:164 msgid "Purchase currency of this stock item" msgstr "Валюта покупки этой единицы хранения" @@ -5752,7 +5752,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2402 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2403 msgid "Date" msgstr "" @@ -5771,19 +5771,19 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: templates/js/translated/stock.js:606 templates/js/translated/stock.js:776 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2652 msgid "Serial" msgstr "" -#: stock/api.py:505 +#: stock/api.py:511 msgid "Quantity is required" msgstr "" -#: stock/api.py:512 +#: stock/api.py:518 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:537 +#: stock/api.py:543 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5891,7 +5891,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1879 msgid "Expiry Date" msgstr "" @@ -5969,7 +5969,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1347 stock/serializers.py:895 +#: stock/models.py:1347 stock/serializers.py:935 msgid "Duplicate stock items" msgstr "" @@ -6021,120 +6021,128 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:156 +#: stock/serializers.py:157 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:280 +#: stock/serializers.py:281 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:293 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:299 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 +#: stock/serializers.py:310 stock/serializers.py:892 stock/serializers.py:1125 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:316 +#: stock/serializers.py:317 msgid "Optional note field" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:327 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:344 msgid "Serial numbers already exist" msgstr "Серийные номера уже существуют" -#: stock/serializers.py:383 +#: stock/serializers.py:384 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:397 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:404 msgid "Selected part is not in the Bill of Materials" msgstr "Выбранная деталь отсутствует в спецификации" -#: stock/serializers.py:440 +#: stock/serializers.py:441 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:445 stock/serializers.py:487 +#: stock/serializers.py:446 stock/serializers.py:527 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:482 +#: stock/serializers.py:480 +msgid "Select part to convert stock item into" +msgstr "" + +#: stock/serializers.py:491 +msgid "Selected part is not a valid option for conversion" +msgstr "" + +#: stock/serializers.py:522 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:707 +#: stock/serializers.py:747 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:711 +#: stock/serializers.py:751 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:755 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:786 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:752 +#: stock/serializers.py:792 msgid "Selected company is not a customer" msgstr "Выбранная компания не является покупателем" -#: stock/serializers.py:760 +#: stock/serializers.py:800 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:770 stock/serializers.py:1001 +#: stock/serializers.py:810 stock/serializers.py:1041 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:859 +#: stock/serializers.py:899 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:864 +#: stock/serializers.py:904 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:865 +#: stock/serializers.py:905 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:870 +#: stock/serializers.py:910 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:871 +#: stock/serializers.py:911 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:881 +#: stock/serializers.py:921 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:963 +#: stock/serializers.py:1003 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:1031 msgid "Stock transaction notes" msgstr "" @@ -6171,7 +6179,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "Установленные единицы хранения" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2795 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2796 msgid "Install Stock Item" msgstr "Установить единицу хранения" @@ -6179,7 +6187,7 @@ msgstr "Установить единицу хранения" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1517 +#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1518 msgid "Add Test Result" msgstr "" @@ -6366,7 +6374,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1894 +#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1895 msgid "Last Updated" msgstr "" @@ -6382,7 +6390,23 @@ msgstr "" msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:642 +#: stock/templates/stock/item_base.html:594 +msgid "Select one of the part variants listed below." +msgstr "" + +#: stock/templates/stock/item_base.html:597 +msgid "Warning" +msgstr "Предупреждение" + +#: stock/templates/stock/item_base.html:598 +msgid "This action cannot be easily undone" +msgstr "" + +#: stock/templates/stock/item_base.html:606 +msgid "Convert Stock Item" +msgstr "" + +#: stock/templates/stock/item_base.html:664 msgid "Return to Stock" msgstr "" @@ -6466,32 +6490,11 @@ msgstr "Места хранения" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:143 -msgid "Convert Stock Item" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:8 -#, python-format -msgid "This stock item is current an instance of %(part)s" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:9 -msgid "It can be converted to one of the part variants listed below." -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:13 -msgid "Warning" -msgstr "Предупреждение" - -#: stock/templates/stock/stockitem_convert.html:14 -msgid "This action cannot be easily undone" -msgstr "" - -#: stock/views.py:110 +#: stock/views.py:109 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:126 +#: stock/views.py:125 msgid "Stock Item QR Code" msgstr "" @@ -7303,7 +7306,7 @@ 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 +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:633 msgid "Confirm" msgstr "Подтвердить" @@ -8175,8 +8178,8 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2447 templates/js/translated/part.js:1383 -#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1681 -#: templates/js/translated/stock.js:2339 +#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:2340 msgid "Select" msgstr "" @@ -8188,7 +8191,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2581 +#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2582 msgid "No user information" msgstr "" @@ -8342,61 +8345,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:353 templates/js/translated/forms.js:368 -#: templates/js/translated/forms.js:382 templates/js/translated/forms.js:396 +#: templates/js/translated/forms.js:356 templates/js/translated/forms.js:371 +#: templates/js/translated/forms.js:385 templates/js/translated/forms.js:399 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:355 +#: templates/js/translated/forms.js:358 msgid "Create operation not allowed" msgstr "Операция создания не разрешена" -#: templates/js/translated/forms.js:370 +#: templates/js/translated/forms.js:373 msgid "Update operation not allowed" msgstr "Операция обновления не разрешена" -#: templates/js/translated/forms.js:384 +#: templates/js/translated/forms.js:387 msgid "Delete operation not allowed" msgstr "Операция удаления не разрешена" -#: templates/js/translated/forms.js:398 +#: templates/js/translated/forms.js:401 msgid "View operation not allowed" msgstr "Операция просмотра не разрешена" -#: templates/js/translated/forms.js:656 +#: templates/js/translated/forms.js:659 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:757 +#: templates/js/translated/forms.js:760 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1249 templates/modals.html:19 +#: templates/js/translated/forms.js:1252 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Форма содержит ошибки" -#: templates/js/translated/forms.js:1682 +#: templates/js/translated/forms.js:1685 msgid "No results found" msgstr "Не найдено" -#: templates/js/translated/forms.js:1897 templates/search.html:29 +#: templates/js/translated/forms.js:1900 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2150 +#: templates/js/translated/forms.js:2153 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2628 +#: templates/js/translated/forms.js:2631 msgid "Select Columns" msgstr "" @@ -8727,7 +8730,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2142 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2143 msgid "Stock Status" msgstr "" @@ -8921,7 +8924,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1597 +#: templates/js/translated/stock.js:1598 msgid "Shipped to customer" msgstr "" @@ -9187,7 +9190,7 @@ msgid "No category" msgstr "Нет категории" #: templates/js/translated/part.js:1573 templates/js/translated/part.js:1785 -#: templates/js/translated/stock.js:2300 +#: templates/js/translated/stock.js:2301 msgid "Display as list" msgstr "Список" @@ -9211,7 +9214,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2319 +#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2320 msgid "Display as tree" msgstr "Дерево" @@ -9219,7 +9222,7 @@ msgstr "Дерево" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2363 +#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2364 msgid "Path" msgstr "Путь" @@ -9232,7 +9235,7 @@ msgid "Edit test result" msgstr "" #: templates/js/translated/part.js:1978 templates/js/translated/stock.js:1296 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1556 msgid "Delete test result" msgstr "" @@ -9565,180 +9568,180 @@ msgstr "" msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1374 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1538 +#: templates/js/translated/stock.js:1539 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/stock.js:1561 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1590 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1593 +#: templates/js/translated/stock.js:1594 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1601 +#: templates/js/translated/stock.js:1602 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1607 +#: templates/js/translated/stock.js:1608 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1775 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:1780 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1782 +#: templates/js/translated/stock.js:1783 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1785 +#: templates/js/translated/stock.js:1786 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1787 +#: templates/js/translated/stock.js:1788 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1790 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1793 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1797 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1799 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1806 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1807 +#: templates/js/translated/stock.js:1808 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1809 +#: templates/js/translated/stock.js:1810 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1813 +#: templates/js/translated/stock.js:1814 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1865 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1946 +#: templates/js/translated/stock.js:1947 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1984 +#: templates/js/translated/stock.js:1985 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2157 +#: templates/js/translated/stock.js:2158 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2171 +#: templates/js/translated/stock.js:2172 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2173 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2443 +#: templates/js/translated/stock.js:2444 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2465 +#: templates/js/translated/stock.js:2466 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2484 +#: templates/js/translated/stock.js:2485 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2504 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2521 +#: templates/js/translated/stock.js:2522 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2545 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2552 +#: templates/js/translated/stock.js:2553 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2629 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2679 templates/js/translated/stock.js:2715 +#: templates/js/translated/stock.js:2680 templates/js/translated/stock.js:2716 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2729 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2749 +#: templates/js/translated/stock.js:2750 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2751 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2753 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/stock.js:2754 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2755 +#: templates/js/translated/stock.js:2756 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2768 +#: templates/js/translated/stock.js:2769 msgid "Select part to install" msgstr "" @@ -9990,61 +9993,61 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:525 +#: templates/js/translated/tables.js:534 msgid "Loading data" msgstr "Загрузка данных" -#: templates/js/translated/tables.js:528 +#: templates/js/translated/tables.js:537 msgid "rows per page" msgstr "строк на странице" -#: templates/js/translated/tables.js:533 +#: templates/js/translated/tables.js:542 msgid "Showing all rows" msgstr "Показываются все строки" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "Showing" msgstr "Показано от" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "to" msgstr "до" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "of" msgstr "из" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "rows" msgstr "строк" -#: templates/js/translated/tables.js:539 templates/navbar.html:102 +#: templates/js/translated/tables.js:548 templates/navbar.html:102 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" msgstr "Поиск" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:551 msgid "No matching results" msgstr "Ничего не найдено" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:554 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:548 +#: templates/js/translated/tables.js:557 msgid "Refresh" msgstr "Обновить" -#: templates/js/translated/tables.js:551 +#: templates/js/translated/tables.js:560 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:563 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:566 msgid "All" msgstr "" diff --git a/InvenTree/locale/sv/LC_MESSAGES/django.po b/InvenTree/locale/sv/LC_MESSAGES/django.po index 0024cdeae4..57274eb41b 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-11 13:14+0000\n" -"PO-Revision-Date: 2022-06-11 15:03\n" +"POT-Creation-Date: 2022-06-15 08:34+0000\n" +"PO-Revision-Date: 2022-06-15 16:23\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -141,12 +141,12 @@ msgstr "Kommentar" msgid "File comment" msgstr "Fil kommentar" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1575 +#: common/models.py:1576 common/models.py:1799 common/models.py:1800 +#: common/models.py:2062 common/models.py:2063 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:2575 +#: templates/js/translated/stock.js:2576 msgid "User" msgstr "Användare" @@ -183,7 +183,7 @@ msgstr "Fel vid namnbyte av fil" msgid "Invalid choice" msgstr "Ogiltigt val" -#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1785 #: company/models.py:355 label/models.py:101 part/models.py:739 #: part/models.py:2319 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -195,7 +195,7 @@ msgstr "Ogiltigt val" #: templates/js/translated/company.js:744 #: templates/js/translated/notification.js:73 #: templates/js/translated/part.js:684 templates/js/translated/part.js:836 -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2345 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2346 msgid "Name" msgstr "Namn" @@ -217,8 +217,8 @@ msgstr "Namn" #: templates/js/translated/order.js:1888 templates/js/translated/order.js:2476 #: templates/js/translated/part.js:743 templates/js/translated/part.js:1151 #: templates/js/translated/part.js:1424 templates/js/translated/part.js:1876 -#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1738 -#: templates/js/translated/stock.js:2357 templates/js/translated/stock.js:2412 +#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1739 +#: templates/js/translated/stock.js:2358 templates/js/translated/stock.js:2413 msgid "Description" msgstr "Beskrivning" @@ -292,99 +292,99 @@ msgstr "" msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:689 msgid "Czech" msgstr "" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:690 msgid "German" msgstr "Tyska" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:691 msgid "Greek" msgstr "Grekiska" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:692 msgid "English" msgstr "Engelska" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:693 msgid "Spanish" msgstr "Spanska" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:694 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:695 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:696 msgid "French" msgstr "Franska" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:697 msgid "Hebrew" msgstr "Hebreiska" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:698 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:699 msgid "Italian" msgstr "Italienska" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:700 msgid "Japanese" msgstr "Japanska" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:701 msgid "Korean" msgstr "Koreanska" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:702 msgid "Dutch" msgstr "Nederländska" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:703 msgid "Norwegian" msgstr "Norska" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:704 msgid "Polish" msgstr "Polska" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:705 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:706 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:707 msgid "Russian" msgstr "Ryska" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:708 msgid "Swedish" msgstr "Svenska" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:709 msgid "Thai" msgstr "Thailändska" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:710 msgid "Turkish" msgstr "Turkiska" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:711 msgid "Vietnamese" msgstr "Vietnamesiska" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:712 msgid "Chinese" msgstr "Kinesiska" @@ -515,7 +515,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2082 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2083 msgid "Merged stock items" msgstr "" @@ -669,7 +669,7 @@ msgstr "" #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:479 #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 @@ -688,8 +688,8 @@ msgstr "" #: templates/js/translated/part.js:1136 templates/js/translated/part.js:1206 #: templates/js/translated/part.js:1402 templates/js/translated/stock.js:582 #: templates/js/translated/stock.js:747 templates/js/translated/stock.js:954 -#: templates/js/translated/stock.js:1695 templates/js/translated/stock.js:2438 -#: templates/js/translated/stock.js:2633 templates/js/translated/stock.js:2767 +#: templates/js/translated/stock.js:1696 templates/js/translated/stock.js:2439 +#: templates/js/translated/stock.js:2634 templates/js/translated/stock.js:2768 msgid "Part" msgstr "" @@ -815,14 +815,14 @@ msgstr "" #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 #: 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:759 stock/serializers.py:858 stock/serializers.py:990 +#: stock/serializers.py:316 stock/serializers.py:445 stock/serializers.py:526 +#: stock/serializers.py:799 stock/serializers.py:898 stock/serializers.py:1030 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1038 #: templates/js/translated/company.js:949 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:1369 templates/js/translated/stock.js:1978 +#: templates/js/translated/stock.js:1370 templates/js/translated/stock.js:1979 msgid "Notes" msgstr "" @@ -878,8 +878,8 @@ msgid "Build to allocate parts" msgstr "" #: 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 +#: order/serializers.py:1017 stock/serializers.py:383 stock/serializers.py:730 +#: stock/serializers.py:856 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 @@ -888,7 +888,7 @@ msgstr "" #: 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:583 templates/js/translated/stock.js:748 -#: templates/js/translated/stock.js:2511 +#: templates/js/translated/stock.js:2512 msgid "Stock Item" msgstr "" @@ -898,7 +898,7 @@ msgstr "" #: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1543 +#: build/templates/build/detail.html:34 common/models.py:1607 #: company/forms.py:36 company/templates/company/supplier_part.html:279 #: order/models.py:911 order/models.py:1414 order/serializers.py:1136 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 @@ -911,7 +911,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:280 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:691 #: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 @@ -928,7 +928,7 @@ msgstr "" #: templates/js/translated/part.js:2321 templates/js/translated/part.js:2355 #: templates/js/translated/part.js:2433 templates/js/translated/stock.js:454 #: templates/js/translated/stock.js:608 templates/js/translated/stock.js:778 -#: templates/js/translated/stock.js:2560 templates/js/translated/stock.js:2645 +#: templates/js/translated/stock.js:2561 templates/js/translated/stock.js:2646 msgid "Quantity" msgstr "" @@ -972,7 +972,7 @@ msgstr "" #: build/serializers.py:198 build/serializers.py:623 order/models.py:354 #: 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 +#: stock/serializers.py:289 msgid "Quantity must be greater than zero" msgstr "" @@ -985,7 +985,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 -#: stock/serializers.py:297 templates/js/translated/order.js:1186 +#: stock/serializers.py:298 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:267 templates/js/translated/stock.js:455 msgid "Serial Numbers" msgstr "" @@ -1002,7 +1002,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:553 +#: build/serializers.py:268 stock/api.py:559 msgid "The following serial numbers already exist" msgstr "" @@ -1011,8 +1011,8 @@ msgid "A list of build outputs must be provided" 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:851 stock/serializers.py:1084 +#: stock/serializers.py:309 stock/serializers.py:440 stock/serializers.py:521 +#: stock/serializers.py:891 stock/serializers.py:1124 #: 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 @@ -1021,7 +1021,7 @@ msgstr "" #: templates/js/translated/order.js:3247 templates/js/translated/order.js:3328 #: templates/js/translated/part.js:181 templates/js/translated/stock.js:584 #: templates/js/translated/stock.js:749 templates/js/translated/stock.js:956 -#: templates/js/translated/stock.js:1849 templates/js/translated/stock.js:2452 +#: templates/js/translated/stock.js:1850 templates/js/translated/stock.js:2453 msgid "Location" msgstr "" @@ -1034,8 +1034,8 @@ msgstr "" #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2509 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 -#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1824 -#: templates/js/translated/stock.js:2529 templates/js/translated/stock.js:2661 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1825 +#: templates/js/translated/stock.js:2530 templates/js/translated/stock.js:2662 msgid "Status" msgstr "" @@ -1112,7 +1112,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:703 +#: build/serializers.py:609 stock/serializers.py:743 msgid "Item must be in stock" msgstr "" @@ -1333,8 +1333,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:1022 templates/js/translated/stock.js:1838 -#: templates/js/translated/stock.js:2668 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:1839 +#: templates/js/translated/stock.js:2669 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1545,912 +1545,912 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:365 +#: common/models.py:434 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:367 +#: common/models.py:436 msgid "Settings value" msgstr "" -#: common/models.py:408 +#: common/models.py:477 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:425 +#: common/models.py:494 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:436 +#: common/models.py:505 msgid "Value must be an integer value" msgstr "" -#: common/models.py:481 +#: common/models.py:550 msgid "Key string must be unique" msgstr "" -#: common/models.py:665 +#: common/models.py:734 msgid "No group" msgstr "" -#: common/models.py:704 +#: common/models.py:773 msgid "Restart required" msgstr "" -#: common/models.py:705 +#: common/models.py:774 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:712 +#: common/models.py:781 msgid "Server Instance Name" msgstr "" -#: common/models.py:714 +#: common/models.py:783 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:718 +#: common/models.py:787 msgid "Use instance name" msgstr "" -#: common/models.py:719 +#: common/models.py:788 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:725 +#: common/models.py:794 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:726 +#: common/models.py:795 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:732 company/models.py:93 company/models.py:94 +#: common/models.py:801 company/models.py:93 company/models.py:94 msgid "Company name" msgstr "" -#: common/models.py:733 +#: common/models.py:802 msgid "Internal company name" msgstr "" -#: common/models.py:738 +#: common/models.py:807 msgid "Base URL" msgstr "" -#: common/models.py:739 +#: common/models.py:808 msgid "Base URL for server instance" msgstr "" -#: common/models.py:745 +#: common/models.py:814 msgid "Default Currency" msgstr "" -#: common/models.py:746 +#: common/models.py:815 msgid "Default currency" msgstr "" -#: common/models.py:752 +#: common/models.py:821 msgid "Download from URL" msgstr "" -#: common/models.py:753 +#: common/models.py:822 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:828 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:760 +#: common/models.py:829 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:766 +#: common/models.py:835 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:767 +#: common/models.py:836 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:773 +#: common/models.py:842 msgid "IPN Regex" msgstr "" -#: common/models.py:774 +#: common/models.py:843 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:778 +#: common/models.py:847 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:779 +#: common/models.py:848 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:785 +#: common/models.py:854 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:786 +#: common/models.py:855 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:792 +#: common/models.py:861 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:793 +#: common/models.py:862 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:799 +#: common/models.py:868 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:800 +#: common/models.py:869 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:806 +#: common/models.py:875 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:807 +#: common/models.py:876 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:813 +#: common/models.py:882 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:814 +#: common/models.py:883 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:820 part/models.py:2360 report/models.py:157 +#: common/models.py:889 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:821 +#: common/models.py:890 msgid "Parts are templates by default" msgstr "" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 +#: common/models.py:896 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" msgstr "" -#: common/models.py:828 +#: common/models.py:897 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:834 part/models.py:890 +#: common/models.py:903 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:835 +#: common/models.py:904 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:841 part/models.py:901 +#: common/models.py:910 part/models.py:901 msgid "Purchaseable" msgstr "" -#: common/models.py:842 +#: common/models.py:911 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:848 part/models.py:906 +#: common/models.py:917 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:849 +#: common/models.py:918 msgid "Parts are salable by default" msgstr "" -#: common/models.py:855 part/models.py:896 +#: common/models.py:924 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:856 +#: common/models.py:925 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:862 part/models.py:916 +#: common/models.py:931 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:863 +#: common/models.py:932 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:869 +#: common/models.py:938 msgid "Show Import in Views" msgstr "" -#: common/models.py:870 +#: common/models.py:939 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:876 +#: common/models.py:945 msgid "Show Price in Forms" msgstr "" -#: common/models.py:877 +#: common/models.py:946 msgid "Display part price in some forms" msgstr "" -#: common/models.py:888 +#: common/models.py:957 msgid "Show Price in BOM" msgstr "" -#: common/models.py:889 +#: common/models.py:958 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:900 +#: common/models.py:969 msgid "Show Price History" msgstr "" -#: common/models.py:901 +#: common/models.py:970 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:907 +#: common/models.py:976 msgid "Show related parts" msgstr "" -#: common/models.py:908 +#: common/models.py:977 msgid "Display related parts for a part" msgstr "" -#: common/models.py:914 +#: common/models.py:983 msgid "Create initial stock" msgstr "" -#: common/models.py:915 +#: common/models.py:984 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:921 +#: common/models.py:990 msgid "Internal Prices" msgstr "" -#: common/models.py:922 +#: common/models.py:991 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:928 +#: common/models.py:997 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:929 +#: common/models.py:998 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:935 +#: common/models.py:1004 msgid "Part Name Display Format" msgstr "" -#: common/models.py:936 +#: common/models.py:1005 msgid "Format to display the part name" msgstr "" -#: common/models.py:943 +#: common/models.py:1012 msgid "Enable Reports" msgstr "" -#: common/models.py:944 +#: common/models.py:1013 msgid "Enable generation of reports" msgstr "" -#: common/models.py:950 templates/stats.html:25 +#: common/models.py:1019 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:951 +#: common/models.py:1020 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:957 +#: common/models.py:1026 msgid "Page Size" msgstr "" -#: common/models.py:958 +#: common/models.py:1027 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:968 +#: common/models.py:1037 msgid "Enable Test Reports" msgstr "" -#: common/models.py:969 +#: common/models.py:1038 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:975 +#: common/models.py:1044 msgid "Attach Test Reports" msgstr "" -#: common/models.py:976 +#: common/models.py:1045 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:982 +#: common/models.py:1051 msgid "Batch Code Template" msgstr "" -#: common/models.py:983 +#: common/models.py:1052 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:988 +#: common/models.py:1057 msgid "Stock Expiry" msgstr "" -#: common/models.py:989 +#: common/models.py:1058 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:995 +#: common/models.py:1064 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:996 +#: common/models.py:1065 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1002 +#: common/models.py:1071 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1003 +#: common/models.py:1072 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1005 +#: common/models.py:1074 msgid "days" msgstr "" -#: common/models.py:1010 +#: common/models.py:1079 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1011 +#: common/models.py:1080 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1017 +#: common/models.py:1086 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1018 +#: common/models.py:1087 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1024 +#: common/models.py:1093 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1025 +#: common/models.py:1094 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1030 +#: common/models.py:1099 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1031 +#: common/models.py:1100 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1035 +#: common/models.py:1104 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1036 +#: common/models.py:1105 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1041 +#: common/models.py:1110 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1042 +#: common/models.py:1111 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1048 +#: common/models.py:1117 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1049 +#: common/models.py:1118 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1055 +#: common/models.py:1124 msgid "Enable password forgot" msgstr "" -#: common/models.py:1056 +#: common/models.py:1125 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1131 msgid "Enable registration" msgstr "" -#: common/models.py:1063 +#: common/models.py:1132 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1069 +#: common/models.py:1138 msgid "Enable SSO" msgstr "" -#: common/models.py:1070 +#: common/models.py:1139 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1076 +#: common/models.py:1145 msgid "Email required" msgstr "" -#: common/models.py:1077 +#: common/models.py:1146 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1083 +#: common/models.py:1152 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1084 +#: common/models.py:1153 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1090 +#: common/models.py:1159 msgid "Mail twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1160 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1097 +#: common/models.py:1166 msgid "Password twice" msgstr "" -#: common/models.py:1098 +#: common/models.py:1167 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1104 +#: common/models.py:1173 msgid "Group on signup" msgstr "" -#: common/models.py:1105 +#: common/models.py:1174 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1111 +#: common/models.py:1180 msgid "Enforce MFA" msgstr "" -#: common/models.py:1112 +#: common/models.py:1181 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1118 +#: common/models.py:1187 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1119 +#: common/models.py:1188 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1127 +#: common/models.py:1196 msgid "Enable URL integration" msgstr "" -#: common/models.py:1128 +#: common/models.py:1197 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1135 +#: common/models.py:1204 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1136 +#: common/models.py:1205 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1143 +#: common/models.py:1212 msgid "Enable app integration" msgstr "" -#: common/models.py:1144 +#: common/models.py:1213 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1151 +#: common/models.py:1220 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1152 +#: common/models.py:1221 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1159 +#: common/models.py:1228 msgid "Enable event integration" msgstr "" -#: common/models.py:1160 +#: common/models.py:1229 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1177 common/models.py:1499 +#: common/models.py:1246 common/models.py:1568 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1199 +#: common/models.py:1268 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1200 +#: common/models.py:1269 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1275 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1207 +#: common/models.py:1276 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1213 +#: common/models.py:1282 msgid "Show latest parts" msgstr "" -#: common/models.py:1214 +#: common/models.py:1283 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1220 +#: common/models.py:1289 msgid "Recent Part Count" msgstr "" -#: common/models.py:1221 +#: common/models.py:1290 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1227 +#: common/models.py:1296 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1228 +#: common/models.py:1297 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1303 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1235 +#: common/models.py:1304 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1241 +#: common/models.py:1310 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1242 +#: common/models.py:1311 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1248 +#: common/models.py:1317 msgid "Show low stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1318 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1324 msgid "Show depleted stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1325 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1331 msgid "Show needed stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1332 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1338 msgid "Show expired stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1339 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1345 msgid "Show stale stock" msgstr "" -#: common/models.py:1277 +#: common/models.py:1346 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1352 msgid "Show pending builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1353 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1359 msgid "Show overdue builds" msgstr "" -#: common/models.py:1291 +#: common/models.py:1360 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1366 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1367 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1373 msgid "Show overdue POs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1374 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1380 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1381 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1387 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1319 +#: common/models.py:1388 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1324 +#: common/models.py:1393 msgid "Enable label printing" msgstr "" -#: common/models.py:1325 +#: common/models.py:1394 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1331 +#: common/models.py:1400 msgid "Inline label display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1401 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1407 msgid "Inline report display" msgstr "" -#: common/models.py:1339 +#: common/models.py:1408 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1345 +#: common/models.py:1414 msgid "Search Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1415 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1421 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1422 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1428 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1429 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1435 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1367 +#: common/models.py:1436 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1442 msgid "Search Categories" msgstr "" -#: common/models.py:1374 +#: common/models.py:1443 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1449 msgid "Search Stock" msgstr "" -#: common/models.py:1381 +#: common/models.py:1450 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1456 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1388 +#: common/models.py:1457 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1463 msgid "Search Locations" msgstr "" -#: common/models.py:1395 +#: common/models.py:1464 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1470 msgid "Search Companies" msgstr "" -#: common/models.py:1402 +#: common/models.py:1471 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1477 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1478 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1484 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1485 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1491 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1492 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1498 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1430 +#: common/models.py:1499 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1505 msgid "Search Preview Results" msgstr "" -#: common/models.py:1437 +#: common/models.py:1506 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1512 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1513 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1519 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1451 +#: common/models.py:1520 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1457 +#: common/models.py:1526 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1458 +#: common/models.py:1527 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1464 +#: common/models.py:1533 msgid "Date Format" msgstr "" -#: common/models.py:1465 +#: common/models.py:1534 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1479 part/templates/part/detail.html:39 +#: common/models.py:1548 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1480 +#: common/models.py:1549 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1544 company/forms.py:37 +#: common/models.py:1608 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1551 company/serializers.py:319 +#: common/models.py:1615 company/serializers.py:319 #: company/templates/company/supplier_part.html:284 order/models.py:951 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:2095 msgid "Price" msgstr "" -#: common/models.py:1552 +#: common/models.py:1616 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1712 common/models.py:1890 +#: common/models.py:1776 common/models.py:1954 msgid "Endpoint" msgstr "" -#: common/models.py:1713 +#: common/models.py:1777 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1722 +#: common/models.py:1786 msgid "Name for this webhook" msgstr "" -#: common/models.py:1727 part/models.py:911 plugin/models.py:99 +#: common/models.py:1791 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,67 +2458,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1728 +#: common/models.py:1792 msgid "Is this webhook active" msgstr "" -#: common/models.py:1742 +#: common/models.py:1806 msgid "Token" msgstr "" -#: common/models.py:1743 +#: common/models.py:1807 msgid "Token for access" msgstr "" -#: common/models.py:1750 +#: common/models.py:1814 msgid "Secret" msgstr "" -#: common/models.py:1751 +#: common/models.py:1815 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1857 +#: common/models.py:1921 msgid "Message ID" msgstr "" -#: common/models.py:1858 +#: common/models.py:1922 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1866 +#: common/models.py:1930 msgid "Host" msgstr "" -#: common/models.py:1867 +#: common/models.py:1931 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1874 +#: common/models.py:1938 msgid "Header" msgstr "" -#: common/models.py:1875 +#: common/models.py:1939 msgid "Header of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1945 msgid "Body" msgstr "" -#: common/models.py:1882 +#: common/models.py:1946 msgid "Body of this message" msgstr "" -#: common/models.py:1891 +#: common/models.py:1955 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1896 +#: common/models.py:1960 msgid "Worked on" msgstr "" -#: common/models.py:1897 +#: common/models.py:1961 msgid "Was the work on this message finished?" msgstr "" @@ -2657,7 +2657,7 @@ msgstr "" #: company/models.py:145 company/serializers.py:325 #: company/templates/company/company_base.html:106 part/serializers.py:139 -#: part/serializers.py:170 stock/serializers.py:162 +#: part/serializers.py:170 stock/serializers.py:163 msgid "Currency" msgstr "" @@ -2793,7 +2793,7 @@ msgstr "" #: company/models.py:519 company/templates/company/supplier_part.html:146 #: 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 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:388 msgid "Note" msgstr "" @@ -2807,7 +2807,7 @@ msgstr "" #: company/models.py:525 company/templates/company/supplier_part.html:139 #: stock/models.py:608 stock/templates/stock/item_base.html:245 -#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1974 +#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1975 msgid "Packaging" msgstr "" @@ -2902,11 +2902,11 @@ msgstr "" #: company/templates/company/company_base.html:86 order/models.py:651 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:745 +#: stock/models.py:628 stock/serializers.py:785 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:381 templates/js/translated/order.js:2458 -#: templates/js/translated/stock.js:2493 +#: templates/js/translated/stock.js:2494 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "" @@ -3079,7 +3079,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 -#: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:33 +#: templates/js/translated/forms.js:442 templates/js/translated/helpers.js:33 #: users/models.py:219 msgid "Delete" msgstr "" @@ -3127,7 +3127,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:894 templates/js/translated/order.js:884 -#: templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:1932 msgid "Supplier Part" msgstr "" @@ -3235,7 +3235,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:43 #: templates/js/translated/bom.js:554 templates/js/translated/part.js:747 #: templates/js/translated/part.js:1295 templates/js/translated/part.js:1456 -#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1749 +#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1750 #: templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3262,7 +3262,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:2369 users/models.py:39 +#: templates/js/translated/stock.js:2370 users/models.py:39 msgid "Stock Items" msgstr "" @@ -3536,8 +3536,8 @@ msgstr "" #: 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:968 templates/js/translated/stock.js:1908 -#: templates/js/translated/stock.js:2474 +#: templates/js/translated/part.js:968 templates/js/translated/stock.js:1909 +#: templates/js/translated/stock.js:2475 msgid "Purchase Order" msgstr "" @@ -3557,8 +3557,8 @@ msgid "Number of items received" msgstr "" #: order/models.py:1030 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:1962 +#: stock/serializers.py:154 stock/templates/stock/item_base.html:191 +#: templates/js/translated/stock.js:1963 msgid "Purchase Price" msgstr "" @@ -4121,19 +4121,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1011 +#: part/api.py:1058 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1015 +#: part/api.py:1062 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1030 +#: part/api.py:1077 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 +#: part/api.py:1108 part/api.py:1112 part/api.py:1127 part/api.py:1131 msgid "This field is required" msgstr "" @@ -4268,7 +4268,7 @@ msgstr "" #: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:735 templates/js/translated/part.js:1391 -#: templates/js/translated/stock.js:1721 +#: templates/js/translated/stock.js:1722 msgid "IPN" msgstr "" @@ -4611,7 +4611,7 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:164 msgid "Purchase currency of this stock item" msgstr "" @@ -5752,7 +5752,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2402 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2403 msgid "Date" msgstr "" @@ -5771,19 +5771,19 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: templates/js/translated/stock.js:606 templates/js/translated/stock.js:776 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2652 msgid "Serial" msgstr "" -#: stock/api.py:505 +#: stock/api.py:511 msgid "Quantity is required" msgstr "" -#: stock/api.py:512 +#: stock/api.py:518 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:537 +#: stock/api.py:543 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5891,7 +5891,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1879 msgid "Expiry Date" msgstr "" @@ -5969,7 +5969,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1347 stock/serializers.py:895 +#: stock/models.py:1347 stock/serializers.py:935 msgid "Duplicate stock items" msgstr "" @@ -6021,120 +6021,128 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:156 +#: stock/serializers.py:157 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:280 +#: stock/serializers.py:281 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:293 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:299 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 +#: stock/serializers.py:310 stock/serializers.py:892 stock/serializers.py:1125 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:316 +#: stock/serializers.py:317 msgid "Optional note field" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:327 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:344 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:383 +#: stock/serializers.py:384 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:397 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:404 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:440 +#: stock/serializers.py:441 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:445 stock/serializers.py:487 +#: stock/serializers.py:446 stock/serializers.py:527 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:482 +#: stock/serializers.py:480 +msgid "Select part to convert stock item into" +msgstr "" + +#: stock/serializers.py:491 +msgid "Selected part is not a valid option for conversion" +msgstr "" + +#: stock/serializers.py:522 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:707 +#: stock/serializers.py:747 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:711 +#: stock/serializers.py:751 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:755 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:786 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:752 +#: stock/serializers.py:792 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:760 +#: stock/serializers.py:800 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:770 stock/serializers.py:1001 +#: stock/serializers.py:810 stock/serializers.py:1041 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:859 +#: stock/serializers.py:899 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:864 +#: stock/serializers.py:904 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:865 +#: stock/serializers.py:905 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:870 +#: stock/serializers.py:910 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:871 +#: stock/serializers.py:911 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:881 +#: stock/serializers.py:921 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:963 +#: stock/serializers.py:1003 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:1031 msgid "Stock transaction notes" msgstr "" @@ -6171,7 +6179,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2795 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2796 msgid "Install Stock Item" msgstr "" @@ -6179,7 +6187,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1517 +#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1518 msgid "Add Test Result" msgstr "" @@ -6366,7 +6374,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1894 +#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1895 msgid "Last Updated" msgstr "" @@ -6382,7 +6390,23 @@ msgstr "" msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:642 +#: stock/templates/stock/item_base.html:594 +msgid "Select one of the part variants listed below." +msgstr "" + +#: stock/templates/stock/item_base.html:597 +msgid "Warning" +msgstr "" + +#: stock/templates/stock/item_base.html:598 +msgid "This action cannot be easily undone" +msgstr "" + +#: stock/templates/stock/item_base.html:606 +msgid "Convert Stock Item" +msgstr "" + +#: stock/templates/stock/item_base.html:664 msgid "Return to Stock" msgstr "" @@ -6466,32 +6490,11 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:143 -msgid "Convert Stock Item" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:8 -#, python-format -msgid "This stock item is current an instance of %(part)s" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:9 -msgid "It can be converted to one of the part variants listed below." -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:13 -msgid "Warning" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:14 -msgid "This action cannot be easily undone" -msgstr "" - -#: stock/views.py:110 +#: stock/views.py:109 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:126 +#: stock/views.py:125 msgid "Stock Item QR Code" msgstr "" @@ -7303,7 +7306,7 @@ 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 +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:633 msgid "Confirm" msgstr "Bekräfta" @@ -8175,8 +8178,8 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2447 templates/js/translated/part.js:1383 -#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1681 -#: templates/js/translated/stock.js:2339 +#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:2340 msgid "Select" msgstr "" @@ -8188,7 +8191,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2581 +#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2582 msgid "No user information" msgstr "" @@ -8342,61 +8345,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:353 templates/js/translated/forms.js:368 -#: templates/js/translated/forms.js:382 templates/js/translated/forms.js:396 +#: templates/js/translated/forms.js:356 templates/js/translated/forms.js:371 +#: templates/js/translated/forms.js:385 templates/js/translated/forms.js:399 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:355 +#: templates/js/translated/forms.js:358 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:370 +#: templates/js/translated/forms.js:373 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:384 +#: templates/js/translated/forms.js:387 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:398 +#: templates/js/translated/forms.js:401 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:656 +#: templates/js/translated/forms.js:659 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:757 +#: templates/js/translated/forms.js:760 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1249 templates/modals.html:19 +#: templates/js/translated/forms.js:1252 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1682 +#: templates/js/translated/forms.js:1685 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1897 templates/search.html:29 +#: templates/js/translated/forms.js:1900 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2150 +#: templates/js/translated/forms.js:2153 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2628 +#: templates/js/translated/forms.js:2631 msgid "Select Columns" msgstr "" @@ -8727,7 +8730,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2142 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2143 msgid "Stock Status" msgstr "" @@ -8921,7 +8924,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1597 +#: templates/js/translated/stock.js:1598 msgid "Shipped to customer" msgstr "" @@ -9187,7 +9190,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:1573 templates/js/translated/part.js:1785 -#: templates/js/translated/stock.js:2300 +#: templates/js/translated/stock.js:2301 msgid "Display as list" msgstr "" @@ -9211,7 +9214,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2319 +#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2320 msgid "Display as tree" msgstr "" @@ -9219,7 +9222,7 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2363 +#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2364 msgid "Path" msgstr "" @@ -9232,7 +9235,7 @@ msgid "Edit test result" msgstr "" #: templates/js/translated/part.js:1978 templates/js/translated/stock.js:1296 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1556 msgid "Delete test result" msgstr "" @@ -9565,180 +9568,180 @@ msgstr "" msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1374 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1538 +#: templates/js/translated/stock.js:1539 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/stock.js:1561 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1590 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1593 +#: templates/js/translated/stock.js:1594 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1601 +#: templates/js/translated/stock.js:1602 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1607 +#: templates/js/translated/stock.js:1608 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1775 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:1780 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1782 +#: templates/js/translated/stock.js:1783 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1785 +#: templates/js/translated/stock.js:1786 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1787 +#: templates/js/translated/stock.js:1788 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1790 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1793 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1797 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1799 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1806 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1807 +#: templates/js/translated/stock.js:1808 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1809 +#: templates/js/translated/stock.js:1810 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1813 +#: templates/js/translated/stock.js:1814 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1865 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1946 +#: templates/js/translated/stock.js:1947 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1984 +#: templates/js/translated/stock.js:1985 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2157 +#: templates/js/translated/stock.js:2158 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2171 +#: templates/js/translated/stock.js:2172 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2173 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2443 +#: templates/js/translated/stock.js:2444 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2465 +#: templates/js/translated/stock.js:2466 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2484 +#: templates/js/translated/stock.js:2485 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2504 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2521 +#: templates/js/translated/stock.js:2522 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2545 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2552 +#: templates/js/translated/stock.js:2553 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2629 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2679 templates/js/translated/stock.js:2715 +#: templates/js/translated/stock.js:2680 templates/js/translated/stock.js:2716 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2729 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2749 +#: templates/js/translated/stock.js:2750 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2751 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2753 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/stock.js:2754 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2755 +#: templates/js/translated/stock.js:2756 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2768 +#: templates/js/translated/stock.js:2769 msgid "Select part to install" msgstr "" @@ -9990,61 +9993,61 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:525 +#: templates/js/translated/tables.js:534 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:528 +#: templates/js/translated/tables.js:537 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:533 +#: templates/js/translated/tables.js:542 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "to" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "of" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:539 templates/navbar.html:102 +#: templates/js/translated/tables.js:548 templates/navbar.html:102 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" msgstr "" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:551 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:554 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:548 +#: templates/js/translated/tables.js:557 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:551 +#: templates/js/translated/tables.js:560 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:563 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:566 msgid "All" msgstr "" diff --git a/InvenTree/locale/th/LC_MESSAGES/django.po b/InvenTree/locale/th/LC_MESSAGES/django.po index 679efed2ae..4fa245e934 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-11 13:14+0000\n" -"PO-Revision-Date: 2022-06-11 15:03\n" +"POT-Creation-Date: 2022-06-15 08:34+0000\n" +"PO-Revision-Date: 2022-06-15 16:23\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -141,12 +141,12 @@ msgstr "" msgid "File comment" msgstr "" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1575 +#: common/models.py:1576 common/models.py:1799 common/models.py:1800 +#: common/models.py:2062 common/models.py:2063 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:2575 +#: templates/js/translated/stock.js:2576 msgid "User" msgstr "" @@ -183,7 +183,7 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1785 #: company/models.py:355 label/models.py:101 part/models.py:739 #: part/models.py:2319 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -195,7 +195,7 @@ msgstr "" #: templates/js/translated/company.js:744 #: templates/js/translated/notification.js:73 #: templates/js/translated/part.js:684 templates/js/translated/part.js:836 -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2345 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2346 msgid "Name" msgstr "" @@ -217,8 +217,8 @@ msgstr "" #: templates/js/translated/order.js:1888 templates/js/translated/order.js:2476 #: templates/js/translated/part.js:743 templates/js/translated/part.js:1151 #: templates/js/translated/part.js:1424 templates/js/translated/part.js:1876 -#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1738 -#: templates/js/translated/stock.js:2357 templates/js/translated/stock.js:2412 +#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1739 +#: templates/js/translated/stock.js:2358 templates/js/translated/stock.js:2413 msgid "Description" msgstr "" @@ -292,99 +292,99 @@ msgstr "" msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:689 msgid "Czech" msgstr "" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:690 msgid "German" msgstr "" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:691 msgid "Greek" msgstr "" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:692 msgid "English" msgstr "" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:693 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:694 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:695 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:696 msgid "French" msgstr "" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:697 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:698 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:699 msgid "Italian" msgstr "" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:700 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:701 msgid "Korean" msgstr "" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:702 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:703 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:704 msgid "Polish" msgstr "" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:705 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:706 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:707 msgid "Russian" msgstr "" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:708 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:709 msgid "Thai" msgstr "" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:710 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:711 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:712 msgid "Chinese" msgstr "" @@ -515,7 +515,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2082 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2083 msgid "Merged stock items" msgstr "" @@ -669,7 +669,7 @@ msgstr "" #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:479 #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 @@ -688,8 +688,8 @@ msgstr "" #: templates/js/translated/part.js:1136 templates/js/translated/part.js:1206 #: templates/js/translated/part.js:1402 templates/js/translated/stock.js:582 #: templates/js/translated/stock.js:747 templates/js/translated/stock.js:954 -#: templates/js/translated/stock.js:1695 templates/js/translated/stock.js:2438 -#: templates/js/translated/stock.js:2633 templates/js/translated/stock.js:2767 +#: templates/js/translated/stock.js:1696 templates/js/translated/stock.js:2439 +#: templates/js/translated/stock.js:2634 templates/js/translated/stock.js:2768 msgid "Part" msgstr "" @@ -815,14 +815,14 @@ msgstr "" #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 #: 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:759 stock/serializers.py:858 stock/serializers.py:990 +#: stock/serializers.py:316 stock/serializers.py:445 stock/serializers.py:526 +#: stock/serializers.py:799 stock/serializers.py:898 stock/serializers.py:1030 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1038 #: templates/js/translated/company.js:949 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:1369 templates/js/translated/stock.js:1978 +#: templates/js/translated/stock.js:1370 templates/js/translated/stock.js:1979 msgid "Notes" msgstr "" @@ -878,8 +878,8 @@ msgid "Build to allocate parts" msgstr "" #: 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 +#: order/serializers.py:1017 stock/serializers.py:383 stock/serializers.py:730 +#: stock/serializers.py:856 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 @@ -888,7 +888,7 @@ msgstr "" #: 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:583 templates/js/translated/stock.js:748 -#: templates/js/translated/stock.js:2511 +#: templates/js/translated/stock.js:2512 msgid "Stock Item" msgstr "" @@ -898,7 +898,7 @@ msgstr "" #: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1543 +#: build/templates/build/detail.html:34 common/models.py:1607 #: company/forms.py:36 company/templates/company/supplier_part.html:279 #: order/models.py:911 order/models.py:1414 order/serializers.py:1136 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 @@ -911,7 +911,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:280 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:691 #: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 @@ -928,7 +928,7 @@ msgstr "" #: templates/js/translated/part.js:2321 templates/js/translated/part.js:2355 #: templates/js/translated/part.js:2433 templates/js/translated/stock.js:454 #: templates/js/translated/stock.js:608 templates/js/translated/stock.js:778 -#: templates/js/translated/stock.js:2560 templates/js/translated/stock.js:2645 +#: templates/js/translated/stock.js:2561 templates/js/translated/stock.js:2646 msgid "Quantity" msgstr "" @@ -972,7 +972,7 @@ msgstr "" #: build/serializers.py:198 build/serializers.py:623 order/models.py:354 #: 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 +#: stock/serializers.py:289 msgid "Quantity must be greater than zero" msgstr "" @@ -985,7 +985,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 -#: stock/serializers.py:297 templates/js/translated/order.js:1186 +#: stock/serializers.py:298 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:267 templates/js/translated/stock.js:455 msgid "Serial Numbers" msgstr "" @@ -1002,7 +1002,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:553 +#: build/serializers.py:268 stock/api.py:559 msgid "The following serial numbers already exist" msgstr "" @@ -1011,8 +1011,8 @@ msgid "A list of build outputs must be provided" 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:851 stock/serializers.py:1084 +#: stock/serializers.py:309 stock/serializers.py:440 stock/serializers.py:521 +#: stock/serializers.py:891 stock/serializers.py:1124 #: 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 @@ -1021,7 +1021,7 @@ msgstr "" #: templates/js/translated/order.js:3247 templates/js/translated/order.js:3328 #: templates/js/translated/part.js:181 templates/js/translated/stock.js:584 #: templates/js/translated/stock.js:749 templates/js/translated/stock.js:956 -#: templates/js/translated/stock.js:1849 templates/js/translated/stock.js:2452 +#: templates/js/translated/stock.js:1850 templates/js/translated/stock.js:2453 msgid "Location" msgstr "" @@ -1034,8 +1034,8 @@ msgstr "" #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2509 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 -#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1824 -#: templates/js/translated/stock.js:2529 templates/js/translated/stock.js:2661 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1825 +#: templates/js/translated/stock.js:2530 templates/js/translated/stock.js:2662 msgid "Status" msgstr "" @@ -1112,7 +1112,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:703 +#: build/serializers.py:609 stock/serializers.py:743 msgid "Item must be in stock" msgstr "" @@ -1333,8 +1333,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:1022 templates/js/translated/stock.js:1838 -#: templates/js/translated/stock.js:2668 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:1839 +#: templates/js/translated/stock.js:2669 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1545,912 +1545,912 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:365 +#: common/models.py:434 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:367 +#: common/models.py:436 msgid "Settings value" msgstr "" -#: common/models.py:408 +#: common/models.py:477 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:425 +#: common/models.py:494 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:436 +#: common/models.py:505 msgid "Value must be an integer value" msgstr "" -#: common/models.py:481 +#: common/models.py:550 msgid "Key string must be unique" msgstr "" -#: common/models.py:665 +#: common/models.py:734 msgid "No group" msgstr "" -#: common/models.py:704 +#: common/models.py:773 msgid "Restart required" msgstr "" -#: common/models.py:705 +#: common/models.py:774 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:712 +#: common/models.py:781 msgid "Server Instance Name" msgstr "" -#: common/models.py:714 +#: common/models.py:783 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:718 +#: common/models.py:787 msgid "Use instance name" msgstr "" -#: common/models.py:719 +#: common/models.py:788 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:725 +#: common/models.py:794 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:726 +#: common/models.py:795 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:732 company/models.py:93 company/models.py:94 +#: common/models.py:801 company/models.py:93 company/models.py:94 msgid "Company name" msgstr "" -#: common/models.py:733 +#: common/models.py:802 msgid "Internal company name" msgstr "" -#: common/models.py:738 +#: common/models.py:807 msgid "Base URL" msgstr "" -#: common/models.py:739 +#: common/models.py:808 msgid "Base URL for server instance" msgstr "" -#: common/models.py:745 +#: common/models.py:814 msgid "Default Currency" msgstr "" -#: common/models.py:746 +#: common/models.py:815 msgid "Default currency" msgstr "" -#: common/models.py:752 +#: common/models.py:821 msgid "Download from URL" msgstr "" -#: common/models.py:753 +#: common/models.py:822 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:828 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:760 +#: common/models.py:829 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:766 +#: common/models.py:835 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:767 +#: common/models.py:836 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:773 +#: common/models.py:842 msgid "IPN Regex" msgstr "" -#: common/models.py:774 +#: common/models.py:843 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:778 +#: common/models.py:847 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:779 +#: common/models.py:848 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:785 +#: common/models.py:854 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:786 +#: common/models.py:855 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:792 +#: common/models.py:861 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:793 +#: common/models.py:862 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:799 +#: common/models.py:868 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:800 +#: common/models.py:869 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:806 +#: common/models.py:875 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:807 +#: common/models.py:876 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:813 +#: common/models.py:882 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:814 +#: common/models.py:883 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:820 part/models.py:2360 report/models.py:157 +#: common/models.py:889 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:821 +#: common/models.py:890 msgid "Parts are templates by default" msgstr "" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 +#: common/models.py:896 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" msgstr "" -#: common/models.py:828 +#: common/models.py:897 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:834 part/models.py:890 +#: common/models.py:903 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:835 +#: common/models.py:904 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:841 part/models.py:901 +#: common/models.py:910 part/models.py:901 msgid "Purchaseable" msgstr "" -#: common/models.py:842 +#: common/models.py:911 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:848 part/models.py:906 +#: common/models.py:917 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:849 +#: common/models.py:918 msgid "Parts are salable by default" msgstr "" -#: common/models.py:855 part/models.py:896 +#: common/models.py:924 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:856 +#: common/models.py:925 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:862 part/models.py:916 +#: common/models.py:931 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:863 +#: common/models.py:932 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:869 +#: common/models.py:938 msgid "Show Import in Views" msgstr "" -#: common/models.py:870 +#: common/models.py:939 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:876 +#: common/models.py:945 msgid "Show Price in Forms" msgstr "" -#: common/models.py:877 +#: common/models.py:946 msgid "Display part price in some forms" msgstr "" -#: common/models.py:888 +#: common/models.py:957 msgid "Show Price in BOM" msgstr "" -#: common/models.py:889 +#: common/models.py:958 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:900 +#: common/models.py:969 msgid "Show Price History" msgstr "" -#: common/models.py:901 +#: common/models.py:970 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:907 +#: common/models.py:976 msgid "Show related parts" msgstr "" -#: common/models.py:908 +#: common/models.py:977 msgid "Display related parts for a part" msgstr "" -#: common/models.py:914 +#: common/models.py:983 msgid "Create initial stock" msgstr "" -#: common/models.py:915 +#: common/models.py:984 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:921 +#: common/models.py:990 msgid "Internal Prices" msgstr "" -#: common/models.py:922 +#: common/models.py:991 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:928 +#: common/models.py:997 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:929 +#: common/models.py:998 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:935 +#: common/models.py:1004 msgid "Part Name Display Format" msgstr "" -#: common/models.py:936 +#: common/models.py:1005 msgid "Format to display the part name" msgstr "" -#: common/models.py:943 +#: common/models.py:1012 msgid "Enable Reports" msgstr "" -#: common/models.py:944 +#: common/models.py:1013 msgid "Enable generation of reports" msgstr "" -#: common/models.py:950 templates/stats.html:25 +#: common/models.py:1019 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:951 +#: common/models.py:1020 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:957 +#: common/models.py:1026 msgid "Page Size" msgstr "" -#: common/models.py:958 +#: common/models.py:1027 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:968 +#: common/models.py:1037 msgid "Enable Test Reports" msgstr "" -#: common/models.py:969 +#: common/models.py:1038 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:975 +#: common/models.py:1044 msgid "Attach Test Reports" msgstr "" -#: common/models.py:976 +#: common/models.py:1045 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:982 +#: common/models.py:1051 msgid "Batch Code Template" msgstr "" -#: common/models.py:983 +#: common/models.py:1052 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:988 +#: common/models.py:1057 msgid "Stock Expiry" msgstr "" -#: common/models.py:989 +#: common/models.py:1058 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:995 +#: common/models.py:1064 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:996 +#: common/models.py:1065 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1002 +#: common/models.py:1071 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1003 +#: common/models.py:1072 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1005 +#: common/models.py:1074 msgid "days" msgstr "" -#: common/models.py:1010 +#: common/models.py:1079 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1011 +#: common/models.py:1080 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1017 +#: common/models.py:1086 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1018 +#: common/models.py:1087 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1024 +#: common/models.py:1093 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1025 +#: common/models.py:1094 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1030 +#: common/models.py:1099 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1031 +#: common/models.py:1100 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1035 +#: common/models.py:1104 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1036 +#: common/models.py:1105 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1041 +#: common/models.py:1110 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1042 +#: common/models.py:1111 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1048 +#: common/models.py:1117 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1049 +#: common/models.py:1118 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1055 +#: common/models.py:1124 msgid "Enable password forgot" msgstr "" -#: common/models.py:1056 +#: common/models.py:1125 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1131 msgid "Enable registration" msgstr "" -#: common/models.py:1063 +#: common/models.py:1132 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1069 +#: common/models.py:1138 msgid "Enable SSO" msgstr "" -#: common/models.py:1070 +#: common/models.py:1139 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1076 +#: common/models.py:1145 msgid "Email required" msgstr "" -#: common/models.py:1077 +#: common/models.py:1146 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1083 +#: common/models.py:1152 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1084 +#: common/models.py:1153 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1090 +#: common/models.py:1159 msgid "Mail twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1160 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1097 +#: common/models.py:1166 msgid "Password twice" msgstr "" -#: common/models.py:1098 +#: common/models.py:1167 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1104 +#: common/models.py:1173 msgid "Group on signup" msgstr "" -#: common/models.py:1105 +#: common/models.py:1174 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1111 +#: common/models.py:1180 msgid "Enforce MFA" msgstr "" -#: common/models.py:1112 +#: common/models.py:1181 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1118 +#: common/models.py:1187 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1119 +#: common/models.py:1188 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1127 +#: common/models.py:1196 msgid "Enable URL integration" msgstr "" -#: common/models.py:1128 +#: common/models.py:1197 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1135 +#: common/models.py:1204 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1136 +#: common/models.py:1205 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1143 +#: common/models.py:1212 msgid "Enable app integration" msgstr "" -#: common/models.py:1144 +#: common/models.py:1213 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1151 +#: common/models.py:1220 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1152 +#: common/models.py:1221 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1159 +#: common/models.py:1228 msgid "Enable event integration" msgstr "" -#: common/models.py:1160 +#: common/models.py:1229 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1177 common/models.py:1499 +#: common/models.py:1246 common/models.py:1568 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1199 +#: common/models.py:1268 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1200 +#: common/models.py:1269 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1275 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1207 +#: common/models.py:1276 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1213 +#: common/models.py:1282 msgid "Show latest parts" msgstr "" -#: common/models.py:1214 +#: common/models.py:1283 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1220 +#: common/models.py:1289 msgid "Recent Part Count" msgstr "" -#: common/models.py:1221 +#: common/models.py:1290 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1227 +#: common/models.py:1296 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1228 +#: common/models.py:1297 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1303 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1235 +#: common/models.py:1304 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1241 +#: common/models.py:1310 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1242 +#: common/models.py:1311 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1248 +#: common/models.py:1317 msgid "Show low stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1318 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1324 msgid "Show depleted stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1325 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1331 msgid "Show needed stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1332 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1338 msgid "Show expired stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1339 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1345 msgid "Show stale stock" msgstr "" -#: common/models.py:1277 +#: common/models.py:1346 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1352 msgid "Show pending builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1353 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1359 msgid "Show overdue builds" msgstr "" -#: common/models.py:1291 +#: common/models.py:1360 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1366 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1367 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1373 msgid "Show overdue POs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1374 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1380 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1381 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1387 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1319 +#: common/models.py:1388 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1324 +#: common/models.py:1393 msgid "Enable label printing" msgstr "" -#: common/models.py:1325 +#: common/models.py:1394 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1331 +#: common/models.py:1400 msgid "Inline label display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1401 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1407 msgid "Inline report display" msgstr "" -#: common/models.py:1339 +#: common/models.py:1408 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1345 +#: common/models.py:1414 msgid "Search Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1415 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1421 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1422 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1428 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1429 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1435 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1367 +#: common/models.py:1436 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1442 msgid "Search Categories" msgstr "" -#: common/models.py:1374 +#: common/models.py:1443 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1449 msgid "Search Stock" msgstr "" -#: common/models.py:1381 +#: common/models.py:1450 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1456 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1388 +#: common/models.py:1457 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1463 msgid "Search Locations" msgstr "" -#: common/models.py:1395 +#: common/models.py:1464 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1470 msgid "Search Companies" msgstr "" -#: common/models.py:1402 +#: common/models.py:1471 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1477 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1478 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1484 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1485 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1491 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1492 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1498 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1430 +#: common/models.py:1499 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1505 msgid "Search Preview Results" msgstr "" -#: common/models.py:1437 +#: common/models.py:1506 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1512 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1513 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1519 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1451 +#: common/models.py:1520 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1457 +#: common/models.py:1526 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1458 +#: common/models.py:1527 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1464 +#: common/models.py:1533 msgid "Date Format" msgstr "" -#: common/models.py:1465 +#: common/models.py:1534 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1479 part/templates/part/detail.html:39 +#: common/models.py:1548 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1480 +#: common/models.py:1549 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1544 company/forms.py:37 +#: common/models.py:1608 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1551 company/serializers.py:319 +#: common/models.py:1615 company/serializers.py:319 #: company/templates/company/supplier_part.html:284 order/models.py:951 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:2095 msgid "Price" msgstr "" -#: common/models.py:1552 +#: common/models.py:1616 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1712 common/models.py:1890 +#: common/models.py:1776 common/models.py:1954 msgid "Endpoint" msgstr "" -#: common/models.py:1713 +#: common/models.py:1777 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1722 +#: common/models.py:1786 msgid "Name for this webhook" msgstr "" -#: common/models.py:1727 part/models.py:911 plugin/models.py:99 +#: common/models.py:1791 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,67 +2458,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1728 +#: common/models.py:1792 msgid "Is this webhook active" msgstr "" -#: common/models.py:1742 +#: common/models.py:1806 msgid "Token" msgstr "" -#: common/models.py:1743 +#: common/models.py:1807 msgid "Token for access" msgstr "" -#: common/models.py:1750 +#: common/models.py:1814 msgid "Secret" msgstr "" -#: common/models.py:1751 +#: common/models.py:1815 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1857 +#: common/models.py:1921 msgid "Message ID" msgstr "" -#: common/models.py:1858 +#: common/models.py:1922 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1866 +#: common/models.py:1930 msgid "Host" msgstr "" -#: common/models.py:1867 +#: common/models.py:1931 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1874 +#: common/models.py:1938 msgid "Header" msgstr "" -#: common/models.py:1875 +#: common/models.py:1939 msgid "Header of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1945 msgid "Body" msgstr "" -#: common/models.py:1882 +#: common/models.py:1946 msgid "Body of this message" msgstr "" -#: common/models.py:1891 +#: common/models.py:1955 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1896 +#: common/models.py:1960 msgid "Worked on" msgstr "" -#: common/models.py:1897 +#: common/models.py:1961 msgid "Was the work on this message finished?" msgstr "" @@ -2657,7 +2657,7 @@ msgstr "" #: company/models.py:145 company/serializers.py:325 #: company/templates/company/company_base.html:106 part/serializers.py:139 -#: part/serializers.py:170 stock/serializers.py:162 +#: part/serializers.py:170 stock/serializers.py:163 msgid "Currency" msgstr "" @@ -2793,7 +2793,7 @@ msgstr "" #: company/models.py:519 company/templates/company/supplier_part.html:146 #: 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 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:388 msgid "Note" msgstr "" @@ -2807,7 +2807,7 @@ msgstr "" #: company/models.py:525 company/templates/company/supplier_part.html:139 #: stock/models.py:608 stock/templates/stock/item_base.html:245 -#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1974 +#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1975 msgid "Packaging" msgstr "" @@ -2902,11 +2902,11 @@ msgstr "" #: company/templates/company/company_base.html:86 order/models.py:651 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:745 +#: stock/models.py:628 stock/serializers.py:785 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:381 templates/js/translated/order.js:2458 -#: templates/js/translated/stock.js:2493 +#: templates/js/translated/stock.js:2494 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "" @@ -3079,7 +3079,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 -#: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:33 +#: templates/js/translated/forms.js:442 templates/js/translated/helpers.js:33 #: users/models.py:219 msgid "Delete" msgstr "" @@ -3127,7 +3127,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:894 templates/js/translated/order.js:884 -#: templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:1932 msgid "Supplier Part" msgstr "" @@ -3235,7 +3235,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:43 #: templates/js/translated/bom.js:554 templates/js/translated/part.js:747 #: templates/js/translated/part.js:1295 templates/js/translated/part.js:1456 -#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1749 +#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1750 #: templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3262,7 +3262,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:2369 users/models.py:39 +#: templates/js/translated/stock.js:2370 users/models.py:39 msgid "Stock Items" msgstr "" @@ -3536,8 +3536,8 @@ msgstr "" #: 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:968 templates/js/translated/stock.js:1908 -#: templates/js/translated/stock.js:2474 +#: templates/js/translated/part.js:968 templates/js/translated/stock.js:1909 +#: templates/js/translated/stock.js:2475 msgid "Purchase Order" msgstr "" @@ -3557,8 +3557,8 @@ msgid "Number of items received" msgstr "" #: order/models.py:1030 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:1962 +#: stock/serializers.py:154 stock/templates/stock/item_base.html:191 +#: templates/js/translated/stock.js:1963 msgid "Purchase Price" msgstr "" @@ -4121,19 +4121,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1011 +#: part/api.py:1058 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1015 +#: part/api.py:1062 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1030 +#: part/api.py:1077 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 +#: part/api.py:1108 part/api.py:1112 part/api.py:1127 part/api.py:1131 msgid "This field is required" msgstr "" @@ -4268,7 +4268,7 @@ msgstr "" #: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:735 templates/js/translated/part.js:1391 -#: templates/js/translated/stock.js:1721 +#: templates/js/translated/stock.js:1722 msgid "IPN" msgstr "" @@ -4611,7 +4611,7 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:164 msgid "Purchase currency of this stock item" msgstr "" @@ -5752,7 +5752,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2402 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2403 msgid "Date" msgstr "" @@ -5771,19 +5771,19 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: templates/js/translated/stock.js:606 templates/js/translated/stock.js:776 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2652 msgid "Serial" msgstr "" -#: stock/api.py:505 +#: stock/api.py:511 msgid "Quantity is required" msgstr "" -#: stock/api.py:512 +#: stock/api.py:518 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:537 +#: stock/api.py:543 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5891,7 +5891,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1879 msgid "Expiry Date" msgstr "" @@ -5969,7 +5969,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1347 stock/serializers.py:895 +#: stock/models.py:1347 stock/serializers.py:935 msgid "Duplicate stock items" msgstr "" @@ -6021,120 +6021,128 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:156 +#: stock/serializers.py:157 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:280 +#: stock/serializers.py:281 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:293 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:299 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 +#: stock/serializers.py:310 stock/serializers.py:892 stock/serializers.py:1125 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:316 +#: stock/serializers.py:317 msgid "Optional note field" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:327 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:344 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:383 +#: stock/serializers.py:384 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:397 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:404 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:440 +#: stock/serializers.py:441 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:445 stock/serializers.py:487 +#: stock/serializers.py:446 stock/serializers.py:527 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:482 +#: stock/serializers.py:480 +msgid "Select part to convert stock item into" +msgstr "" + +#: stock/serializers.py:491 +msgid "Selected part is not a valid option for conversion" +msgstr "" + +#: stock/serializers.py:522 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:707 +#: stock/serializers.py:747 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:711 +#: stock/serializers.py:751 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:755 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:786 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:752 +#: stock/serializers.py:792 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:760 +#: stock/serializers.py:800 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:770 stock/serializers.py:1001 +#: stock/serializers.py:810 stock/serializers.py:1041 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:859 +#: stock/serializers.py:899 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:864 +#: stock/serializers.py:904 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:865 +#: stock/serializers.py:905 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:870 +#: stock/serializers.py:910 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:871 +#: stock/serializers.py:911 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:881 +#: stock/serializers.py:921 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:963 +#: stock/serializers.py:1003 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:1031 msgid "Stock transaction notes" msgstr "" @@ -6171,7 +6179,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2795 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2796 msgid "Install Stock Item" msgstr "" @@ -6179,7 +6187,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1517 +#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1518 msgid "Add Test Result" msgstr "" @@ -6366,7 +6374,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1894 +#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1895 msgid "Last Updated" msgstr "" @@ -6382,7 +6390,23 @@ msgstr "" msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:642 +#: stock/templates/stock/item_base.html:594 +msgid "Select one of the part variants listed below." +msgstr "" + +#: stock/templates/stock/item_base.html:597 +msgid "Warning" +msgstr "" + +#: stock/templates/stock/item_base.html:598 +msgid "This action cannot be easily undone" +msgstr "" + +#: stock/templates/stock/item_base.html:606 +msgid "Convert Stock Item" +msgstr "" + +#: stock/templates/stock/item_base.html:664 msgid "Return to Stock" msgstr "" @@ -6466,32 +6490,11 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:143 -msgid "Convert Stock Item" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:8 -#, python-format -msgid "This stock item is current an instance of %(part)s" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:9 -msgid "It can be converted to one of the part variants listed below." -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:13 -msgid "Warning" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:14 -msgid "This action cannot be easily undone" -msgstr "" - -#: stock/views.py:110 +#: stock/views.py:109 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:126 +#: stock/views.py:125 msgid "Stock Item QR Code" msgstr "" @@ -7303,7 +7306,7 @@ 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 +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:633 msgid "Confirm" msgstr "" @@ -8175,8 +8178,8 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2447 templates/js/translated/part.js:1383 -#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1681 -#: templates/js/translated/stock.js:2339 +#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:2340 msgid "Select" msgstr "" @@ -8188,7 +8191,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2581 +#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2582 msgid "No user information" msgstr "" @@ -8342,61 +8345,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:353 templates/js/translated/forms.js:368 -#: templates/js/translated/forms.js:382 templates/js/translated/forms.js:396 +#: templates/js/translated/forms.js:356 templates/js/translated/forms.js:371 +#: templates/js/translated/forms.js:385 templates/js/translated/forms.js:399 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:355 +#: templates/js/translated/forms.js:358 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:370 +#: templates/js/translated/forms.js:373 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:384 +#: templates/js/translated/forms.js:387 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:398 +#: templates/js/translated/forms.js:401 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:656 +#: templates/js/translated/forms.js:659 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:757 +#: templates/js/translated/forms.js:760 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1249 templates/modals.html:19 +#: templates/js/translated/forms.js:1252 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1682 +#: templates/js/translated/forms.js:1685 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1897 templates/search.html:29 +#: templates/js/translated/forms.js:1900 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2150 +#: templates/js/translated/forms.js:2153 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2628 +#: templates/js/translated/forms.js:2631 msgid "Select Columns" msgstr "" @@ -8727,7 +8730,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2142 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2143 msgid "Stock Status" msgstr "" @@ -8921,7 +8924,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1597 +#: templates/js/translated/stock.js:1598 msgid "Shipped to customer" msgstr "" @@ -9187,7 +9190,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:1573 templates/js/translated/part.js:1785 -#: templates/js/translated/stock.js:2300 +#: templates/js/translated/stock.js:2301 msgid "Display as list" msgstr "" @@ -9211,7 +9214,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2319 +#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2320 msgid "Display as tree" msgstr "" @@ -9219,7 +9222,7 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2363 +#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2364 msgid "Path" msgstr "" @@ -9232,7 +9235,7 @@ msgid "Edit test result" msgstr "" #: templates/js/translated/part.js:1978 templates/js/translated/stock.js:1296 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1556 msgid "Delete test result" msgstr "" @@ -9565,180 +9568,180 @@ msgstr "" msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1374 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1538 +#: templates/js/translated/stock.js:1539 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/stock.js:1561 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1590 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1593 +#: templates/js/translated/stock.js:1594 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1601 +#: templates/js/translated/stock.js:1602 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1607 +#: templates/js/translated/stock.js:1608 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1775 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:1780 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1782 +#: templates/js/translated/stock.js:1783 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1785 +#: templates/js/translated/stock.js:1786 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1787 +#: templates/js/translated/stock.js:1788 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1790 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1793 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1797 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1799 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1806 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1807 +#: templates/js/translated/stock.js:1808 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1809 +#: templates/js/translated/stock.js:1810 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1813 +#: templates/js/translated/stock.js:1814 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1865 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1946 +#: templates/js/translated/stock.js:1947 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1984 +#: templates/js/translated/stock.js:1985 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2157 +#: templates/js/translated/stock.js:2158 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2171 +#: templates/js/translated/stock.js:2172 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2173 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2443 +#: templates/js/translated/stock.js:2444 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2465 +#: templates/js/translated/stock.js:2466 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2484 +#: templates/js/translated/stock.js:2485 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2504 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2521 +#: templates/js/translated/stock.js:2522 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2545 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2552 +#: templates/js/translated/stock.js:2553 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2629 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2679 templates/js/translated/stock.js:2715 +#: templates/js/translated/stock.js:2680 templates/js/translated/stock.js:2716 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2729 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2749 +#: templates/js/translated/stock.js:2750 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2751 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2753 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/stock.js:2754 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2755 +#: templates/js/translated/stock.js:2756 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2768 +#: templates/js/translated/stock.js:2769 msgid "Select part to install" msgstr "" @@ -9990,61 +9993,61 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:525 +#: templates/js/translated/tables.js:534 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:528 +#: templates/js/translated/tables.js:537 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:533 +#: templates/js/translated/tables.js:542 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "to" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "of" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:539 templates/navbar.html:102 +#: templates/js/translated/tables.js:548 templates/navbar.html:102 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" msgstr "" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:551 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:554 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:548 +#: templates/js/translated/tables.js:557 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:551 +#: templates/js/translated/tables.js:560 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:563 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:566 msgid "All" msgstr "" diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po index 5c5096e7f2..2eceb295c0 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-11 13:14+0000\n" -"PO-Revision-Date: 2022-06-11 15:03\n" +"POT-Creation-Date: 2022-06-15 08:34+0000\n" +"PO-Revision-Date: 2022-06-15 16:23\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -141,12 +141,12 @@ msgstr "Yorum" msgid "File comment" msgstr "Dosya yorumu" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1575 +#: common/models.py:1576 common/models.py:1799 common/models.py:1800 +#: common/models.py:2062 common/models.py:2063 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:2575 +#: templates/js/translated/stock.js:2576 msgid "User" msgstr "Kullanıcı" @@ -183,7 +183,7 @@ msgstr "Dosya adı değiştirilirken hata" msgid "Invalid choice" msgstr "Geçersiz seçim" -#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1785 #: company/models.py:355 label/models.py:101 part/models.py:739 #: part/models.py:2319 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -195,7 +195,7 @@ msgstr "Geçersiz seçim" #: templates/js/translated/company.js:744 #: templates/js/translated/notification.js:73 #: templates/js/translated/part.js:684 templates/js/translated/part.js:836 -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2345 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2346 msgid "Name" msgstr "Adı" @@ -217,8 +217,8 @@ msgstr "Adı" #: templates/js/translated/order.js:1888 templates/js/translated/order.js:2476 #: templates/js/translated/part.js:743 templates/js/translated/part.js:1151 #: templates/js/translated/part.js:1424 templates/js/translated/part.js:1876 -#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1738 -#: templates/js/translated/stock.js:2357 templates/js/translated/stock.js:2412 +#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1739 +#: templates/js/translated/stock.js:2358 templates/js/translated/stock.js:2413 msgid "Description" msgstr "Açıklama" @@ -292,99 +292,99 @@ msgstr "Gerekli kolon ismi eksik:'{name}'" msgid "Duplicate column: '{col}'" msgstr "Tekrarlanan kolon ismi:'{col}'" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:689 msgid "Czech" msgstr "" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:690 msgid "German" msgstr "Almanca" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:691 msgid "Greek" msgstr "Yunanca" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:692 msgid "English" msgstr "İngilizce" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:693 msgid "Spanish" msgstr "İspanyolca" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:694 msgid "Spanish (Mexican)" msgstr "İspanyolca(Meksika)" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:695 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:696 msgid "French" msgstr "Fransızca" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:697 msgid "Hebrew" msgstr "İbranice" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:698 msgid "Hungarian" msgstr "Macarca" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:699 msgid "Italian" msgstr "İtalyanca" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:700 msgid "Japanese" msgstr "Japonca" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:701 msgid "Korean" msgstr "Korece" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:702 msgid "Dutch" msgstr "Flemenkçe" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:703 msgid "Norwegian" msgstr "Norveççe" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:704 msgid "Polish" msgstr "Polonyaca" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:705 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:706 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:707 msgid "Russian" msgstr "Rusça" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:708 msgid "Swedish" msgstr "İsveççe" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:709 msgid "Thai" msgstr "Tay dili" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:710 msgid "Turkish" msgstr "Türkçe" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:711 msgid "Vietnamese" msgstr "Vietnamca" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:712 msgid "Chinese" msgstr "Çince" @@ -515,7 +515,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:2082 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2083 msgid "Merged stock items" msgstr "Stok parçalarını birleştir" @@ -669,7 +669,7 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:479 #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 @@ -688,8 +688,8 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: templates/js/translated/part.js:1136 templates/js/translated/part.js:1206 #: templates/js/translated/part.js:1402 templates/js/translated/stock.js:582 #: templates/js/translated/stock.js:747 templates/js/translated/stock.js:954 -#: templates/js/translated/stock.js:1695 templates/js/translated/stock.js:2438 -#: templates/js/translated/stock.js:2633 templates/js/translated/stock.js:2767 +#: templates/js/translated/stock.js:1696 templates/js/translated/stock.js:2439 +#: templates/js/translated/stock.js:2634 templates/js/translated/stock.js:2768 msgid "Part" msgstr "Parça" @@ -815,14 +815,14 @@ msgstr "Harici Bağlantı" #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 #: 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:759 stock/serializers.py:858 stock/serializers.py:990 +#: stock/serializers.py:316 stock/serializers.py:445 stock/serializers.py:526 +#: stock/serializers.py:799 stock/serializers.py:898 stock/serializers.py:1030 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1038 #: templates/js/translated/company.js:949 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:1369 templates/js/translated/stock.js:1978 +#: templates/js/translated/stock.js:1370 templates/js/translated/stock.js:1979 msgid "Notes" msgstr "Notlar" @@ -878,8 +878,8 @@ msgid "Build to allocate parts" msgstr "Yapım işi için tahsis edilen parçalar" #: 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 +#: order/serializers.py:1017 stock/serializers.py:383 stock/serializers.py:730 +#: stock/serializers.py:856 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 @@ -888,7 +888,7 @@ msgstr "Yapım işi için tahsis edilen parçalar" #: 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:583 templates/js/translated/stock.js:748 -#: templates/js/translated/stock.js:2511 +#: templates/js/translated/stock.js:2512 msgid "Stock Item" msgstr "Stok Kalemi" @@ -898,7 +898,7 @@ msgstr "Kaynak stok kalemi" #: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1543 +#: build/templates/build/detail.html:34 common/models.py:1607 #: company/forms.py:36 company/templates/company/supplier_part.html:279 #: order/models.py:911 order/models.py:1414 order/serializers.py:1136 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 @@ -911,7 +911,7 @@ msgstr "Kaynak stok kalemi" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:280 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:691 #: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 @@ -928,7 +928,7 @@ msgstr "Kaynak stok kalemi" #: templates/js/translated/part.js:2321 templates/js/translated/part.js:2355 #: templates/js/translated/part.js:2433 templates/js/translated/stock.js:454 #: templates/js/translated/stock.js:608 templates/js/translated/stock.js:778 -#: templates/js/translated/stock.js:2560 templates/js/translated/stock.js:2645 +#: templates/js/translated/stock.js:2561 templates/js/translated/stock.js:2646 msgid "Quantity" msgstr "Miktar" @@ -972,7 +972,7 @@ msgstr "Yapım işi çıktısı için miktarını girin" #: build/serializers.py:198 build/serializers.py:623 order/models.py:354 #: 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 +#: stock/serializers.py:289 msgid "Quantity must be greater than zero" msgstr "" @@ -985,7 +985,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 -#: stock/serializers.py:297 templates/js/translated/order.js:1186 +#: stock/serializers.py:298 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:267 templates/js/translated/stock.js:455 msgid "Serial Numbers" msgstr "Seri Numaraları" @@ -1002,7 +1002,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:553 +#: build/serializers.py:268 stock/api.py:559 msgid "The following serial numbers already exist" msgstr "" @@ -1011,8 +1011,8 @@ msgid "A list of build outputs must be provided" 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:851 stock/serializers.py:1084 +#: stock/serializers.py:309 stock/serializers.py:440 stock/serializers.py:521 +#: stock/serializers.py:891 stock/serializers.py:1124 #: 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 @@ -1021,7 +1021,7 @@ msgstr "" #: templates/js/translated/order.js:3247 templates/js/translated/order.js:3328 #: templates/js/translated/part.js:181 templates/js/translated/stock.js:584 #: templates/js/translated/stock.js:749 templates/js/translated/stock.js:956 -#: templates/js/translated/stock.js:1849 templates/js/translated/stock.js:2452 +#: templates/js/translated/stock.js:1850 templates/js/translated/stock.js:2453 msgid "Location" msgstr "Konum" @@ -1034,8 +1034,8 @@ msgstr "" #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2509 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 -#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1824 -#: templates/js/translated/stock.js:2529 templates/js/translated/stock.js:2661 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1825 +#: templates/js/translated/stock.js:2530 templates/js/translated/stock.js:2662 msgid "Status" msgstr "Durum" @@ -1112,7 +1112,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:703 +#: build/serializers.py:609 stock/serializers.py:743 msgid "Item must be in stock" msgstr "" @@ -1333,8 +1333,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:1022 templates/js/translated/stock.js:1838 -#: templates/js/translated/stock.js:2668 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:1839 +#: templates/js/translated/stock.js:2669 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1545,912 +1545,912 @@ msgstr "{name.title()} Dosya" msgid "Select {name} file to upload" msgstr "{name} dosyasını yüklemek için seçin" -#: common/models.py:365 +#: common/models.py:434 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:367 +#: common/models.py:436 msgid "Settings value" msgstr "" -#: common/models.py:408 +#: common/models.py:477 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:425 +#: common/models.py:494 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:436 +#: common/models.py:505 msgid "Value must be an integer value" msgstr "" -#: common/models.py:481 +#: common/models.py:550 msgid "Key string must be unique" msgstr "Anahtar dizesi benzersiz olmalı" -#: common/models.py:665 +#: common/models.py:734 msgid "No group" msgstr "" -#: common/models.py:704 +#: common/models.py:773 msgid "Restart required" msgstr "" -#: common/models.py:705 +#: common/models.py:774 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:712 +#: common/models.py:781 msgid "Server Instance Name" msgstr "" -#: common/models.py:714 +#: common/models.py:783 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:718 +#: common/models.py:787 msgid "Use instance name" msgstr "" -#: common/models.py:719 +#: common/models.py:788 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:725 +#: common/models.py:794 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:726 +#: common/models.py:795 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:732 company/models.py:93 company/models.py:94 +#: common/models.py:801 company/models.py:93 company/models.py:94 msgid "Company name" msgstr "Şirket adı" -#: common/models.py:733 +#: common/models.py:802 msgid "Internal company name" msgstr "" -#: common/models.py:738 +#: common/models.py:807 msgid "Base URL" msgstr "Ana URL" -#: common/models.py:739 +#: common/models.py:808 msgid "Base URL for server instance" msgstr "" -#: common/models.py:745 +#: common/models.py:814 msgid "Default Currency" msgstr "Varsayılan Para Birimi" -#: common/models.py:746 +#: common/models.py:815 msgid "Default currency" msgstr "Varsayılan para birimi" -#: common/models.py:752 +#: common/models.py:821 msgid "Download from URL" msgstr "URL'den indir" -#: common/models.py:753 +#: common/models.py:822 msgid "Allow download of remote images and files from external URL" msgstr "Harici URL'den resim ve dosyaların indirilmesine izin ver" -#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:828 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "Barkod Desteği" -#: common/models.py:760 +#: common/models.py:829 msgid "Enable barcode scanner support" msgstr "Barkod tarayıcı desteğini etkinleştir" -#: common/models.py:766 +#: common/models.py:835 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:767 +#: common/models.py:836 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:773 +#: common/models.py:842 msgid "IPN Regex" msgstr "DPN Regex" -#: common/models.py:774 +#: common/models.py:843 msgid "Regular expression pattern for matching Part IPN" msgstr "Parça DPN eşleştirmesi için Düzenli İfade Kalıbı (Regex)" -#: common/models.py:778 +#: common/models.py:847 msgid "Allow Duplicate IPN" msgstr "Yinelenen DPN'ye İzin Ver" -#: common/models.py:779 +#: common/models.py:848 msgid "Allow multiple parts to share the same IPN" msgstr "Birden çok parçanın aynı DPN'yi paylaşmasına izin ver" -#: common/models.py:785 +#: common/models.py:854 msgid "Allow Editing IPN" msgstr "DPN Düzenlemeye İzin Ver" -#: common/models.py:786 +#: common/models.py:855 msgid "Allow changing the IPN value while editing a part" msgstr "Parçayı düzenlerken DPN değiştirmeye izin ver" -#: common/models.py:792 +#: common/models.py:861 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:793 +#: common/models.py:862 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:799 +#: common/models.py:868 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:800 +#: common/models.py:869 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:806 +#: common/models.py:875 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:807 +#: common/models.py:876 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:813 +#: common/models.py:882 msgid "Copy Category Parameter Templates" msgstr "Kategori Paremetre Sablonu Kopyala" -#: common/models.py:814 +#: common/models.py:883 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:2360 report/models.py:157 +#: common/models.py:889 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "Şablon" -#: common/models.py:821 +#: common/models.py:890 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:1384 +#: common/models.py:896 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" msgstr "Montaj" -#: common/models.py:828 +#: common/models.py:897 msgid "Parts can be assembled from other components by default" msgstr "Parçalar varsayılan olarak başka bileşenlerden monte edilebilir" -#: common/models.py:834 part/models.py:890 +#: common/models.py:903 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "Bileşen" -#: common/models.py:835 +#: common/models.py:904 msgid "Parts can be used as sub-components by default" msgstr "Parçalar varsayılan olarak alt bileşen olarak kullanılabilir" -#: common/models.py:841 part/models.py:901 +#: common/models.py:910 part/models.py:901 msgid "Purchaseable" msgstr "Satın Alınabilir" -#: common/models.py:842 +#: common/models.py:911 msgid "Parts are purchaseable by default" msgstr "Parçalar varsayılan olarak satın alınabilir" -#: common/models.py:848 part/models.py:906 +#: common/models.py:917 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "Satılabilir" -#: common/models.py:849 +#: common/models.py:918 msgid "Parts are salable by default" msgstr "Parçalar varsayılan olarak satılabilir" -#: common/models.py:855 part/models.py:896 +#: common/models.py:924 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "Takip Edilebilir" -#: common/models.py:856 +#: common/models.py:925 msgid "Parts are trackable by default" msgstr "Parçalar varsayılan olarak takip edilebilir" -#: common/models.py:862 part/models.py:916 +#: common/models.py:931 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Sanal" -#: common/models.py:863 +#: common/models.py:932 msgid "Parts are virtual by default" msgstr "Parçalar varsayılan olarak sanaldır" -#: common/models.py:869 +#: common/models.py:938 msgid "Show Import in Views" msgstr "" -#: common/models.py:870 +#: common/models.py:939 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:876 +#: common/models.py:945 msgid "Show Price in Forms" msgstr "Formlarda Fiyat Göster" -#: common/models.py:877 +#: common/models.py:946 msgid "Display part price in some forms" msgstr "" -#: common/models.py:888 +#: common/models.py:957 msgid "Show Price in BOM" msgstr "" -#: common/models.py:889 +#: common/models.py:958 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:900 +#: common/models.py:969 msgid "Show Price History" msgstr "" -#: common/models.py:901 +#: common/models.py:970 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:907 +#: common/models.py:976 msgid "Show related parts" msgstr "İlgili parçaları göster" -#: common/models.py:908 +#: common/models.py:977 msgid "Display related parts for a part" msgstr "" -#: common/models.py:914 +#: common/models.py:983 msgid "Create initial stock" msgstr "" -#: common/models.py:915 +#: common/models.py:984 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:921 +#: common/models.py:990 msgid "Internal Prices" msgstr "" -#: common/models.py:922 +#: common/models.py:991 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:928 +#: common/models.py:997 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:929 +#: common/models.py:998 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:935 +#: common/models.py:1004 msgid "Part Name Display Format" msgstr "" -#: common/models.py:936 +#: common/models.py:1005 msgid "Format to display the part name" msgstr "" -#: common/models.py:943 +#: common/models.py:1012 msgid "Enable Reports" msgstr "" -#: common/models.py:944 +#: common/models.py:1013 msgid "Enable generation of reports" msgstr "" -#: common/models.py:950 templates/stats.html:25 +#: common/models.py:1019 templates/stats.html:25 msgid "Debug Mode" msgstr "Hata Ayıklama Modu" -#: common/models.py:951 +#: common/models.py:1020 msgid "Generate reports in debug mode (HTML output)" msgstr "Raporları hata ayıklama modunda üret (HTML çıktısı)" -#: common/models.py:957 +#: common/models.py:1026 msgid "Page Size" msgstr "Sayfa Boyutu" -#: common/models.py:958 +#: common/models.py:1027 msgid "Default page size for PDF reports" msgstr "PDF raporlar için varsayılan sayfa boyutu" -#: common/models.py:968 +#: common/models.py:1037 msgid "Enable Test Reports" msgstr "" -#: common/models.py:969 +#: common/models.py:1038 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:975 +#: common/models.py:1044 msgid "Attach Test Reports" msgstr "" -#: common/models.py:976 +#: common/models.py:1045 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:982 +#: common/models.py:1051 msgid "Batch Code Template" msgstr "" -#: common/models.py:983 +#: common/models.py:1052 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:988 +#: common/models.py:1057 msgid "Stock Expiry" msgstr "" -#: common/models.py:989 +#: common/models.py:1058 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:995 +#: common/models.py:1064 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:996 +#: common/models.py:1065 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1002 +#: common/models.py:1071 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1003 +#: common/models.py:1072 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1005 +#: common/models.py:1074 msgid "days" msgstr "günler" -#: common/models.py:1010 +#: common/models.py:1079 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1011 +#: common/models.py:1080 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1017 +#: common/models.py:1086 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1018 +#: common/models.py:1087 msgid "Enable ownership control over stock locations and items" msgstr "Stok konumu ve ögeler üzerinde sahiplik kontrolünü etkinleştirin" -#: common/models.py:1024 +#: common/models.py:1093 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1025 +#: common/models.py:1094 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1030 +#: common/models.py:1099 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1031 +#: common/models.py:1100 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1035 +#: common/models.py:1104 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1036 +#: common/models.py:1105 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1041 +#: common/models.py:1110 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1042 +#: common/models.py:1111 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1048 +#: common/models.py:1117 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1049 +#: common/models.py:1118 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1055 +#: common/models.py:1124 msgid "Enable password forgot" msgstr "" -#: common/models.py:1056 +#: common/models.py:1125 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1131 msgid "Enable registration" msgstr "" -#: common/models.py:1063 +#: common/models.py:1132 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1069 +#: common/models.py:1138 msgid "Enable SSO" msgstr "" -#: common/models.py:1070 +#: common/models.py:1139 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1076 +#: common/models.py:1145 msgid "Email required" msgstr "" -#: common/models.py:1077 +#: common/models.py:1146 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1083 +#: common/models.py:1152 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1084 +#: common/models.py:1153 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1090 +#: common/models.py:1159 msgid "Mail twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1160 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1097 +#: common/models.py:1166 msgid "Password twice" msgstr "" -#: common/models.py:1098 +#: common/models.py:1167 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1104 +#: common/models.py:1173 msgid "Group on signup" msgstr "" -#: common/models.py:1105 +#: common/models.py:1174 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1111 +#: common/models.py:1180 msgid "Enforce MFA" msgstr "" -#: common/models.py:1112 +#: common/models.py:1181 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1118 +#: common/models.py:1187 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1119 +#: common/models.py:1188 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1127 +#: common/models.py:1196 msgid "Enable URL integration" msgstr "" -#: common/models.py:1128 +#: common/models.py:1197 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1135 +#: common/models.py:1204 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1136 +#: common/models.py:1205 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1143 +#: common/models.py:1212 msgid "Enable app integration" msgstr "" -#: common/models.py:1144 +#: common/models.py:1213 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1151 +#: common/models.py:1220 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1152 +#: common/models.py:1221 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1159 +#: common/models.py:1228 msgid "Enable event integration" msgstr "" -#: common/models.py:1160 +#: common/models.py:1229 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1177 common/models.py:1499 +#: common/models.py:1246 common/models.py:1568 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1199 +#: common/models.py:1268 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1200 +#: common/models.py:1269 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1275 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1207 +#: common/models.py:1276 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1213 +#: common/models.py:1282 msgid "Show latest parts" msgstr "" -#: common/models.py:1214 +#: common/models.py:1283 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1220 +#: common/models.py:1289 msgid "Recent Part Count" msgstr "" -#: common/models.py:1221 +#: common/models.py:1290 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1227 +#: common/models.py:1296 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1228 +#: common/models.py:1297 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1303 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1235 +#: common/models.py:1304 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1241 +#: common/models.py:1310 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1242 +#: common/models.py:1311 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1248 +#: common/models.py:1317 msgid "Show low stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1318 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1324 msgid "Show depleted stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1325 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1331 msgid "Show needed stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1332 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1338 msgid "Show expired stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1339 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1345 msgid "Show stale stock" msgstr "" -#: common/models.py:1277 +#: common/models.py:1346 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1352 msgid "Show pending builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1353 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1359 msgid "Show overdue builds" msgstr "" -#: common/models.py:1291 +#: common/models.py:1360 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1366 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1367 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1373 msgid "Show overdue POs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1374 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1380 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1381 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1387 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1319 +#: common/models.py:1388 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1324 +#: common/models.py:1393 msgid "Enable label printing" msgstr "" -#: common/models.py:1325 +#: common/models.py:1394 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1331 +#: common/models.py:1400 msgid "Inline label display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1401 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1407 msgid "Inline report display" msgstr "" -#: common/models.py:1339 +#: common/models.py:1408 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1345 +#: common/models.py:1414 msgid "Search Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1415 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1421 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1422 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1428 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1429 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1435 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1367 +#: common/models.py:1436 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1442 msgid "Search Categories" msgstr "" -#: common/models.py:1374 +#: common/models.py:1443 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1449 msgid "Search Stock" msgstr "" -#: common/models.py:1381 +#: common/models.py:1450 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1456 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1388 +#: common/models.py:1457 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1463 msgid "Search Locations" msgstr "" -#: common/models.py:1395 +#: common/models.py:1464 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1470 msgid "Search Companies" msgstr "" -#: common/models.py:1402 +#: common/models.py:1471 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1477 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1478 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1484 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1485 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1491 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1492 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1498 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1430 +#: common/models.py:1499 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1505 msgid "Search Preview Results" msgstr "" -#: common/models.py:1437 +#: common/models.py:1506 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1512 msgid "Show Quantity in Forms" msgstr "Formlarda Miktarı Göster" -#: common/models.py:1444 +#: common/models.py:1513 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1519 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1451 +#: common/models.py:1520 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1457 +#: common/models.py:1526 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1458 +#: common/models.py:1527 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1464 +#: common/models.py:1533 msgid "Date Format" msgstr "" -#: common/models.py:1465 +#: common/models.py:1534 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1479 part/templates/part/detail.html:39 +#: common/models.py:1548 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1480 +#: common/models.py:1549 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1544 company/forms.py:37 +#: common/models.py:1608 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1551 company/serializers.py:319 +#: common/models.py:1615 company/serializers.py:319 #: company/templates/company/supplier_part.html:284 order/models.py:951 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:2095 msgid "Price" msgstr "Fiyat" -#: common/models.py:1552 +#: common/models.py:1616 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1712 common/models.py:1890 +#: common/models.py:1776 common/models.py:1954 msgid "Endpoint" msgstr "" -#: common/models.py:1713 +#: common/models.py:1777 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1722 +#: common/models.py:1786 msgid "Name for this webhook" msgstr "" -#: common/models.py:1727 part/models.py:911 plugin/models.py:99 +#: common/models.py:1791 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,67 +2458,67 @@ msgstr "" msgid "Active" msgstr "Aktif" -#: common/models.py:1728 +#: common/models.py:1792 msgid "Is this webhook active" msgstr "" -#: common/models.py:1742 +#: common/models.py:1806 msgid "Token" msgstr "" -#: common/models.py:1743 +#: common/models.py:1807 msgid "Token for access" msgstr "" -#: common/models.py:1750 +#: common/models.py:1814 msgid "Secret" msgstr "" -#: common/models.py:1751 +#: common/models.py:1815 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1857 +#: common/models.py:1921 msgid "Message ID" msgstr "" -#: common/models.py:1858 +#: common/models.py:1922 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1866 +#: common/models.py:1930 msgid "Host" msgstr "" -#: common/models.py:1867 +#: common/models.py:1931 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1874 +#: common/models.py:1938 msgid "Header" msgstr "" -#: common/models.py:1875 +#: common/models.py:1939 msgid "Header of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1945 msgid "Body" msgstr "" -#: common/models.py:1882 +#: common/models.py:1946 msgid "Body of this message" msgstr "" -#: common/models.py:1891 +#: common/models.py:1955 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1896 +#: common/models.py:1960 msgid "Worked on" msgstr "" -#: common/models.py:1897 +#: common/models.py:1961 msgid "Was the work on this message finished?" msgstr "" @@ -2657,7 +2657,7 @@ msgstr "Bu şirket üretim yapıyor mu?" #: company/models.py:145 company/serializers.py:325 #: company/templates/company/company_base.html:106 part/serializers.py:139 -#: part/serializers.py:170 stock/serializers.py:162 +#: part/serializers.py:170 stock/serializers.py:163 msgid "Currency" msgstr "Para birimi" @@ -2793,7 +2793,7 @@ msgstr "" #: company/models.py:519 company/templates/company/supplier_part.html:146 #: 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 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:388 msgid "Note" msgstr "Not" @@ -2807,7 +2807,7 @@ msgstr "" #: company/models.py:525 company/templates/company/supplier_part.html:139 #: stock/models.py:608 stock/templates/stock/item_base.html:245 -#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1974 +#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1975 msgid "Packaging" msgstr "Paketleme" @@ -2902,11 +2902,11 @@ msgstr "" #: company/templates/company/company_base.html:86 order/models.py:651 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:745 +#: stock/models.py:628 stock/serializers.py:785 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:381 templates/js/translated/order.js:2458 -#: templates/js/translated/stock.js:2493 +#: templates/js/translated/stock.js:2494 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "Müşteri" @@ -3079,7 +3079,7 @@ msgstr "Tedarikçi parçalarını sil" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 -#: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:33 +#: templates/js/translated/forms.js:442 templates/js/translated/helpers.js:33 #: users/models.py:219 msgid "Delete" msgstr "" @@ -3127,7 +3127,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:894 templates/js/translated/order.js:884 -#: templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:1932 msgid "Supplier Part" msgstr "Tedarikçi Parçası" @@ -3235,7 +3235,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:43 #: templates/js/translated/bom.js:554 templates/js/translated/part.js:747 #: templates/js/translated/part.js:1295 templates/js/translated/part.js:1456 -#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1749 +#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1750 #: templates/navbar.html:31 msgid "Stock" msgstr "Stok" @@ -3262,7 +3262,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:2369 users/models.py:39 +#: templates/js/translated/stock.js:2370 users/models.py:39 msgid "Stock Items" msgstr "Stok Kalemleri" @@ -3536,8 +3536,8 @@ msgstr "" #: 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:968 templates/js/translated/stock.js:1908 -#: templates/js/translated/stock.js:2474 +#: templates/js/translated/part.js:968 templates/js/translated/stock.js:1909 +#: templates/js/translated/stock.js:2475 msgid "Purchase Order" msgstr "" @@ -3557,8 +3557,8 @@ msgid "Number of items received" msgstr "" #: order/models.py:1030 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:1962 +#: stock/serializers.py:154 stock/templates/stock/item_base.html:191 +#: templates/js/translated/stock.js:1963 msgid "Purchase Price" msgstr "" @@ -4121,19 +4121,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1011 +#: part/api.py:1058 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1015 +#: part/api.py:1062 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1030 +#: part/api.py:1077 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 +#: part/api.py:1108 part/api.py:1112 part/api.py:1127 part/api.py:1131 msgid "This field is required" msgstr "" @@ -4268,7 +4268,7 @@ msgstr "" #: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:735 templates/js/translated/part.js:1391 -#: templates/js/translated/stock.js:1721 +#: templates/js/translated/stock.js:1722 msgid "IPN" msgstr "DPN" @@ -4611,7 +4611,7 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:164 msgid "Purchase currency of this stock item" msgstr "" @@ -5752,7 +5752,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2402 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2403 msgid "Date" msgstr "" @@ -5771,19 +5771,19 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: templates/js/translated/stock.js:606 templates/js/translated/stock.js:776 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2652 msgid "Serial" msgstr "Seri No" -#: stock/api.py:505 +#: stock/api.py:511 msgid "Quantity is required" msgstr "" -#: stock/api.py:512 +#: stock/api.py:518 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:537 +#: stock/api.py:543 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5891,7 +5891,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1879 msgid "Expiry Date" msgstr "" @@ -5969,7 +5969,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1347 stock/serializers.py:895 +#: stock/models.py:1347 stock/serializers.py:935 msgid "Duplicate stock items" msgstr "" @@ -6021,120 +6021,128 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:156 +#: stock/serializers.py:157 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:280 +#: stock/serializers.py:281 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:293 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:299 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 +#: stock/serializers.py:310 stock/serializers.py:892 stock/serializers.py:1125 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:316 +#: stock/serializers.py:317 msgid "Optional note field" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:327 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:344 msgid "Serial numbers already exist" msgstr "Seri numaraları zaten mevcut" -#: stock/serializers.py:383 +#: stock/serializers.py:384 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:397 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:404 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:440 +#: stock/serializers.py:441 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:445 stock/serializers.py:487 +#: stock/serializers.py:446 stock/serializers.py:527 msgid "Add transaction note (optional)" msgstr "İşlem notu ekle (isteğe bağlı)" -#: stock/serializers.py:482 +#: stock/serializers.py:480 +msgid "Select part to convert stock item into" +msgstr "" + +#: stock/serializers.py:491 +msgid "Selected part is not a valid option for conversion" +msgstr "" + +#: stock/serializers.py:522 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:707 +#: stock/serializers.py:747 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:711 +#: stock/serializers.py:751 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:755 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:786 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:752 +#: stock/serializers.py:792 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:760 +#: stock/serializers.py:800 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:770 stock/serializers.py:1001 +#: stock/serializers.py:810 stock/serializers.py:1041 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:859 +#: stock/serializers.py:899 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:864 +#: stock/serializers.py:904 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:865 +#: stock/serializers.py:905 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:870 +#: stock/serializers.py:910 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:871 +#: stock/serializers.py:911 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:881 +#: stock/serializers.py:921 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:963 +#: stock/serializers.py:1003 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:1031 msgid "Stock transaction notes" msgstr "" @@ -6171,7 +6179,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2795 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2796 msgid "Install Stock Item" msgstr "" @@ -6179,7 +6187,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1517 +#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1518 msgid "Add Test Result" msgstr "" @@ -6366,7 +6374,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1894 +#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1895 msgid "Last Updated" msgstr "" @@ -6382,7 +6390,23 @@ msgstr "" msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:642 +#: stock/templates/stock/item_base.html:594 +msgid "Select one of the part variants listed below." +msgstr "" + +#: stock/templates/stock/item_base.html:597 +msgid "Warning" +msgstr "Uyarı" + +#: stock/templates/stock/item_base.html:598 +msgid "This action cannot be easily undone" +msgstr "Bu işlem kolayca geri alınamaz" + +#: stock/templates/stock/item_base.html:606 +msgid "Convert Stock Item" +msgstr "Stok Kalemine Dönüştür" + +#: stock/templates/stock/item_base.html:664 msgid "Return to Stock" msgstr "" @@ -6466,32 +6490,11 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:143 -msgid "Convert Stock Item" -msgstr "Stok Kalemine Dönüştür" - -#: stock/templates/stock/stockitem_convert.html:8 -#, python-format -msgid "This stock item is current an instance of %(part)s" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:9 -msgid "It can be converted to one of the part variants listed below." -msgstr "Aşağıda listelenen parça çeşitlerinden birine dönüştürülebilir." - -#: stock/templates/stock/stockitem_convert.html:13 -msgid "Warning" -msgstr "Uyarı" - -#: stock/templates/stock/stockitem_convert.html:14 -msgid "This action cannot be easily undone" -msgstr "Bu işlem kolayca geri alınamaz" - -#: stock/views.py:110 +#: stock/views.py:109 msgid "Stock Location QR code" msgstr "Stok Konumu QR Kodu" -#: stock/views.py:126 +#: stock/views.py:125 msgid "Stock Item QR Code" msgstr "" @@ -7303,7 +7306,7 @@ 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 +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:633 msgid "Confirm" msgstr "Onay" @@ -8175,8 +8178,8 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2447 templates/js/translated/part.js:1383 -#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1681 -#: templates/js/translated/stock.js:2339 +#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:2340 msgid "Select" msgstr "" @@ -8188,7 +8191,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2581 +#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2582 msgid "No user information" msgstr "" @@ -8342,61 +8345,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:353 templates/js/translated/forms.js:368 -#: templates/js/translated/forms.js:382 templates/js/translated/forms.js:396 +#: templates/js/translated/forms.js:356 templates/js/translated/forms.js:371 +#: templates/js/translated/forms.js:385 templates/js/translated/forms.js:399 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:355 +#: templates/js/translated/forms.js:358 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:370 +#: templates/js/translated/forms.js:373 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:384 +#: templates/js/translated/forms.js:387 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:398 +#: templates/js/translated/forms.js:401 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:656 +#: templates/js/translated/forms.js:659 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:757 +#: templates/js/translated/forms.js:760 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1249 templates/modals.html:19 +#: templates/js/translated/forms.js:1252 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1682 +#: templates/js/translated/forms.js:1685 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1897 templates/search.html:29 +#: templates/js/translated/forms.js:1900 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2150 +#: templates/js/translated/forms.js:2153 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2628 +#: templates/js/translated/forms.js:2631 msgid "Select Columns" msgstr "" @@ -8727,7 +8730,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2142 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2143 msgid "Stock Status" msgstr "" @@ -8921,7 +8924,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1597 +#: templates/js/translated/stock.js:1598 msgid "Shipped to customer" msgstr "" @@ -9187,7 +9190,7 @@ msgid "No category" msgstr "Katagori Yok" #: templates/js/translated/part.js:1573 templates/js/translated/part.js:1785 -#: templates/js/translated/stock.js:2300 +#: templates/js/translated/stock.js:2301 msgid "Display as list" msgstr "" @@ -9211,7 +9214,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2319 +#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2320 msgid "Display as tree" msgstr "" @@ -9219,7 +9222,7 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2363 +#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2364 msgid "Path" msgstr "" @@ -9232,7 +9235,7 @@ msgid "Edit test result" msgstr "" #: templates/js/translated/part.js:1978 templates/js/translated/stock.js:1296 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1556 msgid "Delete test result" msgstr "" @@ -9565,180 +9568,180 @@ msgstr "" msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1374 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1538 +#: templates/js/translated/stock.js:1539 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/stock.js:1561 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1590 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1593 +#: templates/js/translated/stock.js:1594 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1601 +#: templates/js/translated/stock.js:1602 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1607 +#: templates/js/translated/stock.js:1608 msgid "No stock location set" msgstr "Stok konumu ayarlanmadı" -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1775 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:1780 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1782 +#: templates/js/translated/stock.js:1783 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1785 +#: templates/js/translated/stock.js:1786 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1787 +#: templates/js/translated/stock.js:1788 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1790 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1793 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1797 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1799 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1806 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1807 +#: templates/js/translated/stock.js:1808 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1809 +#: templates/js/translated/stock.js:1810 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1813 +#: templates/js/translated/stock.js:1814 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1865 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1946 +#: templates/js/translated/stock.js:1947 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1984 +#: templates/js/translated/stock.js:1985 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2157 +#: templates/js/translated/stock.js:2158 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2171 +#: templates/js/translated/stock.js:2172 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2173 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Details" msgstr "Detaylar" -#: templates/js/translated/stock.js:2443 +#: templates/js/translated/stock.js:2444 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2465 +#: templates/js/translated/stock.js:2466 msgid "Location no longer exists" msgstr "Konum artık yok" -#: templates/js/translated/stock.js:2484 +#: templates/js/translated/stock.js:2485 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2504 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2521 +#: templates/js/translated/stock.js:2522 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2545 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2552 +#: templates/js/translated/stock.js:2553 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2629 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2679 templates/js/translated/stock.js:2715 +#: templates/js/translated/stock.js:2680 templates/js/translated/stock.js:2716 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2729 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2749 +#: templates/js/translated/stock.js:2750 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2751 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2753 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/stock.js:2754 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2755 +#: templates/js/translated/stock.js:2756 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2768 +#: templates/js/translated/stock.js:2769 msgid "Select part to install" msgstr "" @@ -9990,61 +9993,61 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:525 +#: templates/js/translated/tables.js:534 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:528 +#: templates/js/translated/tables.js:537 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:533 +#: templates/js/translated/tables.js:542 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "Showing" msgstr "Gösteriliyor" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "to" msgstr "için" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "of" msgstr "yüzünden" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "rows" msgstr "satırlar" -#: templates/js/translated/tables.js:539 templates/navbar.html:102 +#: templates/js/translated/tables.js:548 templates/navbar.html:102 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" msgstr "Arama" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:551 msgid "No matching results" msgstr "Sonuç bulunamadı" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:554 msgid "Hide/Show pagination" msgstr "Sayfalandırmayı Göster" -#: templates/js/translated/tables.js:548 +#: templates/js/translated/tables.js:557 msgid "Refresh" msgstr "Yenile" -#: templates/js/translated/tables.js:551 +#: templates/js/translated/tables.js:560 msgid "Toggle" msgstr "Değiştir" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:563 msgid "Columns" msgstr "Sütunlar" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:566 msgid "All" msgstr "Tümü" diff --git a/InvenTree/locale/vi/LC_MESSAGES/django.po b/InvenTree/locale/vi/LC_MESSAGES/django.po index ec1da0d925..2e80ed2c96 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-11 13:14+0000\n" -"PO-Revision-Date: 2022-06-11 15:03\n" +"POT-Creation-Date: 2022-06-15 08:34+0000\n" +"PO-Revision-Date: 2022-06-15 16:22\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -141,12 +141,12 @@ msgstr "Bình luận" msgid "File comment" msgstr "" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1575 +#: common/models.py:1576 common/models.py:1799 common/models.py:1800 +#: common/models.py:2062 common/models.py:2063 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:2575 +#: templates/js/translated/stock.js:2576 msgid "User" msgstr "Người dùng" @@ -183,7 +183,7 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1785 #: company/models.py:355 label/models.py:101 part/models.py:739 #: part/models.py:2319 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -195,7 +195,7 @@ msgstr "" #: templates/js/translated/company.js:744 #: templates/js/translated/notification.js:73 #: templates/js/translated/part.js:684 templates/js/translated/part.js:836 -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2345 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2346 msgid "Name" msgstr "" @@ -217,8 +217,8 @@ msgstr "" #: templates/js/translated/order.js:1888 templates/js/translated/order.js:2476 #: templates/js/translated/part.js:743 templates/js/translated/part.js:1151 #: templates/js/translated/part.js:1424 templates/js/translated/part.js:1876 -#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1738 -#: templates/js/translated/stock.js:2357 templates/js/translated/stock.js:2412 +#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1739 +#: templates/js/translated/stock.js:2358 templates/js/translated/stock.js:2413 msgid "Description" msgstr "Mô tả" @@ -292,99 +292,99 @@ msgstr "" msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:689 msgid "Czech" msgstr "" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:690 msgid "German" msgstr "" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:691 msgid "Greek" msgstr "" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:692 msgid "English" msgstr "" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:693 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:694 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:695 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:696 msgid "French" msgstr "" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:697 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:698 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:699 msgid "Italian" msgstr "" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:700 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:701 msgid "Korean" msgstr "" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:702 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:703 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:704 msgid "Polish" msgstr "" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:705 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:706 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:707 msgid "Russian" msgstr "" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:708 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:709 msgid "Thai" msgstr "" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:710 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:711 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:712 msgid "Chinese" msgstr "" @@ -515,7 +515,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2082 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2083 msgid "Merged stock items" msgstr "" @@ -669,7 +669,7 @@ msgstr "" #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:479 #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 @@ -688,8 +688,8 @@ msgstr "" #: templates/js/translated/part.js:1136 templates/js/translated/part.js:1206 #: templates/js/translated/part.js:1402 templates/js/translated/stock.js:582 #: templates/js/translated/stock.js:747 templates/js/translated/stock.js:954 -#: templates/js/translated/stock.js:1695 templates/js/translated/stock.js:2438 -#: templates/js/translated/stock.js:2633 templates/js/translated/stock.js:2767 +#: templates/js/translated/stock.js:1696 templates/js/translated/stock.js:2439 +#: templates/js/translated/stock.js:2634 templates/js/translated/stock.js:2768 msgid "Part" msgstr "Nguyên liệu" @@ -815,14 +815,14 @@ msgstr "" #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 #: 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:759 stock/serializers.py:858 stock/serializers.py:990 +#: stock/serializers.py:316 stock/serializers.py:445 stock/serializers.py:526 +#: stock/serializers.py:799 stock/serializers.py:898 stock/serializers.py:1030 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1038 #: templates/js/translated/company.js:949 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:1369 templates/js/translated/stock.js:1978 +#: templates/js/translated/stock.js:1370 templates/js/translated/stock.js:1979 msgid "Notes" msgstr "" @@ -878,8 +878,8 @@ msgid "Build to allocate parts" msgstr "" #: 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 +#: order/serializers.py:1017 stock/serializers.py:383 stock/serializers.py:730 +#: stock/serializers.py:856 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 @@ -888,7 +888,7 @@ msgstr "" #: 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:583 templates/js/translated/stock.js:748 -#: templates/js/translated/stock.js:2511 +#: templates/js/translated/stock.js:2512 msgid "Stock Item" msgstr "" @@ -898,7 +898,7 @@ msgstr "" #: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1543 +#: build/templates/build/detail.html:34 common/models.py:1607 #: company/forms.py:36 company/templates/company/supplier_part.html:279 #: order/models.py:911 order/models.py:1414 order/serializers.py:1136 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 @@ -911,7 +911,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:280 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:691 #: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 @@ -928,7 +928,7 @@ msgstr "" #: templates/js/translated/part.js:2321 templates/js/translated/part.js:2355 #: templates/js/translated/part.js:2433 templates/js/translated/stock.js:454 #: templates/js/translated/stock.js:608 templates/js/translated/stock.js:778 -#: templates/js/translated/stock.js:2560 templates/js/translated/stock.js:2645 +#: templates/js/translated/stock.js:2561 templates/js/translated/stock.js:2646 msgid "Quantity" msgstr "" @@ -972,7 +972,7 @@ msgstr "" #: build/serializers.py:198 build/serializers.py:623 order/models.py:354 #: 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 +#: stock/serializers.py:289 msgid "Quantity must be greater than zero" msgstr "" @@ -985,7 +985,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 -#: stock/serializers.py:297 templates/js/translated/order.js:1186 +#: stock/serializers.py:298 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:267 templates/js/translated/stock.js:455 msgid "Serial Numbers" msgstr "" @@ -1002,7 +1002,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:553 +#: build/serializers.py:268 stock/api.py:559 msgid "The following serial numbers already exist" msgstr "" @@ -1011,8 +1011,8 @@ msgid "A list of build outputs must be provided" 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:851 stock/serializers.py:1084 +#: stock/serializers.py:309 stock/serializers.py:440 stock/serializers.py:521 +#: stock/serializers.py:891 stock/serializers.py:1124 #: 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 @@ -1021,7 +1021,7 @@ msgstr "" #: templates/js/translated/order.js:3247 templates/js/translated/order.js:3328 #: templates/js/translated/part.js:181 templates/js/translated/stock.js:584 #: templates/js/translated/stock.js:749 templates/js/translated/stock.js:956 -#: templates/js/translated/stock.js:1849 templates/js/translated/stock.js:2452 +#: templates/js/translated/stock.js:1850 templates/js/translated/stock.js:2453 msgid "Location" msgstr "" @@ -1034,8 +1034,8 @@ msgstr "" #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2509 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 -#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1824 -#: templates/js/translated/stock.js:2529 templates/js/translated/stock.js:2661 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1825 +#: templates/js/translated/stock.js:2530 templates/js/translated/stock.js:2662 msgid "Status" msgstr "Trạng thái" @@ -1112,7 +1112,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:703 +#: build/serializers.py:609 stock/serializers.py:743 msgid "Item must be in stock" msgstr "" @@ -1333,8 +1333,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:1022 templates/js/translated/stock.js:1838 -#: templates/js/translated/stock.js:2668 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:1839 +#: templates/js/translated/stock.js:2669 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1545,912 +1545,912 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:365 +#: common/models.py:434 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:367 +#: common/models.py:436 msgid "Settings value" msgstr "" -#: common/models.py:408 +#: common/models.py:477 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:425 +#: common/models.py:494 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:436 +#: common/models.py:505 msgid "Value must be an integer value" msgstr "" -#: common/models.py:481 +#: common/models.py:550 msgid "Key string must be unique" msgstr "" -#: common/models.py:665 +#: common/models.py:734 msgid "No group" msgstr "" -#: common/models.py:704 +#: common/models.py:773 msgid "Restart required" msgstr "" -#: common/models.py:705 +#: common/models.py:774 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:712 +#: common/models.py:781 msgid "Server Instance Name" msgstr "" -#: common/models.py:714 +#: common/models.py:783 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:718 +#: common/models.py:787 msgid "Use instance name" msgstr "" -#: common/models.py:719 +#: common/models.py:788 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:725 +#: common/models.py:794 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:726 +#: common/models.py:795 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:732 company/models.py:93 company/models.py:94 +#: common/models.py:801 company/models.py:93 company/models.py:94 msgid "Company name" msgstr "" -#: common/models.py:733 +#: common/models.py:802 msgid "Internal company name" msgstr "" -#: common/models.py:738 +#: common/models.py:807 msgid "Base URL" msgstr "" -#: common/models.py:739 +#: common/models.py:808 msgid "Base URL for server instance" msgstr "" -#: common/models.py:745 +#: common/models.py:814 msgid "Default Currency" msgstr "" -#: common/models.py:746 +#: common/models.py:815 msgid "Default currency" msgstr "" -#: common/models.py:752 +#: common/models.py:821 msgid "Download from URL" msgstr "" -#: common/models.py:753 +#: common/models.py:822 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:828 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:760 +#: common/models.py:829 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:766 +#: common/models.py:835 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:767 +#: common/models.py:836 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:773 +#: common/models.py:842 msgid "IPN Regex" msgstr "" -#: common/models.py:774 +#: common/models.py:843 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:778 +#: common/models.py:847 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:779 +#: common/models.py:848 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:785 +#: common/models.py:854 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:786 +#: common/models.py:855 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:792 +#: common/models.py:861 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:793 +#: common/models.py:862 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:799 +#: common/models.py:868 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:800 +#: common/models.py:869 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:806 +#: common/models.py:875 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:807 +#: common/models.py:876 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:813 +#: common/models.py:882 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:814 +#: common/models.py:883 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:820 part/models.py:2360 report/models.py:157 +#: common/models.py:889 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "" -#: common/models.py:821 +#: common/models.py:890 msgid "Parts are templates by default" msgstr "" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 +#: common/models.py:896 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" msgstr "" -#: common/models.py:828 +#: common/models.py:897 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:834 part/models.py:890 +#: common/models.py:903 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "" -#: common/models.py:835 +#: common/models.py:904 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:841 part/models.py:901 +#: common/models.py:910 part/models.py:901 msgid "Purchaseable" msgstr "" -#: common/models.py:842 +#: common/models.py:911 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:848 part/models.py:906 +#: common/models.py:917 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "" -#: common/models.py:849 +#: common/models.py:918 msgid "Parts are salable by default" msgstr "" -#: common/models.py:855 part/models.py:896 +#: common/models.py:924 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "" -#: common/models.py:856 +#: common/models.py:925 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:862 part/models.py:916 +#: common/models.py:931 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:863 +#: common/models.py:932 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:869 +#: common/models.py:938 msgid "Show Import in Views" msgstr "" -#: common/models.py:870 +#: common/models.py:939 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:876 +#: common/models.py:945 msgid "Show Price in Forms" msgstr "" -#: common/models.py:877 +#: common/models.py:946 msgid "Display part price in some forms" msgstr "" -#: common/models.py:888 +#: common/models.py:957 msgid "Show Price in BOM" msgstr "" -#: common/models.py:889 +#: common/models.py:958 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:900 +#: common/models.py:969 msgid "Show Price History" msgstr "" -#: common/models.py:901 +#: common/models.py:970 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:907 +#: common/models.py:976 msgid "Show related parts" msgstr "" -#: common/models.py:908 +#: common/models.py:977 msgid "Display related parts for a part" msgstr "" -#: common/models.py:914 +#: common/models.py:983 msgid "Create initial stock" msgstr "" -#: common/models.py:915 +#: common/models.py:984 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:921 +#: common/models.py:990 msgid "Internal Prices" msgstr "" -#: common/models.py:922 +#: common/models.py:991 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:928 +#: common/models.py:997 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:929 +#: common/models.py:998 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:935 +#: common/models.py:1004 msgid "Part Name Display Format" msgstr "" -#: common/models.py:936 +#: common/models.py:1005 msgid "Format to display the part name" msgstr "" -#: common/models.py:943 +#: common/models.py:1012 msgid "Enable Reports" msgstr "" -#: common/models.py:944 +#: common/models.py:1013 msgid "Enable generation of reports" msgstr "" -#: common/models.py:950 templates/stats.html:25 +#: common/models.py:1019 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:951 +#: common/models.py:1020 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:957 +#: common/models.py:1026 msgid "Page Size" msgstr "" -#: common/models.py:958 +#: common/models.py:1027 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:968 +#: common/models.py:1037 msgid "Enable Test Reports" msgstr "" -#: common/models.py:969 +#: common/models.py:1038 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:975 +#: common/models.py:1044 msgid "Attach Test Reports" msgstr "" -#: common/models.py:976 +#: common/models.py:1045 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:982 +#: common/models.py:1051 msgid "Batch Code Template" msgstr "" -#: common/models.py:983 +#: common/models.py:1052 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:988 +#: common/models.py:1057 msgid "Stock Expiry" msgstr "" -#: common/models.py:989 +#: common/models.py:1058 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:995 +#: common/models.py:1064 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:996 +#: common/models.py:1065 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1002 +#: common/models.py:1071 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1003 +#: common/models.py:1072 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1005 +#: common/models.py:1074 msgid "days" msgstr "" -#: common/models.py:1010 +#: common/models.py:1079 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1011 +#: common/models.py:1080 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1017 +#: common/models.py:1086 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1018 +#: common/models.py:1087 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1024 +#: common/models.py:1093 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:1025 +#: common/models.py:1094 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1030 +#: common/models.py:1099 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1031 +#: common/models.py:1100 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1035 +#: common/models.py:1104 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1036 +#: common/models.py:1105 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1041 +#: common/models.py:1110 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1042 +#: common/models.py:1111 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1048 +#: common/models.py:1117 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1049 +#: common/models.py:1118 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1055 +#: common/models.py:1124 msgid "Enable password forgot" msgstr "" -#: common/models.py:1056 +#: common/models.py:1125 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1131 msgid "Enable registration" msgstr "" -#: common/models.py:1063 +#: common/models.py:1132 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1069 +#: common/models.py:1138 msgid "Enable SSO" msgstr "" -#: common/models.py:1070 +#: common/models.py:1139 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1076 +#: common/models.py:1145 msgid "Email required" msgstr "" -#: common/models.py:1077 +#: common/models.py:1146 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1083 +#: common/models.py:1152 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1084 +#: common/models.py:1153 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1090 +#: common/models.py:1159 msgid "Mail twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1160 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1097 +#: common/models.py:1166 msgid "Password twice" msgstr "" -#: common/models.py:1098 +#: common/models.py:1167 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1104 +#: common/models.py:1173 msgid "Group on signup" msgstr "" -#: common/models.py:1105 +#: common/models.py:1174 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1111 +#: common/models.py:1180 msgid "Enforce MFA" msgstr "" -#: common/models.py:1112 +#: common/models.py:1181 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1118 +#: common/models.py:1187 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1119 +#: common/models.py:1188 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1127 +#: common/models.py:1196 msgid "Enable URL integration" msgstr "" -#: common/models.py:1128 +#: common/models.py:1197 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1135 +#: common/models.py:1204 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1136 +#: common/models.py:1205 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1143 +#: common/models.py:1212 msgid "Enable app integration" msgstr "" -#: common/models.py:1144 +#: common/models.py:1213 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1151 +#: common/models.py:1220 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1152 +#: common/models.py:1221 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1159 +#: common/models.py:1228 msgid "Enable event integration" msgstr "" -#: common/models.py:1160 +#: common/models.py:1229 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1177 common/models.py:1499 +#: common/models.py:1246 common/models.py:1568 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1199 +#: common/models.py:1268 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1200 +#: common/models.py:1269 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1275 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1207 +#: common/models.py:1276 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1213 +#: common/models.py:1282 msgid "Show latest parts" msgstr "Hiển thị nguyên liệu mới nhất" -#: common/models.py:1214 +#: common/models.py:1283 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:1220 +#: common/models.py:1289 msgid "Recent Part Count" msgstr "" -#: common/models.py:1221 +#: common/models.py:1290 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1227 +#: common/models.py:1296 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1228 +#: common/models.py:1297 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1303 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1235 +#: common/models.py:1304 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1241 +#: common/models.py:1310 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1242 +#: common/models.py:1311 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1248 +#: common/models.py:1317 msgid "Show low stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1318 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1324 msgid "Show depleted stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1325 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1331 msgid "Show needed stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1332 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1338 msgid "Show expired stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1339 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1345 msgid "Show stale stock" msgstr "" -#: common/models.py:1277 +#: common/models.py:1346 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1352 msgid "Show pending builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1353 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1359 msgid "Show overdue builds" msgstr "" -#: common/models.py:1291 +#: common/models.py:1360 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1297 +#: common/models.py:1366 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1367 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1373 msgid "Show overdue POs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1374 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1380 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1381 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1387 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1319 +#: common/models.py:1388 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1324 +#: common/models.py:1393 msgid "Enable label printing" msgstr "" -#: common/models.py:1325 +#: common/models.py:1394 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1331 +#: common/models.py:1400 msgid "Inline label display" msgstr "" -#: common/models.py:1332 +#: common/models.py:1401 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1338 +#: common/models.py:1407 msgid "Inline report display" msgstr "" -#: common/models.py:1339 +#: common/models.py:1408 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1345 +#: common/models.py:1414 msgid "Search Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1415 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1421 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1422 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1428 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1429 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1435 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1367 +#: common/models.py:1436 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1442 msgid "Search Categories" msgstr "" -#: common/models.py:1374 +#: common/models.py:1443 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1449 msgid "Search Stock" msgstr "" -#: common/models.py:1381 +#: common/models.py:1450 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1456 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1388 +#: common/models.py:1457 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1463 msgid "Search Locations" msgstr "" -#: common/models.py:1395 +#: common/models.py:1464 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1470 msgid "Search Companies" msgstr "" -#: common/models.py:1402 +#: common/models.py:1471 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1477 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1478 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1484 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1485 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1491 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1492 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1498 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1430 +#: common/models.py:1499 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1505 msgid "Search Preview Results" msgstr "" -#: common/models.py:1437 +#: common/models.py:1506 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1512 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1444 +#: common/models.py:1513 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1450 +#: common/models.py:1519 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1451 +#: common/models.py:1520 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1457 +#: common/models.py:1526 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1458 +#: common/models.py:1527 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1464 +#: common/models.py:1533 msgid "Date Format" msgstr "" -#: common/models.py:1465 +#: common/models.py:1534 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1479 part/templates/part/detail.html:39 +#: common/models.py:1548 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1480 +#: common/models.py:1549 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1544 company/forms.py:37 +#: common/models.py:1608 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1551 company/serializers.py:319 +#: common/models.py:1615 company/serializers.py:319 #: company/templates/company/supplier_part.html:284 order/models.py:951 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:2095 msgid "Price" msgstr "" -#: common/models.py:1552 +#: common/models.py:1616 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1712 common/models.py:1890 +#: common/models.py:1776 common/models.py:1954 msgid "Endpoint" msgstr "" -#: common/models.py:1713 +#: common/models.py:1777 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1722 +#: common/models.py:1786 msgid "Name for this webhook" msgstr "" -#: common/models.py:1727 part/models.py:911 plugin/models.py:99 +#: common/models.py:1791 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,67 +2458,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1728 +#: common/models.py:1792 msgid "Is this webhook active" msgstr "" -#: common/models.py:1742 +#: common/models.py:1806 msgid "Token" msgstr "" -#: common/models.py:1743 +#: common/models.py:1807 msgid "Token for access" msgstr "" -#: common/models.py:1750 +#: common/models.py:1814 msgid "Secret" msgstr "" -#: common/models.py:1751 +#: common/models.py:1815 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1857 +#: common/models.py:1921 msgid "Message ID" msgstr "" -#: common/models.py:1858 +#: common/models.py:1922 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1866 +#: common/models.py:1930 msgid "Host" msgstr "" -#: common/models.py:1867 +#: common/models.py:1931 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1874 +#: common/models.py:1938 msgid "Header" msgstr "" -#: common/models.py:1875 +#: common/models.py:1939 msgid "Header of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1945 msgid "Body" msgstr "" -#: common/models.py:1882 +#: common/models.py:1946 msgid "Body of this message" msgstr "" -#: common/models.py:1891 +#: common/models.py:1955 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1896 +#: common/models.py:1960 msgid "Worked on" msgstr "" -#: common/models.py:1897 +#: common/models.py:1961 msgid "Was the work on this message finished?" msgstr "" @@ -2657,7 +2657,7 @@ msgstr "" #: company/models.py:145 company/serializers.py:325 #: company/templates/company/company_base.html:106 part/serializers.py:139 -#: part/serializers.py:170 stock/serializers.py:162 +#: part/serializers.py:170 stock/serializers.py:163 msgid "Currency" msgstr "" @@ -2793,7 +2793,7 @@ msgstr "" #: company/models.py:519 company/templates/company/supplier_part.html:146 #: 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 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:388 msgid "Note" msgstr "" @@ -2807,7 +2807,7 @@ msgstr "" #: company/models.py:525 company/templates/company/supplier_part.html:139 #: stock/models.py:608 stock/templates/stock/item_base.html:245 -#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1974 +#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1975 msgid "Packaging" msgstr "" @@ -2902,11 +2902,11 @@ msgstr "" #: company/templates/company/company_base.html:86 order/models.py:651 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:745 +#: stock/models.py:628 stock/serializers.py:785 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:381 templates/js/translated/order.js:2458 -#: templates/js/translated/stock.js:2493 +#: templates/js/translated/stock.js:2494 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "" @@ -3079,7 +3079,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 -#: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:33 +#: templates/js/translated/forms.js:442 templates/js/translated/helpers.js:33 #: users/models.py:219 msgid "Delete" msgstr "" @@ -3127,7 +3127,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:894 templates/js/translated/order.js:884 -#: templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:1932 msgid "Supplier Part" msgstr "" @@ -3235,7 +3235,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:43 #: templates/js/translated/bom.js:554 templates/js/translated/part.js:747 #: templates/js/translated/part.js:1295 templates/js/translated/part.js:1456 -#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1749 +#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1750 #: templates/navbar.html:31 msgid "Stock" msgstr "Kiện hàng" @@ -3262,7 +3262,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:2369 users/models.py:39 +#: templates/js/translated/stock.js:2370 users/models.py:39 msgid "Stock Items" msgstr "" @@ -3536,8 +3536,8 @@ msgstr "" #: 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:968 templates/js/translated/stock.js:1908 -#: templates/js/translated/stock.js:2474 +#: templates/js/translated/part.js:968 templates/js/translated/stock.js:1909 +#: templates/js/translated/stock.js:2475 msgid "Purchase Order" msgstr "Đơn hàng" @@ -3557,8 +3557,8 @@ msgid "Number of items received" msgstr "" #: order/models.py:1030 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:1962 +#: stock/serializers.py:154 stock/templates/stock/item_base.html:191 +#: templates/js/translated/stock.js:1963 msgid "Purchase Price" msgstr "Giá mua" @@ -4121,19 +4121,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1011 +#: part/api.py:1058 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1015 +#: part/api.py:1062 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1030 +#: part/api.py:1077 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 +#: part/api.py:1108 part/api.py:1112 part/api.py:1127 part/api.py:1131 msgid "This field is required" msgstr "" @@ -4268,7 +4268,7 @@ msgstr "" #: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:735 templates/js/translated/part.js:1391 -#: templates/js/translated/stock.js:1721 +#: templates/js/translated/stock.js:1722 msgid "IPN" msgstr "" @@ -4611,7 +4611,7 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:164 msgid "Purchase currency of this stock item" msgstr "" @@ -5752,7 +5752,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2402 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2403 msgid "Date" msgstr "" @@ -5771,19 +5771,19 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: templates/js/translated/stock.js:606 templates/js/translated/stock.js:776 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2652 msgid "Serial" msgstr "" -#: stock/api.py:505 +#: stock/api.py:511 msgid "Quantity is required" msgstr "" -#: stock/api.py:512 +#: stock/api.py:518 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:537 +#: stock/api.py:543 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5891,7 +5891,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1879 msgid "Expiry Date" msgstr "" @@ -5969,7 +5969,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1347 stock/serializers.py:895 +#: stock/models.py:1347 stock/serializers.py:935 msgid "Duplicate stock items" msgstr "" @@ -6021,120 +6021,128 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:156 +#: stock/serializers.py:157 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:280 +#: stock/serializers.py:281 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:293 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:299 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 +#: stock/serializers.py:310 stock/serializers.py:892 stock/serializers.py:1125 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:316 +#: stock/serializers.py:317 msgid "Optional note field" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:327 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:344 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:383 +#: stock/serializers.py:384 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:397 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:404 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:440 +#: stock/serializers.py:441 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:445 stock/serializers.py:487 +#: stock/serializers.py:446 stock/serializers.py:527 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:482 +#: stock/serializers.py:480 +msgid "Select part to convert stock item into" +msgstr "" + +#: stock/serializers.py:491 +msgid "Selected part is not a valid option for conversion" +msgstr "" + +#: stock/serializers.py:522 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:707 +#: stock/serializers.py:747 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:711 +#: stock/serializers.py:751 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:755 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:786 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:752 +#: stock/serializers.py:792 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:760 +#: stock/serializers.py:800 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:770 stock/serializers.py:1001 +#: stock/serializers.py:810 stock/serializers.py:1041 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:859 +#: stock/serializers.py:899 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:864 +#: stock/serializers.py:904 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:865 +#: stock/serializers.py:905 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:870 +#: stock/serializers.py:910 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:871 +#: stock/serializers.py:911 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:881 +#: stock/serializers.py:921 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:963 +#: stock/serializers.py:1003 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:1031 msgid "Stock transaction notes" msgstr "" @@ -6171,7 +6179,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2795 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2796 msgid "Install Stock Item" msgstr "" @@ -6179,7 +6187,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1517 +#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1518 msgid "Add Test Result" msgstr "" @@ -6366,7 +6374,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1894 +#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1895 msgid "Last Updated" msgstr "" @@ -6382,7 +6390,23 @@ msgstr "" msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:642 +#: stock/templates/stock/item_base.html:594 +msgid "Select one of the part variants listed below." +msgstr "" + +#: stock/templates/stock/item_base.html:597 +msgid "Warning" +msgstr "" + +#: stock/templates/stock/item_base.html:598 +msgid "This action cannot be easily undone" +msgstr "" + +#: stock/templates/stock/item_base.html:606 +msgid "Convert Stock Item" +msgstr "" + +#: stock/templates/stock/item_base.html:664 msgid "Return to Stock" msgstr "" @@ -6466,32 +6490,11 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:143 -msgid "Convert Stock Item" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:8 -#, python-format -msgid "This stock item is current an instance of %(part)s" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:9 -msgid "It can be converted to one of the part variants listed below." -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:13 -msgid "Warning" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:14 -msgid "This action cannot be easily undone" -msgstr "" - -#: stock/views.py:110 +#: stock/views.py:109 msgid "Stock Location QR code" msgstr "" -#: stock/views.py:126 +#: stock/views.py:125 msgid "Stock Item QR Code" msgstr "" @@ -7303,7 +7306,7 @@ 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 +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:633 msgid "Confirm" msgstr "" @@ -8175,8 +8178,8 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2447 templates/js/translated/part.js:1383 -#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1681 -#: templates/js/translated/stock.js:2339 +#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:2340 msgid "Select" msgstr "" @@ -8188,7 +8191,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2581 +#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2582 msgid "No user information" msgstr "" @@ -8342,61 +8345,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:353 templates/js/translated/forms.js:368 -#: templates/js/translated/forms.js:382 templates/js/translated/forms.js:396 +#: templates/js/translated/forms.js:356 templates/js/translated/forms.js:371 +#: templates/js/translated/forms.js:385 templates/js/translated/forms.js:399 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:355 +#: templates/js/translated/forms.js:358 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:370 +#: templates/js/translated/forms.js:373 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:384 +#: templates/js/translated/forms.js:387 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:398 +#: templates/js/translated/forms.js:401 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:656 +#: templates/js/translated/forms.js:659 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:757 +#: templates/js/translated/forms.js:760 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1249 templates/modals.html:19 +#: templates/js/translated/forms.js:1252 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1682 +#: templates/js/translated/forms.js:1685 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1897 templates/search.html:29 +#: templates/js/translated/forms.js:1900 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2150 +#: templates/js/translated/forms.js:2153 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2628 +#: templates/js/translated/forms.js:2631 msgid "Select Columns" msgstr "" @@ -8727,7 +8730,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2142 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2143 msgid "Stock Status" msgstr "" @@ -8921,7 +8924,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1597 +#: templates/js/translated/stock.js:1598 msgid "Shipped to customer" msgstr "" @@ -9187,7 +9190,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:1573 templates/js/translated/part.js:1785 -#: templates/js/translated/stock.js:2300 +#: templates/js/translated/stock.js:2301 msgid "Display as list" msgstr "" @@ -9211,7 +9214,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2319 +#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2320 msgid "Display as tree" msgstr "" @@ -9219,7 +9222,7 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2363 +#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2364 msgid "Path" msgstr "" @@ -9232,7 +9235,7 @@ msgid "Edit test result" msgstr "" #: templates/js/translated/part.js:1978 templates/js/translated/stock.js:1296 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1556 msgid "Delete test result" msgstr "" @@ -9565,180 +9568,180 @@ msgstr "" msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1374 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1538 +#: templates/js/translated/stock.js:1539 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/stock.js:1561 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1590 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1593 +#: templates/js/translated/stock.js:1594 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1601 +#: templates/js/translated/stock.js:1602 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1607 +#: templates/js/translated/stock.js:1608 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1775 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:1780 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1782 +#: templates/js/translated/stock.js:1783 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1785 +#: templates/js/translated/stock.js:1786 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1787 +#: templates/js/translated/stock.js:1788 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1790 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1793 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1797 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1799 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1806 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1807 +#: templates/js/translated/stock.js:1808 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1809 +#: templates/js/translated/stock.js:1810 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1813 +#: templates/js/translated/stock.js:1814 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1865 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1946 +#: templates/js/translated/stock.js:1947 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1984 +#: templates/js/translated/stock.js:1985 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2157 +#: templates/js/translated/stock.js:2158 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2171 +#: templates/js/translated/stock.js:2172 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2173 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2443 +#: templates/js/translated/stock.js:2444 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2465 +#: templates/js/translated/stock.js:2466 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2484 +#: templates/js/translated/stock.js:2485 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2504 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2521 +#: templates/js/translated/stock.js:2522 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2545 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2552 +#: templates/js/translated/stock.js:2553 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2629 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2679 templates/js/translated/stock.js:2715 +#: templates/js/translated/stock.js:2680 templates/js/translated/stock.js:2716 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2729 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2749 +#: templates/js/translated/stock.js:2750 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2751 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2753 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/stock.js:2754 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2755 +#: templates/js/translated/stock.js:2756 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2768 +#: templates/js/translated/stock.js:2769 msgid "Select part to install" msgstr "" @@ -9990,61 +9993,61 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:525 +#: templates/js/translated/tables.js:534 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:528 +#: templates/js/translated/tables.js:537 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:533 +#: templates/js/translated/tables.js:542 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "to" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "of" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:539 templates/navbar.html:102 +#: templates/js/translated/tables.js:548 templates/navbar.html:102 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" msgstr "" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:551 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:554 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:548 +#: templates/js/translated/tables.js:557 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:551 +#: templates/js/translated/tables.js:560 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:563 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:566 msgid "All" msgstr "" diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po index db0f46a96a..464e8e3661 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-11 13:14+0000\n" -"PO-Revision-Date: 2022-06-11 15:03\n" +"POT-Creation-Date: 2022-06-15 08:34+0000\n" +"PO-Revision-Date: 2022-06-15 16:23\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" @@ -23,7 +23,7 @@ msgstr "未找到 API 端点" #: InvenTree/exceptions.py:62 msgid "Error details can be found in the admin panel" -msgstr "" +msgstr "在管理面板中可以找到错误详细信息" #: InvenTree/fields.py:94 msgid "Enter date" @@ -60,7 +60,7 @@ msgstr "您必须输入相同的 Email 。" #: InvenTree/helpers.py:404 #, python-brace-format msgid "Duplicate serial: {sn}" -msgstr "" +msgstr "重复的序列号: {sn}" #: InvenTree/helpers.py:411 order/models.py:356 order/models.py:508 msgid "Invalid quantity provided" @@ -73,7 +73,7 @@ msgstr "空序列号字符串" #: InvenTree/helpers.py:446 #, python-brace-format msgid "Invalid group range: {g}" -msgstr "" +msgstr "无效的组范围: {g}" #: InvenTree/helpers.py:449 #, python-brace-format @@ -83,12 +83,12 @@ msgstr "无效的群组: {g}" #: InvenTree/helpers.py:477 #, python-brace-format msgid "Invalid group sequence: {g}" -msgstr "" +msgstr "无效的组序列: {g}" #: InvenTree/helpers.py:485 #, python-brace-format msgid "Invalid/no group {group}" -msgstr "" +msgstr "无效的群组: {group}" #: InvenTree/helpers.py:491 msgid "No serial numbers found" @@ -97,7 +97,7 @@ msgstr "未找到序列号" #: InvenTree/helpers.py:495 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" -msgstr "" +msgstr "唯一序列号 ({s}) 必须匹配数量 ({q})" #: InvenTree/models.py:178 msgid "Missing file" @@ -105,7 +105,7 @@ msgstr "缺少文件" #: InvenTree/models.py:179 msgid "Missing external link" -msgstr "" +msgstr "缺少外部链接" #: InvenTree/models.py:191 stock/models.py:2091 #: templates/js/translated/attachment.js:103 @@ -141,12 +141,12 @@ msgstr "注释" msgid "File comment" msgstr "文件注释" -#: 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 +#: InvenTree/models.py:208 InvenTree/models.py:209 common/models.py:1575 +#: common/models.py:1576 common/models.py:1799 common/models.py:1800 +#: common/models.py:2062 common/models.py:2063 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:2575 +#: templates/js/translated/stock.js:2576 msgid "User" msgstr "用户" @@ -183,7 +183,7 @@ msgstr "重命名文件出错" msgid "Invalid choice" msgstr "选择无效" -#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1721 +#: InvenTree/models.py:337 InvenTree/models.py:338 common/models.py:1785 #: company/models.py:355 label/models.py:101 part/models.py:739 #: part/models.py:2319 plugin/models.py:93 report/models.py:151 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -195,7 +195,7 @@ msgstr "选择无效" #: templates/js/translated/company.js:744 #: templates/js/translated/notification.js:73 #: templates/js/translated/part.js:684 templates/js/translated/part.js:836 -#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2345 +#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:2346 msgid "Name" msgstr "名称" @@ -217,8 +217,8 @@ msgstr "名称" #: templates/js/translated/order.js:1888 templates/js/translated/order.js:2476 #: templates/js/translated/part.js:743 templates/js/translated/part.js:1151 #: templates/js/translated/part.js:1424 templates/js/translated/part.js:1876 -#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1738 -#: templates/js/translated/stock.js:2357 templates/js/translated/stock.js:2412 +#: templates/js/translated/part.js:1945 templates/js/translated/stock.js:1739 +#: templates/js/translated/stock.js:2358 templates/js/translated/stock.js:2413 msgid "Description" msgstr "描述信息" @@ -232,11 +232,11 @@ msgstr "上级项" #: InvenTree/models.py:466 msgid "Server Error" -msgstr "" +msgstr "服务器错误" #: InvenTree/models.py:467 msgid "An error has been logged by the server." -msgstr "" +msgstr "服务器记录了一个错误。" #: InvenTree/serializers.py:52 part/models.py:2640 msgid "Must be a valid number" @@ -248,143 +248,143 @@ msgstr "文件名" #: InvenTree/serializers.py:298 msgid "Invalid value" -msgstr "" +msgstr "无效值" #: InvenTree/serializers.py:320 msgid "Data File" -msgstr "" +msgstr "数据文件" #: InvenTree/serializers.py:321 msgid "Select data file for upload" -msgstr "" +msgstr "选择要上传的文件" #: InvenTree/serializers.py:342 msgid "Unsupported file type" -msgstr "" +msgstr "不支持的文件类型" #: InvenTree/serializers.py:348 msgid "File is too large" -msgstr "" +msgstr "文件过大" #: InvenTree/serializers.py:369 msgid "No columns found in file" -msgstr "" +msgstr "在文件中没有找到列" #: InvenTree/serializers.py:372 msgid "No data rows found in file" -msgstr "" +msgstr "在文件中没有找到数据行" #: InvenTree/serializers.py:495 msgid "No data rows provided" -msgstr "" +msgstr "没有提供数据行" #: InvenTree/serializers.py:498 msgid "No data columns supplied" -msgstr "" +msgstr "没有提供数据列" #: InvenTree/serializers.py:575 #, python-brace-format msgid "Missing required column: '{name}'" -msgstr "" +msgstr "缺少必需的列:'{name}'" #: InvenTree/serializers.py:584 #, python-brace-format msgid "Duplicate column: '{col}'" -msgstr "" +msgstr "复制列: '{col}'" -#: InvenTree/settings.py:672 +#: InvenTree/settings.py:689 msgid "Czech" -msgstr "" +msgstr "捷克语" -#: InvenTree/settings.py:673 +#: InvenTree/settings.py:690 msgid "German" msgstr "德语" -#: InvenTree/settings.py:674 +#: InvenTree/settings.py:691 msgid "Greek" msgstr "希腊语" -#: InvenTree/settings.py:675 +#: InvenTree/settings.py:692 msgid "English" msgstr "英语" -#: InvenTree/settings.py:676 +#: InvenTree/settings.py:693 msgid "Spanish" msgstr "西班牙语" -#: InvenTree/settings.py:677 +#: InvenTree/settings.py:694 msgid "Spanish (Mexican)" -msgstr "" +msgstr "西班牙语(墨西哥)" -#: InvenTree/settings.py:678 +#: InvenTree/settings.py:695 msgid "Farsi / Persian" -msgstr "" +msgstr "波斯语" -#: InvenTree/settings.py:679 +#: InvenTree/settings.py:696 msgid "French" msgstr "法语" -#: InvenTree/settings.py:680 +#: InvenTree/settings.py:697 msgid "Hebrew" msgstr "希伯来语" -#: InvenTree/settings.py:681 +#: InvenTree/settings.py:698 msgid "Hungarian" -msgstr "" +msgstr "匈牙利语" -#: InvenTree/settings.py:682 +#: InvenTree/settings.py:699 msgid "Italian" msgstr "意大利语" -#: InvenTree/settings.py:683 +#: InvenTree/settings.py:700 msgid "Japanese" msgstr "日语" -#: InvenTree/settings.py:684 +#: InvenTree/settings.py:701 msgid "Korean" msgstr "韩语" -#: InvenTree/settings.py:685 +#: InvenTree/settings.py:702 msgid "Dutch" msgstr "荷兰语" -#: InvenTree/settings.py:686 +#: InvenTree/settings.py:703 msgid "Norwegian" msgstr "挪威语" -#: InvenTree/settings.py:687 +#: InvenTree/settings.py:704 msgid "Polish" msgstr "波兰语" -#: InvenTree/settings.py:688 +#: InvenTree/settings.py:705 msgid "Portuguese" -msgstr "" +msgstr "葡萄牙语" -#: InvenTree/settings.py:689 +#: InvenTree/settings.py:706 msgid "Portuguese (Brazilian)" -msgstr "" +msgstr "葡萄牙语 (巴西)" -#: InvenTree/settings.py:690 +#: InvenTree/settings.py:707 msgid "Russian" msgstr "俄语" -#: InvenTree/settings.py:691 +#: InvenTree/settings.py:708 msgid "Swedish" msgstr "瑞典语" -#: InvenTree/settings.py:692 +#: InvenTree/settings.py:709 msgid "Thai" msgstr "泰语" -#: InvenTree/settings.py:693 +#: InvenTree/settings.py:710 msgid "Turkish" msgstr "土耳其语" -#: InvenTree/settings.py:694 +#: InvenTree/settings.py:711 msgid "Vietnamese" msgstr "越南语" -#: InvenTree/settings.py:695 +#: InvenTree/settings.py:712 msgid "Chinese" msgstr "中文(简体)" @@ -437,7 +437,7 @@ msgstr "已发货" #: InvenTree/status_codes.py:179 msgid "OK" -msgstr "" +msgstr "OK" #: InvenTree/status_codes.py:180 msgid "Attention needed" @@ -453,7 +453,7 @@ msgstr "已销毁" #: InvenTree/status_codes.py:184 msgid "Rejected" -msgstr "" +msgstr "已拒绝" #: InvenTree/status_codes.py:185 msgid "Quarantined" @@ -515,9 +515,9 @@ msgstr "从父项拆分" msgid "Split child item" msgstr "拆分子项" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2082 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2083 msgid "Merged stock items" -msgstr "" +msgstr "合并的库存项目" #: InvenTree/status_codes.py:283 msgid "Converted to variant" @@ -669,7 +669,7 @@ msgstr "此次生产匹配的订单" #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:110 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:479 #: templates/InvenTree/search.html:80 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 @@ -688,8 +688,8 @@ msgstr "此次生产匹配的订单" #: templates/js/translated/part.js:1136 templates/js/translated/part.js:1206 #: templates/js/translated/part.js:1402 templates/js/translated/stock.js:582 #: templates/js/translated/stock.js:747 templates/js/translated/stock.js:954 -#: templates/js/translated/stock.js:1695 templates/js/translated/stock.js:2438 -#: templates/js/translated/stock.js:2633 templates/js/translated/stock.js:2767 +#: templates/js/translated/stock.js:1696 templates/js/translated/stock.js:2439 +#: templates/js/translated/stock.js:2634 templates/js/translated/stock.js:2768 msgid "Part" msgstr "商品" @@ -815,14 +815,14 @@ msgstr "外部链接" #: part/templates/part/part_sidebar.html:59 #: report/templates/report/inventree_build_order_base.html:173 #: 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:759 stock/serializers.py:858 stock/serializers.py:990 +#: stock/serializers.py:316 stock/serializers.py:445 stock/serializers.py:526 +#: stock/serializers.py:799 stock/serializers.py:898 stock/serializers.py:1030 #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:1038 #: templates/js/translated/company.js:949 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:1369 templates/js/translated/stock.js:1978 +#: templates/js/translated/stock.js:1370 templates/js/translated/stock.js:1979 msgid "Notes" msgstr "备注" @@ -878,8 +878,8 @@ msgid "Build to allocate parts" msgstr "" #: 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 +#: order/serializers.py:1017 stock/serializers.py:383 stock/serializers.py:730 +#: stock/serializers.py:856 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 @@ -888,7 +888,7 @@ msgstr "" #: 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:583 templates/js/translated/stock.js:748 -#: templates/js/translated/stock.js:2511 +#: templates/js/translated/stock.js:2512 msgid "Stock Item" msgstr "库存项" @@ -898,7 +898,7 @@ msgstr "源库存项" #: build/models.py:1298 build/serializers.py:183 #: build/templates/build/build_base.html:82 -#: build/templates/build/detail.html:34 common/models.py:1543 +#: build/templates/build/detail.html:34 common/models.py:1607 #: company/forms.py:36 company/templates/company/supplier_part.html:279 #: order/models.py:911 order/models.py:1414 order/serializers.py:1136 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:59 @@ -911,7 +911,7 @@ msgstr "源库存项" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:279 stock/templates/stock/item_base.html:292 +#: stock/serializers.py:280 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:691 #: templates/js/translated/bom.js:860 templates/js/translated/build.js:422 @@ -928,7 +928,7 @@ msgstr "源库存项" #: templates/js/translated/part.js:2321 templates/js/translated/part.js:2355 #: templates/js/translated/part.js:2433 templates/js/translated/stock.js:454 #: templates/js/translated/stock.js:608 templates/js/translated/stock.js:778 -#: templates/js/translated/stock.js:2560 templates/js/translated/stock.js:2645 +#: templates/js/translated/stock.js:2561 templates/js/translated/stock.js:2646 msgid "Quantity" msgstr "数量" @@ -972,7 +972,7 @@ msgstr "输入生产产出数量" #: build/serializers.py:198 build/serializers.py:623 order/models.py:354 #: 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 +#: stock/serializers.py:289 msgid "Quantity must be greater than zero" msgstr "" @@ -985,7 +985,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: build/serializers.py:222 order/serializers.py:448 order/serializers.py:1140 -#: stock/serializers.py:297 templates/js/translated/order.js:1186 +#: stock/serializers.py:298 templates/js/translated/order.js:1186 #: templates/js/translated/stock.js:267 templates/js/translated/stock.js:455 msgid "Serial Numbers" msgstr "序列号" @@ -1002,7 +1002,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:268 stock/api.py:553 +#: build/serializers.py:268 stock/api.py:559 msgid "The following serial numbers already exist" msgstr "" @@ -1011,8 +1011,8 @@ msgid "A list of build outputs must be provided" 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:851 stock/serializers.py:1084 +#: stock/serializers.py:309 stock/serializers.py:440 stock/serializers.py:521 +#: stock/serializers.py:891 stock/serializers.py:1124 #: 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 @@ -1021,7 +1021,7 @@ msgstr "" #: templates/js/translated/order.js:3247 templates/js/translated/order.js:3328 #: templates/js/translated/part.js:181 templates/js/translated/stock.js:584 #: templates/js/translated/stock.js:749 templates/js/translated/stock.js:956 -#: templates/js/translated/stock.js:1849 templates/js/translated/stock.js:2452 +#: templates/js/translated/stock.js:1850 templates/js/translated/stock.js:2453 msgid "Location" msgstr "地点" @@ -1034,8 +1034,8 @@ msgstr "" #: order/serializers.py:458 stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2509 #: templates/js/translated/order.js:1320 templates/js/translated/order.js:1660 -#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1824 -#: templates/js/translated/stock.js:2529 templates/js/translated/stock.js:2661 +#: templates/js/translated/order.js:2481 templates/js/translated/stock.js:1825 +#: templates/js/translated/stock.js:2530 templates/js/translated/stock.js:2662 msgid "Status" msgstr "状态" @@ -1112,7 +1112,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:609 stock/serializers.py:703 +#: build/serializers.py:609 stock/serializers.py:743 msgid "Item must be in stock" msgstr "" @@ -1333,8 +1333,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:1022 templates/js/translated/stock.js:1838 -#: templates/js/translated/stock.js:2668 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:1839 +#: templates/js/translated/stock.js:2669 #: templates/js/translated/table_filters.js:151 #: templates/js/translated/table_filters.js:242 msgid "Batch" @@ -1545,912 +1545,912 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:365 +#: common/models.py:434 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:367 +#: common/models.py:436 msgid "Settings value" msgstr "" -#: common/models.py:408 +#: common/models.py:477 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:425 +#: common/models.py:494 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:436 +#: common/models.py:505 msgid "Value must be an integer value" msgstr "" -#: common/models.py:481 +#: common/models.py:550 msgid "Key string must be unique" msgstr "" -#: common/models.py:665 +#: common/models.py:734 msgid "No group" msgstr "" -#: common/models.py:704 +#: common/models.py:773 msgid "Restart required" msgstr "" -#: common/models.py:705 +#: common/models.py:774 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:712 +#: common/models.py:781 msgid "Server Instance Name" msgstr "" -#: common/models.py:714 +#: common/models.py:783 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:718 +#: common/models.py:787 msgid "Use instance name" msgstr "" -#: common/models.py:719 +#: common/models.py:788 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:725 +#: common/models.py:794 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:726 +#: common/models.py:795 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:732 company/models.py:93 company/models.py:94 +#: common/models.py:801 company/models.py:93 company/models.py:94 msgid "Company name" msgstr "公司名称" -#: common/models.py:733 +#: common/models.py:802 msgid "Internal company name" msgstr "内部公司名称" -#: common/models.py:738 +#: common/models.py:807 msgid "Base URL" msgstr "" -#: common/models.py:739 +#: common/models.py:808 msgid "Base URL for server instance" msgstr "" -#: common/models.py:745 +#: common/models.py:814 msgid "Default Currency" msgstr "" -#: common/models.py:746 +#: common/models.py:815 msgid "Default currency" msgstr "" -#: common/models.py:752 +#: common/models.py:821 msgid "Download from URL" msgstr "" -#: common/models.py:753 +#: common/models.py:822 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:759 templates/InvenTree/settings/sidebar.html:33 +#: common/models.py:828 templates/InvenTree/settings/sidebar.html:33 msgid "Barcode Support" msgstr "" -#: common/models.py:760 +#: common/models.py:829 msgid "Enable barcode scanner support" msgstr "启用条形码扫描支持" -#: common/models.py:766 +#: common/models.py:835 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:767 +#: common/models.py:836 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:773 +#: common/models.py:842 msgid "IPN Regex" msgstr "" -#: common/models.py:774 +#: common/models.py:843 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:778 +#: common/models.py:847 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:779 +#: common/models.py:848 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:785 +#: common/models.py:854 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:786 +#: common/models.py:855 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:792 +#: common/models.py:861 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:793 +#: common/models.py:862 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:799 +#: common/models.py:868 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:800 +#: common/models.py:869 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:806 +#: common/models.py:875 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:807 +#: common/models.py:876 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:813 +#: common/models.py:882 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:814 +#: common/models.py:883 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:820 part/models.py:2360 report/models.py:157 +#: common/models.py:889 part/models.py:2360 report/models.py:157 #: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:444 msgid "Template" msgstr "模板" -#: common/models.py:821 +#: common/models.py:890 msgid "Parts are templates by default" msgstr "" -#: common/models.py:827 part/models.py:884 templates/js/translated/bom.js:1384 +#: common/models.py:896 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" msgstr "组装" -#: common/models.py:828 +#: common/models.py:897 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:834 part/models.py:890 +#: common/models.py:903 part/models.py:890 #: templates/js/translated/table_filters.js:464 msgid "Component" msgstr "组件" -#: common/models.py:835 +#: common/models.py:904 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:841 part/models.py:901 +#: common/models.py:910 part/models.py:901 msgid "Purchaseable" msgstr "可购买" -#: common/models.py:842 +#: common/models.py:911 msgid "Parts are purchaseable by default" msgstr "商品默认可购买" -#: common/models.py:848 part/models.py:906 +#: common/models.py:917 part/models.py:906 #: templates/js/translated/table_filters.js:472 msgid "Salable" msgstr "可销售" -#: common/models.py:849 +#: common/models.py:918 msgid "Parts are salable by default" msgstr "商品默认可销售" -#: common/models.py:855 part/models.py:896 +#: common/models.py:924 part/models.py:896 #: templates/js/translated/table_filters.js:46 #: templates/js/translated/table_filters.js:100 #: templates/js/translated/table_filters.js:476 msgid "Trackable" msgstr "可追踪" -#: common/models.py:856 +#: common/models.py:925 msgid "Parts are trackable by default" msgstr "商品默认可跟踪" -#: common/models.py:862 part/models.py:916 +#: common/models.py:931 part/models.py:916 #: part/templates/part/part_base.html:151 #: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "虚拟" -#: common/models.py:863 +#: common/models.py:932 msgid "Parts are virtual by default" msgstr "商品默认是虚拟的" -#: common/models.py:869 +#: common/models.py:938 msgid "Show Import in Views" msgstr "视图中显示导入" -#: common/models.py:870 +#: common/models.py:939 msgid "Display the import wizard in some part views" msgstr "在一些商品视图中显示导入向导" -#: common/models.py:876 +#: common/models.py:945 msgid "Show Price in Forms" msgstr "在表格中显示价格" -#: common/models.py:877 +#: common/models.py:946 msgid "Display part price in some forms" msgstr "以某些表格显示商品价格" -#: common/models.py:888 +#: common/models.py:957 msgid "Show Price in BOM" msgstr "" -#: common/models.py:889 +#: common/models.py:958 msgid "Include pricing information in BOM tables" msgstr "" -#: common/models.py:900 +#: common/models.py:969 msgid "Show Price History" msgstr "" -#: common/models.py:901 +#: common/models.py:970 msgid "Display historical pricing for Part" msgstr "" -#: common/models.py:907 +#: common/models.py:976 msgid "Show related parts" msgstr "显示相关商品" -#: common/models.py:908 +#: common/models.py:977 msgid "Display related parts for a part" msgstr "" -#: common/models.py:914 +#: common/models.py:983 msgid "Create initial stock" msgstr "创建初始库存" -#: common/models.py:915 +#: common/models.py:984 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:921 +#: common/models.py:990 msgid "Internal Prices" msgstr "内部价格" -#: common/models.py:922 +#: common/models.py:991 msgid "Enable internal prices for parts" msgstr "启用内部商品价格" -#: common/models.py:928 +#: common/models.py:997 msgid "Internal Price as BOM-Price" msgstr "内部价格为BOM价格" -#: common/models.py:929 +#: common/models.py:998 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "在 BOM价格计算中使用内部价格(如设置)" -#: common/models.py:935 +#: common/models.py:1004 msgid "Part Name Display Format" msgstr "" -#: common/models.py:936 +#: common/models.py:1005 msgid "Format to display the part name" msgstr "" -#: common/models.py:943 +#: common/models.py:1012 msgid "Enable Reports" msgstr "" -#: common/models.py:944 +#: common/models.py:1013 msgid "Enable generation of reports" msgstr "" -#: common/models.py:950 templates/stats.html:25 +#: common/models.py:1019 templates/stats.html:25 msgid "Debug Mode" msgstr "调试模式" -#: common/models.py:951 +#: common/models.py:1020 msgid "Generate reports in debug mode (HTML output)" msgstr "在调试模式生成报告(HTML输出)" -#: common/models.py:957 +#: common/models.py:1026 msgid "Page Size" msgstr "页面大小" -#: common/models.py:958 +#: common/models.py:1027 msgid "Default page size for PDF reports" msgstr "PDF 报表默认页面大小" -#: common/models.py:968 +#: common/models.py:1037 msgid "Enable Test Reports" msgstr "" -#: common/models.py:969 +#: common/models.py:1038 msgid "Enable generation of test reports" msgstr "启用生成测试报表" -#: common/models.py:975 +#: common/models.py:1044 msgid "Attach Test Reports" msgstr "" -#: common/models.py:976 +#: common/models.py:1045 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:982 +#: common/models.py:1051 msgid "Batch Code Template" msgstr "" -#: common/models.py:983 +#: common/models.py:1052 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:988 +#: common/models.py:1057 msgid "Stock Expiry" msgstr "库存到期" -#: common/models.py:989 +#: common/models.py:1058 msgid "Enable stock expiry functionality" msgstr "启用库存到期功能" -#: common/models.py:995 +#: common/models.py:1064 msgid "Sell Expired Stock" msgstr "销售过期库存" -#: common/models.py:996 +#: common/models.py:1065 msgid "Allow sale of expired stock" msgstr "允许销售过期库存" -#: common/models.py:1002 +#: common/models.py:1071 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1003 +#: common/models.py:1072 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1005 +#: common/models.py:1074 msgid "days" msgstr "天" -#: common/models.py:1010 +#: common/models.py:1079 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1011 +#: common/models.py:1080 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1017 +#: common/models.py:1086 msgid "Stock Ownership Control" msgstr "库存所有权控制" -#: common/models.py:1018 +#: common/models.py:1087 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1024 +#: common/models.py:1093 msgid "Build Order Reference Prefix" msgstr "生产订单参考前缀" -#: common/models.py:1025 +#: common/models.py:1094 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:1030 +#: common/models.py:1099 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:1031 +#: common/models.py:1100 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:1035 +#: common/models.py:1104 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:1036 +#: common/models.py:1105 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:1041 +#: common/models.py:1110 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1042 +#: common/models.py:1111 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1048 +#: common/models.py:1117 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:1049 +#: common/models.py:1118 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:1055 +#: common/models.py:1124 msgid "Enable password forgot" msgstr "" -#: common/models.py:1056 +#: common/models.py:1125 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1062 +#: common/models.py:1131 msgid "Enable registration" msgstr "" -#: common/models.py:1063 +#: common/models.py:1132 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1069 +#: common/models.py:1138 msgid "Enable SSO" msgstr "" -#: common/models.py:1070 +#: common/models.py:1139 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1076 +#: common/models.py:1145 msgid "Email required" msgstr "" -#: common/models.py:1077 +#: common/models.py:1146 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1083 +#: common/models.py:1152 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1084 +#: common/models.py:1153 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1090 +#: common/models.py:1159 msgid "Mail twice" msgstr "" -#: common/models.py:1091 +#: common/models.py:1160 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1097 +#: common/models.py:1166 msgid "Password twice" msgstr "" -#: common/models.py:1098 +#: common/models.py:1167 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1104 +#: common/models.py:1173 msgid "Group on signup" msgstr "" -#: common/models.py:1105 +#: common/models.py:1174 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1111 +#: common/models.py:1180 msgid "Enforce MFA" msgstr "" -#: common/models.py:1112 +#: common/models.py:1181 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1118 +#: common/models.py:1187 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1119 +#: common/models.py:1188 msgid "Check that all plugins are installed on startup - enable in container enviroments" msgstr "" -#: common/models.py:1127 +#: common/models.py:1196 msgid "Enable URL integration" msgstr "" -#: common/models.py:1128 +#: common/models.py:1197 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1135 +#: common/models.py:1204 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1136 +#: common/models.py:1205 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1143 +#: common/models.py:1212 msgid "Enable app integration" msgstr "" -#: common/models.py:1144 +#: common/models.py:1213 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1151 +#: common/models.py:1220 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1152 +#: common/models.py:1221 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1159 +#: common/models.py:1228 msgid "Enable event integration" msgstr "" -#: common/models.py:1160 +#: common/models.py:1229 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1177 common/models.py:1499 +#: common/models.py:1246 common/models.py:1568 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1199 +#: common/models.py:1268 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1200 +#: common/models.py:1269 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1206 +#: common/models.py:1275 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1207 +#: common/models.py:1276 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1213 +#: common/models.py:1282 msgid "Show latest parts" msgstr "显示最近商品" -#: common/models.py:1214 +#: common/models.py:1283 msgid "Show latest parts on the homepage" msgstr "在主页上显示最近商品" -#: common/models.py:1220 +#: common/models.py:1289 msgid "Recent Part Count" msgstr "" -#: common/models.py:1221 +#: common/models.py:1290 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1227 +#: common/models.py:1296 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1228 +#: common/models.py:1297 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1234 +#: common/models.py:1303 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1235 +#: common/models.py:1304 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1241 +#: common/models.py:1310 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1242 +#: common/models.py:1311 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1248 +#: common/models.py:1317 msgid "Show low stock" msgstr "" -#: common/models.py:1249 +#: common/models.py:1318 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1255 +#: common/models.py:1324 msgid "Show depleted stock" msgstr "" -#: common/models.py:1256 +#: common/models.py:1325 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1262 +#: common/models.py:1331 msgid "Show needed stock" msgstr "" -#: common/models.py:1263 +#: common/models.py:1332 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1269 +#: common/models.py:1338 msgid "Show expired stock" msgstr "" -#: common/models.py:1270 +#: common/models.py:1339 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1276 +#: common/models.py:1345 msgid "Show stale stock" msgstr "" -#: common/models.py:1277 +#: common/models.py:1346 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1283 +#: common/models.py:1352 msgid "Show pending builds" msgstr "" -#: common/models.py:1284 +#: common/models.py:1353 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1290 +#: common/models.py:1359 msgid "Show overdue builds" msgstr "显示逾期生产" -#: common/models.py:1291 +#: common/models.py:1360 msgid "Show overdue builds on the homepage" msgstr "在主页上显示逾期的生产" -#: common/models.py:1297 +#: common/models.py:1366 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1298 +#: common/models.py:1367 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1304 +#: common/models.py:1373 msgid "Show overdue POs" msgstr "" -#: common/models.py:1305 +#: common/models.py:1374 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1311 +#: common/models.py:1380 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1312 +#: common/models.py:1381 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1318 +#: common/models.py:1387 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1319 +#: common/models.py:1388 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1324 +#: common/models.py:1393 msgid "Enable label printing" msgstr "" -#: common/models.py:1325 +#: common/models.py:1394 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1331 +#: common/models.py:1400 msgid "Inline label display" msgstr "内嵌标签显示" -#: common/models.py:1332 +#: common/models.py:1401 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 标签,而不是以文件形式下载" -#: common/models.py:1338 +#: common/models.py:1407 msgid "Inline report display" msgstr "" -#: common/models.py:1339 +#: common/models.py:1408 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 报告,而不是以文件形式下载" -#: common/models.py:1345 +#: common/models.py:1414 msgid "Search Parts" msgstr "" -#: common/models.py:1346 +#: common/models.py:1415 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1352 +#: common/models.py:1421 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1353 +#: common/models.py:1422 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1359 +#: common/models.py:1428 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1360 +#: common/models.py:1429 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1366 +#: common/models.py:1435 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1367 +#: common/models.py:1436 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1373 +#: common/models.py:1442 msgid "Search Categories" msgstr "" -#: common/models.py:1374 +#: common/models.py:1443 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1380 +#: common/models.py:1449 msgid "Search Stock" msgstr "" -#: common/models.py:1381 +#: common/models.py:1450 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1387 +#: common/models.py:1456 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1388 +#: common/models.py:1457 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1394 +#: common/models.py:1463 msgid "Search Locations" msgstr "" -#: common/models.py:1395 +#: common/models.py:1464 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1401 +#: common/models.py:1470 msgid "Search Companies" msgstr "" -#: common/models.py:1402 +#: common/models.py:1471 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1408 +#: common/models.py:1477 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1409 +#: common/models.py:1478 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1415 +#: common/models.py:1484 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1416 +#: common/models.py:1485 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1422 +#: common/models.py:1491 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1423 +#: common/models.py:1492 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1429 +#: common/models.py:1498 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1430 +#: common/models.py:1499 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1436 +#: common/models.py:1505 msgid "Search Preview Results" msgstr "搜索预览结果" -#: common/models.py:1437 +#: common/models.py:1506 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1443 +#: common/models.py:1512 msgid "Show Quantity in Forms" msgstr "在表格中显示数量" -#: common/models.py:1444 +#: common/models.py:1513 msgid "Display available part quantity in some forms" msgstr "在某些表格中显示可用的商品数量" -#: common/models.py:1450 +#: common/models.py:1519 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1451 +#: common/models.py:1520 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1457 +#: common/models.py:1526 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1458 +#: common/models.py:1527 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1464 +#: common/models.py:1533 msgid "Date Format" msgstr "" -#: common/models.py:1465 +#: common/models.py:1534 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1479 part/templates/part/detail.html:39 +#: common/models.py:1548 part/templates/part/detail.html:39 msgid "Part Scheduling" msgstr "" -#: common/models.py:1480 +#: common/models.py:1549 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1544 company/forms.py:37 +#: common/models.py:1608 company/forms.py:37 msgid "Price break quantity" msgstr "" -#: common/models.py:1551 company/serializers.py:319 +#: common/models.py:1615 company/serializers.py:319 #: company/templates/company/supplier_part.html:284 order/models.py:951 #: templates/js/translated/part.js:1067 templates/js/translated/part.js:2095 msgid "Price" msgstr "价格" -#: common/models.py:1552 +#: common/models.py:1616 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1712 common/models.py:1890 +#: common/models.py:1776 common/models.py:1954 msgid "Endpoint" msgstr "" -#: common/models.py:1713 +#: common/models.py:1777 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1722 +#: common/models.py:1786 msgid "Name for this webhook" msgstr "" -#: common/models.py:1727 part/models.py:911 plugin/models.py:99 +#: common/models.py:1791 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,67 +2458,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1728 +#: common/models.py:1792 msgid "Is this webhook active" msgstr "" -#: common/models.py:1742 +#: common/models.py:1806 msgid "Token" msgstr "" -#: common/models.py:1743 +#: common/models.py:1807 msgid "Token for access" msgstr "" -#: common/models.py:1750 +#: common/models.py:1814 msgid "Secret" msgstr "" -#: common/models.py:1751 +#: common/models.py:1815 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1857 +#: common/models.py:1921 msgid "Message ID" msgstr "" -#: common/models.py:1858 +#: common/models.py:1922 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1866 +#: common/models.py:1930 msgid "Host" msgstr "" -#: common/models.py:1867 +#: common/models.py:1931 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1874 +#: common/models.py:1938 msgid "Header" msgstr "" -#: common/models.py:1875 +#: common/models.py:1939 msgid "Header of this message" msgstr "" -#: common/models.py:1881 +#: common/models.py:1945 msgid "Body" msgstr "" -#: common/models.py:1882 +#: common/models.py:1946 msgid "Body of this message" msgstr "" -#: common/models.py:1891 +#: common/models.py:1955 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1896 +#: common/models.py:1960 msgid "Worked on" msgstr "" -#: common/models.py:1897 +#: common/models.py:1961 msgid "Was the work on this message finished?" msgstr "" @@ -2657,7 +2657,7 @@ msgstr "该公司制造商品吗?" #: company/models.py:145 company/serializers.py:325 #: company/templates/company/company_base.html:106 part/serializers.py:139 -#: part/serializers.py:170 stock/serializers.py:162 +#: part/serializers.py:170 stock/serializers.py:163 msgid "Currency" msgstr "货币" @@ -2793,7 +2793,7 @@ msgstr "供应商商品描述" #: company/models.py:519 company/templates/company/supplier_part.html:146 #: 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 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:388 msgid "Note" msgstr "备注" @@ -2807,7 +2807,7 @@ msgstr "最低收费(例如库存费)" #: company/models.py:525 company/templates/company/supplier_part.html:139 #: stock/models.py:608 stock/templates/stock/item_base.html:245 -#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1974 +#: templates/js/translated/company.js:954 templates/js/translated/stock.js:1975 msgid "Packaging" msgstr "打包" @@ -2902,11 +2902,11 @@ msgstr "从 URL 下载图片" #: company/templates/company/company_base.html:86 order/models.py:651 #: order/templates/order/sales_order_base.html:116 stock/models.py:627 -#: stock/models.py:628 stock/serializers.py:745 +#: stock/models.py:628 stock/serializers.py:785 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:381 templates/js/translated/order.js:2458 -#: templates/js/translated/stock.js:2493 +#: templates/js/translated/stock.js:2494 #: templates/js/translated/table_filters.js:419 msgid "Customer" msgstr "客户" @@ -3079,7 +3079,7 @@ msgstr "删除供应商商品" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 #: part/templates/part/detail.html:364 part/templates/part/detail.html:394 -#: templates/js/translated/forms.js:439 templates/js/translated/helpers.js:33 +#: templates/js/translated/forms.js:442 templates/js/translated/helpers.js:33 #: users/models.py:219 msgid "Delete" msgstr "删除" @@ -3127,7 +3127,7 @@ msgstr "" #: company/templates/company/supplier_part.html:24 stock/models.py:592 #: stock/templates/stock/item_base.html:238 #: templates/js/translated/company.js:894 templates/js/translated/order.js:884 -#: templates/js/translated/stock.js:1931 +#: templates/js/translated/stock.js:1932 msgid "Supplier Part" msgstr "供应商商品" @@ -3235,7 +3235,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:43 #: templates/js/translated/bom.js:554 templates/js/translated/part.js:747 #: templates/js/translated/part.js:1295 templates/js/translated/part.js:1456 -#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1749 +#: templates/js/translated/stock.js:955 templates/js/translated/stock.js:1750 #: templates/navbar.html:31 msgid "Stock" msgstr "库存" @@ -3262,7 +3262,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:2369 users/models.py:39 +#: templates/js/translated/stock.js:2370 users/models.py:39 msgid "Stock Items" msgstr "库存项" @@ -3536,8 +3536,8 @@ msgstr "" #: 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:968 templates/js/translated/stock.js:1908 -#: templates/js/translated/stock.js:2474 +#: templates/js/translated/part.js:968 templates/js/translated/stock.js:1909 +#: templates/js/translated/stock.js:2475 msgid "Purchase Order" msgstr "" @@ -3557,8 +3557,8 @@ msgid "Number of items received" msgstr "" #: order/models.py:1030 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:1962 +#: stock/serializers.py:154 stock/templates/stock/item_base.html:191 +#: templates/js/translated/stock.js:1963 msgid "Purchase Price" msgstr "采购价格" @@ -4121,19 +4121,19 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/api.py:1011 +#: part/api.py:1058 msgid "Must be greater than zero" msgstr "必须大于0" -#: part/api.py:1015 +#: part/api.py:1062 msgid "Must be a valid quantity" msgstr "必须是有效的数量" -#: part/api.py:1030 +#: part/api.py:1077 msgid "Specify location for initial part stock" msgstr "指定初始初始商品仓储地点" -#: part/api.py:1061 part/api.py:1065 part/api.py:1080 part/api.py:1084 +#: part/api.py:1108 part/api.py:1112 part/api.py:1127 part/api.py:1131 msgid "This field is required" msgstr "此字段为必填" @@ -4268,7 +4268,7 @@ msgstr "商品类别" #: part/models.py:782 part/templates/part/part_base.html:266 #: templates/js/translated/part.js:735 templates/js/translated/part.js:1391 -#: templates/js/translated/stock.js:1721 +#: templates/js/translated/stock.js:1722 msgid "IPN" msgstr "" @@ -4611,7 +4611,7 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:163 +#: part/serializers.py:140 part/serializers.py:171 stock/serializers.py:164 msgid "Purchase currency of this stock item" msgstr "" @@ -5752,7 +5752,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:51 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2402 +#: templates/js/translated/order.js:1669 templates/js/translated/stock.js:2403 msgid "Date" msgstr "" @@ -5771,19 +5771,19 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:137 #: templates/js/translated/stock.js:606 templates/js/translated/stock.js:776 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2652 msgid "Serial" msgstr "" -#: stock/api.py:505 +#: stock/api.py:511 msgid "Quantity is required" msgstr "" -#: stock/api.py:512 +#: stock/api.py:518 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:537 +#: stock/api.py:543 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -5891,7 +5891,7 @@ msgid "Destination Sales Order" msgstr "" #: stock/models.py:690 stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1878 +#: templates/js/translated/stock.js:1879 msgid "Expiry Date" msgstr "" @@ -5969,7 +5969,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1347 stock/serializers.py:895 +#: stock/models.py:1347 stock/serializers.py:935 msgid "Duplicate stock items" msgstr "" @@ -6021,120 +6021,128 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:156 +#: stock/serializers.py:157 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:280 +#: stock/serializers.py:281 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:293 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:298 +#: stock/serializers.py:299 msgid "Enter serial numbers for new items" -msgstr "" +msgstr "输入新项目的序列号" -#: stock/serializers.py:309 stock/serializers.py:852 stock/serializers.py:1085 +#: stock/serializers.py:310 stock/serializers.py:892 stock/serializers.py:1125 msgid "Destination stock location" -msgstr "" +msgstr "目标库存位置" -#: stock/serializers.py:316 +#: stock/serializers.py:317 msgid "Optional note field" msgstr "" -#: stock/serializers.py:326 +#: stock/serializers.py:327 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:344 msgid "Serial numbers already exist" msgstr "序列号已存在" -#: stock/serializers.py:383 +#: stock/serializers.py:384 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:397 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:404 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:440 +#: stock/serializers.py:441 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:445 stock/serializers.py:487 +#: stock/serializers.py:446 stock/serializers.py:527 msgid "Add transaction note (optional)" +msgstr "添加交易备注 (可选)" + +#: stock/serializers.py:480 +msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:482 +#: stock/serializers.py:491 +msgid "Selected part is not a valid option for conversion" +msgstr "" + +#: stock/serializers.py:522 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:707 +#: stock/serializers.py:747 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:711 +#: stock/serializers.py:751 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:755 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:786 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:752 +#: stock/serializers.py:792 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:760 +#: stock/serializers.py:800 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:770 stock/serializers.py:1001 +#: stock/serializers.py:810 stock/serializers.py:1041 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:859 +#: stock/serializers.py:899 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:864 +#: stock/serializers.py:904 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:865 +#: stock/serializers.py:905 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:870 +#: stock/serializers.py:910 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:871 +#: stock/serializers.py:911 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:881 +#: stock/serializers.py:921 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:963 +#: stock/serializers.py:1003 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:1031 msgid "Stock transaction notes" msgstr "" @@ -6171,7 +6179,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2795 +#: stock/templates/stock/item.html:151 templates/js/translated/stock.js:2796 msgid "Install Stock Item" msgstr "" @@ -6179,7 +6187,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1517 +#: stock/templates/stock/item.html:324 templates/js/translated/stock.js:1518 msgid "Add Test Result" msgstr "" @@ -6366,7 +6374,7 @@ msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1894 +#: templates/js/translated/company.js:965 templates/js/translated/stock.js:1895 msgid "Last Updated" msgstr "" @@ -6382,7 +6390,23 @@ msgstr "" msgid "Edit Stock Status" msgstr "" -#: stock/templates/stock/item_base.html:642 +#: stock/templates/stock/item_base.html:594 +msgid "Select one of the part variants listed below." +msgstr "" + +#: stock/templates/stock/item_base.html:597 +msgid "Warning" +msgstr "警告" + +#: stock/templates/stock/item_base.html:598 +msgid "This action cannot be easily undone" +msgstr "" + +#: stock/templates/stock/item_base.html:606 +msgid "Convert Stock Item" +msgstr "" + +#: stock/templates/stock/item_base.html:664 msgid "Return to Stock" msgstr "" @@ -6466,32 +6490,11 @@ msgstr "" msgid "Child Items" msgstr "" -#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:143 -msgid "Convert Stock Item" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:8 -#, python-format -msgid "This stock item is current an instance of %(part)s" -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:9 -msgid "It can be converted to one of the part variants listed below." -msgstr "" - -#: stock/templates/stock/stockitem_convert.html:13 -msgid "Warning" -msgstr "警告" - -#: stock/templates/stock/stockitem_convert.html:14 -msgid "This action cannot be easily undone" -msgstr "" - -#: stock/views.py:110 +#: stock/views.py:109 msgid "Stock Location QR code" msgstr "仓储地点二维码" -#: stock/views.py:126 +#: stock/views.py:125 msgid "Stock Item QR Code" msgstr "" @@ -7303,7 +7306,7 @@ 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 +#: templates/account/email_confirm.html:20 templates/js/translated/forms.js:633 msgid "Confirm" msgstr "确认" @@ -8175,8 +8178,8 @@ msgid "No builds matching query" msgstr "" #: templates/js/translated/build.js:2447 templates/js/translated/part.js:1383 -#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1681 -#: templates/js/translated/stock.js:2339 +#: templates/js/translated/part.js:1850 templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:2340 msgid "Select" msgstr "" @@ -8188,7 +8191,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2581 +#: templates/js/translated/build.js:2531 templates/js/translated/stock.js:2582 msgid "No user information" msgstr "没有用户信息" @@ -8342,61 +8345,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:353 templates/js/translated/forms.js:368 -#: templates/js/translated/forms.js:382 templates/js/translated/forms.js:396 +#: templates/js/translated/forms.js:356 templates/js/translated/forms.js:371 +#: templates/js/translated/forms.js:385 templates/js/translated/forms.js:399 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:355 +#: templates/js/translated/forms.js:358 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:370 +#: templates/js/translated/forms.js:373 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:384 +#: templates/js/translated/forms.js:387 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:398 +#: templates/js/translated/forms.js:401 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:656 +#: templates/js/translated/forms.js:659 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:757 +#: templates/js/translated/forms.js:760 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1249 templates/modals.html:19 +#: templates/js/translated/forms.js:1252 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1682 +#: templates/js/translated/forms.js:1685 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:1897 templates/search.html:29 +#: templates/js/translated/forms.js:1900 templates/search.html:29 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2150 +#: templates/js/translated/forms.js:2153 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2616 +#: templates/js/translated/forms.js:2619 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2628 +#: templates/js/translated/forms.js:2631 msgid "Select Columns" msgstr "" @@ -8727,7 +8730,7 @@ msgstr "" msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2142 +#: templates/js/translated/order.js:1225 templates/js/translated/stock.js:2143 msgid "Stock Status" msgstr "" @@ -8921,7 +8924,7 @@ msgid "Delete Stock Allocation" msgstr "" #: templates/js/translated/order.js:3243 templates/js/translated/order.js:3332 -#: templates/js/translated/stock.js:1597 +#: templates/js/translated/stock.js:1598 msgid "Shipped to customer" msgstr "" @@ -9187,7 +9190,7 @@ msgid "No category" msgstr "没有分类" #: templates/js/translated/part.js:1573 templates/js/translated/part.js:1785 -#: templates/js/translated/stock.js:2300 +#: templates/js/translated/stock.js:2301 msgid "Display as list" msgstr "" @@ -9211,7 +9214,7 @@ msgstr "" msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2319 +#: templates/js/translated/part.js:1804 templates/js/translated/stock.js:2320 msgid "Display as tree" msgstr "" @@ -9219,7 +9222,7 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2363 +#: templates/js/translated/part.js:1882 templates/js/translated/stock.js:2364 msgid "Path" msgstr "" @@ -9232,7 +9235,7 @@ msgid "Edit test result" msgstr "" #: templates/js/translated/part.js:1978 templates/js/translated/stock.js:1296 -#: templates/js/translated/stock.js:1555 +#: templates/js/translated/stock.js:1556 msgid "Delete test result" msgstr "" @@ -9565,180 +9568,180 @@ msgstr "" msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1374 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1538 +#: templates/js/translated/stock.js:1539 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/stock.js:1561 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1589 +#: templates/js/translated/stock.js:1590 msgid "In production" msgstr "正在生产" -#: templates/js/translated/stock.js:1593 +#: templates/js/translated/stock.js:1594 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1601 +#: templates/js/translated/stock.js:1602 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1607 +#: templates/js/translated/stock.js:1608 msgid "No stock location set" msgstr "未设置仓储地点" -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1775 msgid "Stock item is in production" msgstr "库存品正在生产" -#: templates/js/translated/stock.js:1779 +#: templates/js/translated/stock.js:1780 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1782 +#: templates/js/translated/stock.js:1783 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1785 +#: templates/js/translated/stock.js:1786 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1787 +#: templates/js/translated/stock.js:1788 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1790 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1793 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1797 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1799 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1806 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1807 +#: templates/js/translated/stock.js:1808 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1809 +#: templates/js/translated/stock.js:1810 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1813 +#: templates/js/translated/stock.js:1814 #: templates/js/translated/table_filters.js:188 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:1865 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1946 +#: templates/js/translated/stock.js:1947 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1984 +#: templates/js/translated/stock.js:1985 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2157 +#: templates/js/translated/stock.js:2158 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2171 +#: templates/js/translated/stock.js:2172 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2172 +#: templates/js/translated/stock.js:2173 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2427 +#: templates/js/translated/stock.js:2428 msgid "Details" msgstr "详情" -#: templates/js/translated/stock.js:2443 +#: templates/js/translated/stock.js:2444 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2465 +#: templates/js/translated/stock.js:2466 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2484 +#: templates/js/translated/stock.js:2485 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2504 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2521 +#: templates/js/translated/stock.js:2522 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2545 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2552 +#: templates/js/translated/stock.js:2553 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2629 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2679 templates/js/translated/stock.js:2715 +#: templates/js/translated/stock.js:2680 templates/js/translated/stock.js:2716 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2729 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2749 +#: templates/js/translated/stock.js:2750 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2751 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2753 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2753 +#: templates/js/translated/stock.js:2754 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2754 +#: templates/js/translated/stock.js:2755 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2755 +#: templates/js/translated/stock.js:2756 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2768 +#: templates/js/translated/stock.js:2769 msgid "Select part to install" msgstr "" @@ -9990,61 +9993,61 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:525 +#: templates/js/translated/tables.js:534 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:528 +#: templates/js/translated/tables.js:537 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:533 +#: templates/js/translated/tables.js:542 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "to" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "of" msgstr "" -#: templates/js/translated/tables.js:535 +#: templates/js/translated/tables.js:544 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:539 templates/navbar.html:102 +#: templates/js/translated/tables.js:548 templates/navbar.html:102 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" msgstr "搜索" -#: templates/js/translated/tables.js:542 +#: templates/js/translated/tables.js:551 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:554 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:548 +#: templates/js/translated/tables.js:557 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:551 +#: templates/js/translated/tables.js:560 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:563 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:566 msgid "All" msgstr "" From e83995b4f564574445e2ba059de0c03ed69411c4 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Thu, 16 Jun 2022 02:01:53 +0200 Subject: [PATCH 2/8] Add bleach (#41) (#3204) * use shims for API view inheritation * Add mixin for input sanitation * fix clean operation to fix all string values * Also clean up dicts this is to future-proof this function * Update docstirng * proof custom methods against XSS through authenticated users --- InvenTree/InvenTree/api.py | 6 +- InvenTree/InvenTree/mixins.py | 90 ++++++++++++++++++++++ InvenTree/build/api.py | 29 +++---- InvenTree/common/api.py | 20 ++--- InvenTree/company/api.py | 19 ++--- InvenTree/label/api.py | 17 +++-- InvenTree/order/api.py | 66 ++++++++-------- InvenTree/part/api.py | 138 +++++++++++++++++++--------------- InvenTree/plugin/api.py | 19 +++-- InvenTree/report/api.py | 25 +++--- InvenTree/stock/api.py | 48 ++++++------ InvenTree/users/api.py | 11 +-- 12 files changed, 310 insertions(+), 178 deletions(-) create mode 100644 InvenTree/InvenTree/mixins.py diff --git a/InvenTree/InvenTree/api.py b/InvenTree/InvenTree/api.py index ca4d37dc7c..38a3d559a0 100644 --- a/InvenTree/InvenTree/api.py +++ b/InvenTree/InvenTree/api.py @@ -6,10 +6,12 @@ from django.http import JsonResponse from django.utils.translation import gettext_lazy as _ from django_filters.rest_framework import DjangoFilterBackend -from rest_framework import filters, generics, permissions +from rest_framework import filters, permissions from rest_framework.response import Response from rest_framework.serializers import ValidationError +from InvenTree.mixins import ListCreateAPI + from .status import is_worker_running from .version import (inventreeApiVersion, inventreeInstanceName, inventreeVersion) @@ -134,7 +136,7 @@ class BulkDeleteMixin: ) -class ListCreateDestroyAPIView(BulkDeleteMixin, generics.ListCreateAPIView): +class ListCreateDestroyAPIView(BulkDeleteMixin, ListCreateAPI): """Custom API endpoint which provides BulkDelete functionality in addition to List and Create""" ... diff --git a/InvenTree/InvenTree/mixins.py b/InvenTree/InvenTree/mixins.py new file mode 100644 index 0000000000..59347b60eb --- /dev/null +++ b/InvenTree/InvenTree/mixins.py @@ -0,0 +1,90 @@ +"""Mixins for (API) views in the whole project.""" + +from bleach import clean +from rest_framework import generics, status +from rest_framework.response import Response + + +class CleanMixin(): + """Model mixin class which cleans inputs.""" + + # Define a map of fields avaialble for import + SAFE_FIELDS = {} + + def create(self, request, *args, **kwargs): + """Override to clean data before processing it.""" + serializer = self.get_serializer(data=self.clean_data(request.data)) + serializer.is_valid(raise_exception=True) + self.perform_create(serializer) + headers = self.get_success_headers(serializer.data) + return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers) + + def update(self, request, *args, **kwargs): + """Override to clean data before processing it.""" + partial = kwargs.pop('partial', False) + instance = self.get_object() + serializer = self.get_serializer(instance, data=self.clean_data(request.data), partial=partial) + serializer.is_valid(raise_exception=True) + self.perform_update(serializer) + + if getattr(instance, '_prefetched_objects_cache', None): + # If 'prefetch_related' has been applied to a queryset, we need to + # forcibly invalidate the prefetch cache on the instance. + instance._prefetched_objects_cache = {} + + return Response(serializer.data) + + def clean_data(self, data: dict) -> dict: + """Clean / snatize data. + + This uses mozillas bleach under the hood to disable certain html tags by + encoding them - this leads to script tags etc. to not work. + The results can be longer then the input; might make some character combinations + `ugly`. Prevents XSS on the server-level. + + Args: + data (dict): Data that should be sanatized. + + Returns: + dict: Profided data sanatized; still in the same order. + """ + clean_data = {} + for k, v in data.items(): + if isinstance(v, str): + ret = clean(v) + elif isinstance(v, dict): + ret = self.clean_data(v) + else: + ret = v + clean_data[k] = ret + return clean_data + + +class ListAPI(generics.ListAPIView): + """View for list API.""" + + +class ListCreateAPI(CleanMixin, generics.ListCreateAPIView): + """View for list and create API.""" + + +class CreateAPI(CleanMixin, generics.CreateAPIView): + """View for create API.""" + + +class RetrieveAPI(generics.RetrieveAPIView): + """View for retreive API.""" + pass + + +class RetrieveUpdateAPI(CleanMixin, generics.RetrieveUpdateAPIView): + """View for retrieve and update API.""" + pass + + +class RetrieveUpdateDestroyAPI(CleanMixin, generics.RetrieveUpdateDestroyAPIView): + """View for retrieve, update and destroy API.""" + + +class UpdateAPI(CleanMixin, generics.UpdateAPIView): + """View for update API.""" diff --git a/InvenTree/build/api.py b/InvenTree/build/api.py index 295035bd99..746a1c58e9 100644 --- a/InvenTree/build/api.py +++ b/InvenTree/build/api.py @@ -3,7 +3,7 @@ from django.urls import include, re_path from django.utils.translation import gettext_lazy as _ -from rest_framework import filters, generics +from rest_framework import filters from rest_framework.exceptions import ValidationError from django_filters.rest_framework import DjangoFilterBackend @@ -13,6 +13,7 @@ from InvenTree.api import AttachmentMixin, APIDownloadMixin, ListCreateDestroyAP from InvenTree.helpers import str2bool, isNull, DownloadFile from InvenTree.filters import InvenTreeOrderingFilter from InvenTree.status_codes import BuildStatus +from InvenTree.mixins import CreateAPI, RetrieveUpdateDestroyAPI, ListCreateAPI import build.admin import build.serializers @@ -65,7 +66,7 @@ class BuildFilter(rest_filters.FilterSet): return queryset -class BuildList(APIDownloadMixin, generics.ListCreateAPIView): +class BuildList(APIDownloadMixin, ListCreateAPI): """API endpoint for accessing a list of Build objects. - GET: Return list of objects (with filters) @@ -200,7 +201,7 @@ class BuildList(APIDownloadMixin, generics.ListCreateAPIView): return self.serializer_class(*args, **kwargs) -class BuildDetail(generics.RetrieveUpdateDestroyAPIView): +class BuildDetail(RetrieveUpdateDestroyAPI): """API endpoint for detail view of a Build object.""" queryset = Build.objects.all() @@ -219,7 +220,7 @@ class BuildDetail(generics.RetrieveUpdateDestroyAPIView): return super().destroy(request, *args, **kwargs) -class BuildUnallocate(generics.CreateAPIView): +class BuildUnallocate(CreateAPI): """API endpoint for unallocating stock items from a build order. - The BuildOrder object is specified by the URL @@ -263,7 +264,7 @@ class BuildOrderContextMixin: return ctx -class BuildOutputCreate(BuildOrderContextMixin, generics.CreateAPIView): +class BuildOutputCreate(BuildOrderContextMixin, CreateAPI): """API endpoint for creating new build output(s).""" queryset = Build.objects.none() @@ -271,7 +272,7 @@ class BuildOutputCreate(BuildOrderContextMixin, generics.CreateAPIView): serializer_class = build.serializers.BuildOutputCreateSerializer -class BuildOutputComplete(BuildOrderContextMixin, generics.CreateAPIView): +class BuildOutputComplete(BuildOrderContextMixin, CreateAPI): """API endpoint for completing build outputs.""" queryset = Build.objects.none() @@ -279,7 +280,7 @@ class BuildOutputComplete(BuildOrderContextMixin, generics.CreateAPIView): serializer_class = build.serializers.BuildOutputCompleteSerializer -class BuildOutputDelete(BuildOrderContextMixin, generics.CreateAPIView): +class BuildOutputDelete(BuildOrderContextMixin, CreateAPI): """API endpoint for deleting multiple build outputs.""" def get_serializer_context(self): @@ -295,7 +296,7 @@ class BuildOutputDelete(BuildOrderContextMixin, generics.CreateAPIView): serializer_class = build.serializers.BuildOutputDeleteSerializer -class BuildFinish(BuildOrderContextMixin, generics.CreateAPIView): +class BuildFinish(BuildOrderContextMixin, CreateAPI): """API endpoint for marking a build as finished (completed).""" queryset = Build.objects.none() @@ -303,7 +304,7 @@ class BuildFinish(BuildOrderContextMixin, generics.CreateAPIView): serializer_class = build.serializers.BuildCompleteSerializer -class BuildAutoAllocate(BuildOrderContextMixin, generics.CreateAPIView): +class BuildAutoAllocate(BuildOrderContextMixin, CreateAPI): """API endpoint for 'automatically' allocating stock against a build order. - Only looks at 'untracked' parts @@ -317,7 +318,7 @@ class BuildAutoAllocate(BuildOrderContextMixin, generics.CreateAPIView): serializer_class = build.serializers.BuildAutoAllocationSerializer -class BuildAllocate(BuildOrderContextMixin, generics.CreateAPIView): +class BuildAllocate(BuildOrderContextMixin, CreateAPI): """API endpoint to allocate stock items to a build order. - The BuildOrder object is specified by the URL @@ -333,21 +334,21 @@ class BuildAllocate(BuildOrderContextMixin, generics.CreateAPIView): serializer_class = build.serializers.BuildAllocationSerializer -class BuildCancel(BuildOrderContextMixin, generics.CreateAPIView): +class BuildCancel(BuildOrderContextMixin, CreateAPI): """API endpoint for cancelling a BuildOrder.""" queryset = Build.objects.all() serializer_class = build.serializers.BuildCancelSerializer -class BuildItemDetail(generics.RetrieveUpdateDestroyAPIView): +class BuildItemDetail(RetrieveUpdateDestroyAPI): """API endpoint for detail view of a BuildItem object.""" queryset = BuildItem.objects.all() serializer_class = build.serializers.BuildItemSerializer -class BuildItemList(generics.ListCreateAPIView): +class BuildItemList(ListCreateAPI): """API endpoint for accessing a list of BuildItem objects. - GET: Return list of objects @@ -442,7 +443,7 @@ class BuildAttachmentList(AttachmentMixin, ListCreateDestroyAPIView): ] -class BuildAttachmentDetail(AttachmentMixin, generics.RetrieveUpdateDestroyAPIView): +class BuildAttachmentDetail(AttachmentMixin, RetrieveUpdateDestroyAPI): """Detail endpoint for a BuildOrderAttachment object.""" queryset = BuildOrderAttachment.objects.all() diff --git a/InvenTree/common/api.py b/InvenTree/common/api.py index 672f341e8f..9938b89072 100644 --- a/InvenTree/common/api.py +++ b/InvenTree/common/api.py @@ -9,7 +9,7 @@ from django.views.decorators.csrf import csrf_exempt from django_filters.rest_framework import DjangoFilterBackend from django_q.tasks import async_task -from rest_framework import filters, generics, permissions, serializers +from rest_framework import filters, permissions, serializers from rest_framework.exceptions import NotAcceptable, NotFound from rest_framework.response import Response from rest_framework.views import APIView @@ -18,6 +18,8 @@ import common.models import common.serializers from InvenTree.api import BulkDeleteMixin from InvenTree.helpers import inheritors +from InvenTree.mixins import (CreateAPI, ListAPI, RetrieveAPI, + RetrieveUpdateAPI, RetrieveUpdateDestroyAPI) from plugin.models import NotificationUserSetting from plugin.serializers import NotificationUserSettingSerializer @@ -97,7 +99,7 @@ class WebhookView(CsrfExemptMixin, APIView): raise NotFound() -class SettingsList(generics.ListAPIView): +class SettingsList(ListAPI): """Generic ListView for settings. This is inheritted by all list views for settings. @@ -145,7 +147,7 @@ class GlobalSettingsPermissions(permissions.BasePermission): return False -class GlobalSettingsDetail(generics.RetrieveUpdateAPIView): +class GlobalSettingsDetail(RetrieveUpdateAPI): """Detail view for an individual "global setting" object. - User must have 'staff' status to view / edit @@ -203,7 +205,7 @@ class UserSettingsPermissions(permissions.BasePermission): return user == obj.user -class UserSettingsDetail(generics.RetrieveUpdateAPIView): +class UserSettingsDetail(RetrieveUpdateAPI): """Detail view for an individual "user setting" object. - User can only view / edit settings their own settings objects @@ -245,7 +247,7 @@ class NotificationUserSettingsList(SettingsList): return queryset -class NotificationUserSettingsDetail(generics.RetrieveUpdateAPIView): +class NotificationUserSettingsDetail(RetrieveUpdateAPI): """Detail view for an individual "notification user setting" object. - User can only view / edit settings their own settings objects @@ -259,7 +261,7 @@ class NotificationUserSettingsDetail(generics.RetrieveUpdateAPIView): ] -class NotificationList(BulkDeleteMixin, generics.ListAPIView): +class NotificationList(BulkDeleteMixin, ListAPI): """List view for all notifications of the current user.""" queryset = common.models.NotificationMessage.objects.all() @@ -310,7 +312,7 @@ class NotificationList(BulkDeleteMixin, generics.ListAPIView): return queryset -class NotificationDetail(generics.RetrieveUpdateDestroyAPIView): +class NotificationDetail(RetrieveUpdateDestroyAPI): """Detail view for an individual notification object. - User can only view / delete their own notification objects @@ -323,7 +325,7 @@ class NotificationDetail(generics.RetrieveUpdateDestroyAPIView): ] -class NotificationReadEdit(generics.CreateAPIView): +class NotificationReadEdit(CreateAPI): """General API endpoint to manipulate read state of a notification.""" queryset = common.models.NotificationMessage.objects.all() @@ -360,7 +362,7 @@ class NotificationUnread(NotificationReadEdit): target = False -class NotificationReadAll(generics.RetrieveAPIView): +class NotificationReadAll(RetrieveAPI): """API endpoint to mark all notifications as read.""" queryset = common.models.NotificationMessage.objects.all() diff --git a/InvenTree/company/api.py b/InvenTree/company/api.py index 2e8544002b..6abc432c61 100644 --- a/InvenTree/company/api.py +++ b/InvenTree/company/api.py @@ -5,10 +5,11 @@ from django.urls import include, re_path from django_filters import rest_framework as rest_filters from django_filters.rest_framework import DjangoFilterBackend -from rest_framework import filters, generics +from rest_framework import filters from InvenTree.api import AttachmentMixin, ListCreateDestroyAPIView from InvenTree.helpers import str2bool +from InvenTree.mixins import ListCreateAPI, RetrieveUpdateDestroyAPI from .models import (Company, ManufacturerPart, ManufacturerPartAttachment, ManufacturerPartParameter, SupplierPart, @@ -20,7 +21,7 @@ from .serializers import (CompanySerializer, SupplierPriceBreakSerializer) -class CompanyList(generics.ListCreateAPIView): +class CompanyList(ListCreateAPI): """API endpoint for accessing a list of Company objects. Provides two methods: @@ -67,7 +68,7 @@ class CompanyList(generics.ListCreateAPIView): ordering = 'name' -class CompanyDetail(generics.RetrieveUpdateDestroyAPIView): +class CompanyDetail(RetrieveUpdateDestroyAPI): """API endpoint for detail of a single Company object.""" queryset = Company.objects.all() @@ -146,7 +147,7 @@ class ManufacturerPartList(ListCreateDestroyAPIView): ] -class ManufacturerPartDetail(generics.RetrieveUpdateDestroyAPIView): +class ManufacturerPartDetail(RetrieveUpdateDestroyAPI): """API endpoint for detail view of ManufacturerPart object. - GET: Retrieve detail view @@ -173,7 +174,7 @@ class ManufacturerPartAttachmentList(AttachmentMixin, ListCreateDestroyAPIView): ] -class ManufacturerPartAttachmentDetail(AttachmentMixin, generics.RetrieveUpdateDestroyAPIView): +class ManufacturerPartAttachmentDetail(AttachmentMixin, RetrieveUpdateDestroyAPI): """Detail endpooint for ManufacturerPartAttachment model.""" queryset = ManufacturerPartAttachment.objects.all() @@ -246,7 +247,7 @@ class ManufacturerPartParameterList(ListCreateDestroyAPIView): ] -class ManufacturerPartParameterDetail(generics.RetrieveUpdateDestroyAPIView): +class ManufacturerPartParameterDetail(RetrieveUpdateDestroyAPI): """API endpoint for detail view of ManufacturerPartParameter model.""" queryset = ManufacturerPartParameter.objects.all() @@ -347,7 +348,7 @@ class SupplierPartList(ListCreateDestroyAPIView): ] -class SupplierPartDetail(generics.RetrieveUpdateDestroyAPIView): +class SupplierPartDetail(RetrieveUpdateDestroyAPI): """API endpoint for detail view of SupplierPart object. - GET: Retrieve detail view @@ -362,7 +363,7 @@ class SupplierPartDetail(generics.RetrieveUpdateDestroyAPIView): ] -class SupplierPriceBreakList(generics.ListCreateAPIView): +class SupplierPriceBreakList(ListCreateAPI): """API endpoint for list view of SupplierPriceBreak object. - GET: Retrieve list of SupplierPriceBreak objects @@ -381,7 +382,7 @@ class SupplierPriceBreakList(generics.ListCreateAPIView): ] -class SupplierPriceBreakDetail(generics.RetrieveUpdateDestroyAPIView): +class SupplierPriceBreakDetail(RetrieveUpdateDestroyAPI): """Detail endpoint for SupplierPriceBreak object.""" queryset = SupplierPriceBreak.objects.all() diff --git a/InvenTree/label/api.py b/InvenTree/label/api.py index 311e3fe53b..a2ce1adff7 100644 --- a/InvenTree/label/api.py +++ b/InvenTree/label/api.py @@ -6,11 +6,12 @@ from django.http import HttpResponse, JsonResponse from django.urls import include, re_path from django_filters.rest_framework import DjangoFilterBackend -from rest_framework import filters, generics +from rest_framework import filters from rest_framework.exceptions import NotFound import common.models import InvenTree.helpers +from InvenTree.mixins import ListAPI, RetrieveAPI, RetrieveUpdateDestroyAPI from InvenTree.tasks import offload_task from part.models import Part from plugin.base.label import label as plugin_label @@ -22,7 +23,7 @@ from .serializers import (PartLabelSerializer, StockItemLabelSerializer, StockLocationLabelSerializer) -class LabelListView(generics.ListAPIView): +class LabelListView(ListAPI): """Generic API class for label templates.""" filter_backends = [ @@ -275,14 +276,14 @@ class StockItemLabelList(LabelListView, StockItemLabelMixin): return queryset -class StockItemLabelDetail(generics.RetrieveUpdateDestroyAPIView): +class StockItemLabelDetail(RetrieveUpdateDestroyAPI): """API endpoint for a single StockItemLabel object.""" queryset = StockItemLabel.objects.all() serializer_class = StockItemLabelSerializer -class StockItemLabelPrint(generics.RetrieveAPIView, StockItemLabelMixin, LabelPrintMixin): +class StockItemLabelPrint(RetrieveAPI, StockItemLabelMixin, LabelPrintMixin): """API endpoint for printing a StockItemLabel object.""" queryset = StockItemLabel.objects.all() @@ -391,14 +392,14 @@ class StockLocationLabelList(LabelListView, StockLocationLabelMixin): return queryset -class StockLocationLabelDetail(generics.RetrieveUpdateDestroyAPIView): +class StockLocationLabelDetail(RetrieveUpdateDestroyAPI): """API endpoint for a single StockLocationLabel object.""" queryset = StockLocationLabel.objects.all() serializer_class = StockLocationLabelSerializer -class StockLocationLabelPrint(generics.RetrieveAPIView, StockLocationLabelMixin, LabelPrintMixin): +class StockLocationLabelPrint(RetrieveAPI, StockLocationLabelMixin, LabelPrintMixin): """API endpoint for printing a StockLocationLabel object.""" queryset = StockLocationLabel.objects.all() @@ -483,14 +484,14 @@ class PartLabelList(LabelListView, PartLabelMixin): return queryset -class PartLabelDetail(generics.RetrieveUpdateDestroyAPIView): +class PartLabelDetail(RetrieveUpdateDestroyAPI): """API endpoint for a single PartLabel object.""" queryset = PartLabel.objects.all() serializer_class = PartLabelSerializer -class PartLabelPrint(generics.RetrieveAPIView, PartLabelMixin, LabelPrintMixin): +class PartLabelPrint(RetrieveAPI, PartLabelMixin, LabelPrintMixin): """API endpoint for printing a PartLabel object.""" queryset = PartLabel.objects.all() diff --git a/InvenTree/order/api.py b/InvenTree/order/api.py index 0826b9fdb0..f90446da0d 100644 --- a/InvenTree/order/api.py +++ b/InvenTree/order/api.py @@ -4,7 +4,7 @@ from django.db.models import F, Q from django.urls import include, path, re_path from django_filters import rest_framework as rest_filters -from rest_framework import filters, generics, status +from rest_framework import filters, status from rest_framework.response import Response import order.models as models @@ -14,6 +14,8 @@ from InvenTree.api import (APIDownloadMixin, AttachmentMixin, ListCreateDestroyAPIView) from InvenTree.filters import InvenTreeOrderingFilter from InvenTree.helpers import DownloadFile, str2bool +from InvenTree.mixins import (CreateAPI, ListAPI, ListCreateAPI, + RetrieveUpdateAPI, RetrieveUpdateDestroyAPI) from InvenTree.status_codes import PurchaseOrderStatus, SalesOrderStatus from order.admin import (PurchaseOrderLineItemResource, PurchaseOrderResource, SalesOrderResource) @@ -101,7 +103,7 @@ class PurchaseOrderFilter(rest_filters.FilterSet): ] -class PurchaseOrderList(APIDownloadMixin, generics.ListCreateAPIView): +class PurchaseOrderList(APIDownloadMixin, ListCreateAPI): """API endpoint for accessing a list of PurchaseOrder objects. - GET: Return list of PurchaseOrder objects (with filters) @@ -114,7 +116,7 @@ class PurchaseOrderList(APIDownloadMixin, generics.ListCreateAPIView): def create(self, request, *args, **kwargs): """Save user information on create.""" - serializer = self.get_serializer(data=request.data) + serializer = self.get_serializer(data=self.clean_data(request.data)) serializer.is_valid(raise_exception=True) item = serializer.save() @@ -254,7 +256,7 @@ class PurchaseOrderList(APIDownloadMixin, generics.ListCreateAPIView): ordering = '-creation_date' -class PurchaseOrderDetail(generics.RetrieveUpdateDestroyAPIView): +class PurchaseOrderDetail(RetrieveUpdateDestroyAPI): """API endpoint for detail view of a PurchaseOrder object.""" queryset = models.PurchaseOrder.objects.all() @@ -304,7 +306,7 @@ class PurchaseOrderContextMixin: return context -class PurchaseOrderCancel(PurchaseOrderContextMixin, generics.CreateAPIView): +class PurchaseOrderCancel(PurchaseOrderContextMixin, CreateAPI): """API endpoint to 'cancel' a purchase order. The purchase order must be in a state which can be cancelled @@ -315,7 +317,7 @@ class PurchaseOrderCancel(PurchaseOrderContextMixin, generics.CreateAPIView): serializer_class = serializers.PurchaseOrderCancelSerializer -class PurchaseOrderComplete(PurchaseOrderContextMixin, generics.CreateAPIView): +class PurchaseOrderComplete(PurchaseOrderContextMixin, CreateAPI): """API endpoint to 'complete' a purchase order.""" queryset = models.PurchaseOrder.objects.all() @@ -323,7 +325,7 @@ class PurchaseOrderComplete(PurchaseOrderContextMixin, generics.CreateAPIView): serializer_class = serializers.PurchaseOrderCompleteSerializer -class PurchaseOrderIssue(PurchaseOrderContextMixin, generics.CreateAPIView): +class PurchaseOrderIssue(PurchaseOrderContextMixin, CreateAPI): """API endpoint to 'complete' a purchase order.""" queryset = models.PurchaseOrder.objects.all() @@ -331,7 +333,7 @@ class PurchaseOrderIssue(PurchaseOrderContextMixin, generics.CreateAPIView): serializer_class = serializers.PurchaseOrderIssueSerializer -class PurchaseOrderMetadata(generics.RetrieveUpdateAPIView): +class PurchaseOrderMetadata(RetrieveUpdateAPI): """API endpoint for viewing / updating PurchaseOrder metadata.""" def get_serializer(self, *args, **kwargs): @@ -341,7 +343,7 @@ class PurchaseOrderMetadata(generics.RetrieveUpdateAPIView): queryset = models.PurchaseOrder.objects.all() -class PurchaseOrderReceive(PurchaseOrderContextMixin, generics.CreateAPIView): +class PurchaseOrderReceive(PurchaseOrderContextMixin, CreateAPI): """API endpoint to receive stock items against a purchase order. - The purchase order is specified in the URL. @@ -405,7 +407,7 @@ class PurchaseOrderLineItemFilter(rest_filters.FilterSet): return queryset -class PurchaseOrderLineItemList(APIDownloadMixin, generics.ListCreateAPIView): +class PurchaseOrderLineItemList(APIDownloadMixin, ListCreateAPI): """API endpoint for accessing a list of PurchaseOrderLineItem objects. - GET: Return a list of PurchaseOrder Line Item objects @@ -499,7 +501,7 @@ class PurchaseOrderLineItemList(APIDownloadMixin, generics.ListCreateAPIView): ] -class PurchaseOrderLineItemDetail(generics.RetrieveUpdateDestroyAPIView): +class PurchaseOrderLineItemDetail(RetrieveUpdateDestroyAPI): """Detail API endpoint for PurchaseOrderLineItem object.""" queryset = models.PurchaseOrderLineItem.objects.all() @@ -514,14 +516,14 @@ class PurchaseOrderLineItemDetail(generics.RetrieveUpdateDestroyAPIView): return queryset -class PurchaseOrderExtraLineList(GeneralExtraLineList, generics.ListCreateAPIView): +class PurchaseOrderExtraLineList(GeneralExtraLineList, ListCreateAPI): """API endpoint for accessing a list of PurchaseOrderExtraLine objects.""" queryset = models.PurchaseOrderExtraLine.objects.all() serializer_class = serializers.PurchaseOrderExtraLineSerializer -class PurchaseOrderExtraLineDetail(generics.RetrieveUpdateDestroyAPIView): +class PurchaseOrderExtraLineDetail(RetrieveUpdateDestroyAPI): """API endpoint for detail view of a PurchaseOrderExtraLine object.""" queryset = models.PurchaseOrderExtraLine.objects.all() @@ -543,14 +545,14 @@ class SalesOrderAttachmentList(AttachmentMixin, ListCreateDestroyAPIView): ] -class SalesOrderAttachmentDetail(AttachmentMixin, generics.RetrieveUpdateDestroyAPIView): +class SalesOrderAttachmentDetail(AttachmentMixin, RetrieveUpdateDestroyAPI): """Detail endpoint for SalesOrderAttachment.""" queryset = models.SalesOrderAttachment.objects.all() serializer_class = serializers.SalesOrderAttachmentSerializer -class SalesOrderList(APIDownloadMixin, generics.ListCreateAPIView): +class SalesOrderList(APIDownloadMixin, ListCreateAPI): """API endpoint for accessing a list of SalesOrder objects. - GET: Return list of SalesOrder objects (with filters) @@ -562,7 +564,7 @@ class SalesOrderList(APIDownloadMixin, generics.ListCreateAPIView): def create(self, request, *args, **kwargs): """Save user information on create.""" - serializer = self.get_serializer(data=request.data) + serializer = self.get_serializer(data=self.clean_data(request.data)) serializer.is_valid(raise_exception=True) item = serializer.save() @@ -695,7 +697,7 @@ class SalesOrderList(APIDownloadMixin, generics.ListCreateAPIView): ordering = '-creation_date' -class SalesOrderDetail(generics.RetrieveUpdateDestroyAPIView): +class SalesOrderDetail(RetrieveUpdateDestroyAPI): """API endpoint for detail view of a SalesOrder object.""" queryset = models.SalesOrder.objects.all() @@ -754,7 +756,7 @@ class SalesOrderLineItemFilter(rest_filters.FilterSet): return queryset -class SalesOrderLineItemList(generics.ListCreateAPIView): +class SalesOrderLineItemList(ListCreateAPI): """API endpoint for accessing a list of SalesOrderLineItem objects.""" queryset = models.SalesOrderLineItem.objects.all() @@ -818,21 +820,21 @@ class SalesOrderLineItemList(generics.ListCreateAPIView): ] -class SalesOrderExtraLineList(GeneralExtraLineList, generics.ListCreateAPIView): +class SalesOrderExtraLineList(GeneralExtraLineList, ListCreateAPI): """API endpoint for accessing a list of SalesOrderExtraLine objects.""" queryset = models.SalesOrderExtraLine.objects.all() serializer_class = serializers.SalesOrderExtraLineSerializer -class SalesOrderExtraLineDetail(generics.RetrieveUpdateDestroyAPIView): +class SalesOrderExtraLineDetail(RetrieveUpdateDestroyAPI): """API endpoint for detail view of a SalesOrderExtraLine object.""" queryset = models.SalesOrderExtraLine.objects.all() serializer_class = serializers.SalesOrderExtraLineSerializer -class SalesOrderLineItemDetail(generics.RetrieveUpdateDestroyAPIView): +class SalesOrderLineItemDetail(RetrieveUpdateDestroyAPI): """API endpoint for detail view of a SalesOrderLineItem object.""" queryset = models.SalesOrderLineItem.objects.all() @@ -864,21 +866,21 @@ class SalesOrderContextMixin: return ctx -class SalesOrderCancel(SalesOrderContextMixin, generics.CreateAPIView): +class SalesOrderCancel(SalesOrderContextMixin, CreateAPI): """API endpoint to cancel a SalesOrder""" queryset = models.SalesOrder.objects.all() serializer_class = serializers.SalesOrderCancelSerializer -class SalesOrderComplete(SalesOrderContextMixin, generics.CreateAPIView): +class SalesOrderComplete(SalesOrderContextMixin, CreateAPI): """API endpoint for manually marking a SalesOrder as "complete".""" queryset = models.SalesOrder.objects.all() serializer_class = serializers.SalesOrderCompleteSerializer -class SalesOrderMetadata(generics.RetrieveUpdateAPIView): +class SalesOrderMetadata(RetrieveUpdateAPI): """API endpoint for viewing / updating SalesOrder metadata.""" def get_serializer(self, *args, **kwargs): @@ -888,14 +890,14 @@ class SalesOrderMetadata(generics.RetrieveUpdateAPIView): queryset = models.SalesOrder.objects.all() -class SalesOrderAllocateSerials(SalesOrderContextMixin, generics.CreateAPIView): +class SalesOrderAllocateSerials(SalesOrderContextMixin, CreateAPI): """API endpoint to allocation stock items against a SalesOrder, by specifying serial numbers.""" queryset = models.SalesOrder.objects.none() serializer_class = serializers.SalesOrderSerialAllocationSerializer -class SalesOrderAllocate(SalesOrderContextMixin, generics.CreateAPIView): +class SalesOrderAllocate(SalesOrderContextMixin, CreateAPI): """API endpoint to allocate stock items against a SalesOrder. - The SalesOrder is specified in the URL @@ -906,14 +908,14 @@ class SalesOrderAllocate(SalesOrderContextMixin, generics.CreateAPIView): serializer_class = serializers.SalesOrderShipmentAllocationSerializer -class SalesOrderAllocationDetail(generics.RetrieveUpdateDestroyAPIView): +class SalesOrderAllocationDetail(RetrieveUpdateDestroyAPI): """API endpoint for detali view of a SalesOrderAllocation object.""" queryset = models.SalesOrderAllocation.objects.all() serializer_class = serializers.SalesOrderAllocationSerializer -class SalesOrderAllocationList(generics.ListAPIView): +class SalesOrderAllocationList(ListAPI): """API endpoint for listing SalesOrderAllocation objects.""" queryset = models.SalesOrderAllocation.objects.all() @@ -1017,7 +1019,7 @@ class SalesOrderShipmentFilter(rest_filters.FilterSet): ] -class SalesOrderShipmentList(generics.ListCreateAPIView): +class SalesOrderShipmentList(ListCreateAPI): """API list endpoint for SalesOrderShipment model.""" queryset = models.SalesOrderShipment.objects.all() @@ -1029,14 +1031,14 @@ class SalesOrderShipmentList(generics.ListCreateAPIView): ] -class SalesOrderShipmentDetail(generics.RetrieveUpdateDestroyAPIView): +class SalesOrderShipmentDetail(RetrieveUpdateDestroyAPI): """API detail endpooint for SalesOrderShipment model.""" queryset = models.SalesOrderShipment.objects.all() serializer_class = serializers.SalesOrderShipmentSerializer -class SalesOrderShipmentComplete(generics.CreateAPIView): +class SalesOrderShipmentComplete(CreateAPI): """API endpoint for completing (shipping) a SalesOrderShipment.""" queryset = models.SalesOrderShipment.objects.all() @@ -1072,7 +1074,7 @@ class PurchaseOrderAttachmentList(AttachmentMixin, ListCreateDestroyAPIView): ] -class PurchaseOrderAttachmentDetail(AttachmentMixin, generics.RetrieveUpdateDestroyAPIView): +class PurchaseOrderAttachmentDetail(AttachmentMixin, RetrieveUpdateDestroyAPI): """Detail endpoint for a PurchaseOrderAttachment.""" queryset = models.PurchaseOrderAttachment.objects.all() diff --git a/InvenTree/part/api.py b/InvenTree/part/api.py index 7f9b0d150d..da1403da4d 100644 --- a/InvenTree/part/api.py +++ b/InvenTree/part/api.py @@ -14,7 +14,7 @@ from django_filters.rest_framework import DjangoFilterBackend from djmoney.contrib.exchange.exceptions import MissingRate from djmoney.contrib.exchange.models import convert_money from djmoney.money import Money -from rest_framework import filters, generics, serializers, status +from rest_framework import filters, serializers, status from rest_framework.exceptions import ValidationError from rest_framework.response import Response @@ -25,6 +25,9 @@ from company.models import Company, ManufacturerPart, SupplierPart from InvenTree.api import (APIDownloadMixin, AttachmentMixin, ListCreateDestroyAPIView) from InvenTree.helpers import DownloadFile, increment, isNull, str2bool +from InvenTree.mixins import (CreateAPI, ListAPI, ListCreateAPI, RetrieveAPI, + RetrieveUpdateAPI, RetrieveUpdateDestroyAPI, + UpdateAPI) from InvenTree.status_codes import (BuildStatus, PurchaseOrderStatus, SalesOrderStatus) from part.admin import PartResource @@ -39,7 +42,7 @@ from .models import (BomItem, BomItemSubstitute, Part, PartAttachment, PartTestTemplate) -class CategoryList(generics.ListCreateAPIView): +class CategoryList(ListCreateAPI): """API endpoint for accessing a list of PartCategory objects. - GET: Return a list of PartCategory objects @@ -155,7 +158,7 @@ class CategoryList(generics.ListCreateAPIView): ] -class CategoryDetail(generics.RetrieveUpdateDestroyAPIView): +class CategoryDetail(RetrieveUpdateDestroyAPI): """API endpoint for detail view of a single PartCategory object.""" serializer_class = part_serializers.CategorySerializer @@ -175,8 +178,11 @@ class CategoryDetail(generics.RetrieveUpdateDestroyAPIView): def update(self, request, *args, **kwargs): """Perform 'update' function and mark this part as 'starred' (or not)""" - if 'starred' in request.data: - starred = str2bool(request.data.get('starred', False)) + # Clean up input data + data = self.clean_data(request.data) + + if 'starred' in data: + starred = str2bool(data.get('starred', False)) self.get_object().set_starred(request.user, starred) @@ -185,7 +191,7 @@ class CategoryDetail(generics.RetrieveUpdateDestroyAPIView): return response -class CategoryMetadata(generics.RetrieveUpdateAPIView): +class CategoryMetadata(RetrieveUpdateAPI): """API endpoint for viewing / updating PartCategory metadata.""" def get_serializer(self, *args, **kwargs): @@ -195,7 +201,7 @@ class CategoryMetadata(generics.RetrieveUpdateAPIView): queryset = PartCategory.objects.all() -class CategoryParameterList(generics.ListCreateAPIView): +class CategoryParameterList(ListCreateAPI): """API endpoint for accessing a list of PartCategoryParameterTemplate objects. - GET: Return a list of PartCategoryParameterTemplate objects @@ -236,14 +242,14 @@ class CategoryParameterList(generics.ListCreateAPIView): return queryset -class CategoryParameterDetail(generics.RetrieveUpdateDestroyAPIView): +class CategoryParameterDetail(RetrieveUpdateDestroyAPI): """Detail endpoint fro the PartCategoryParameterTemplate model""" queryset = PartCategoryParameterTemplate.objects.all() serializer_class = part_serializers.CategoryParameterTemplateSerializer -class CategoryTree(generics.ListAPIView): +class CategoryTree(ListAPI): """API endpoint for accessing a list of PartCategory objects ready for rendering a tree.""" queryset = PartCategory.objects.all() @@ -258,14 +264,14 @@ class CategoryTree(generics.ListAPIView): ordering = ['level', 'name'] -class PartSalePriceDetail(generics.RetrieveUpdateDestroyAPIView): +class PartSalePriceDetail(RetrieveUpdateDestroyAPI): """Detail endpoint for PartSellPriceBreak model.""" queryset = PartSellPriceBreak.objects.all() serializer_class = part_serializers.PartSalePriceSerializer -class PartSalePriceList(generics.ListCreateAPIView): +class PartSalePriceList(ListCreateAPI): """API endpoint for list view of PartSalePriceBreak model.""" queryset = PartSellPriceBreak.objects.all() @@ -280,14 +286,14 @@ class PartSalePriceList(generics.ListCreateAPIView): ] -class PartInternalPriceDetail(generics.RetrieveUpdateDestroyAPIView): +class PartInternalPriceDetail(RetrieveUpdateDestroyAPI): """Detail endpoint for PartInternalPriceBreak model.""" queryset = PartInternalPriceBreak.objects.all() serializer_class = part_serializers.PartInternalPriceSerializer -class PartInternalPriceList(generics.ListCreateAPIView): +class PartInternalPriceList(ListCreateAPI): """API endpoint for list view of PartInternalPriceBreak model.""" queryset = PartInternalPriceBreak.objects.all() @@ -318,21 +324,21 @@ class PartAttachmentList(AttachmentMixin, ListCreateDestroyAPIView): ] -class PartAttachmentDetail(AttachmentMixin, generics.RetrieveUpdateDestroyAPIView): +class PartAttachmentDetail(AttachmentMixin, RetrieveUpdateDestroyAPI): """Detail endpoint for PartAttachment model.""" queryset = PartAttachment.objects.all() serializer_class = part_serializers.PartAttachmentSerializer -class PartTestTemplateDetail(generics.RetrieveUpdateDestroyAPIView): +class PartTestTemplateDetail(RetrieveUpdateDestroyAPI): """Detail endpoint for PartTestTemplate model.""" queryset = PartTestTemplate.objects.all() serializer_class = part_serializers.PartTestTemplateSerializer -class PartTestTemplateList(generics.ListCreateAPIView): +class PartTestTemplateList(ListCreateAPI): """API endpoint for listing (and creating) a PartTestTemplate.""" queryset = PartTestTemplate.objects.all() @@ -372,7 +378,7 @@ class PartTestTemplateList(generics.ListCreateAPIView): ] -class PartThumbs(generics.ListAPIView): +class PartThumbs(ListAPI): """API endpoint for retrieving information on available Part thumbnails.""" queryset = Part.objects.all() @@ -415,7 +421,7 @@ class PartThumbs(generics.ListAPIView): ] -class PartThumbsUpdate(generics.RetrieveUpdateAPIView): +class PartThumbsUpdate(RetrieveUpdateAPI): """API endpoint for updating Part thumbnails.""" queryset = Part.objects.all() @@ -426,7 +432,7 @@ class PartThumbsUpdate(generics.RetrieveUpdateAPIView): ] -class PartScheduling(generics.RetrieveAPIView): +class PartScheduling(RetrieveAPI): """API endpoint for delivering "scheduling" information about a given part via the API. Returns a chronologically ordered list about future "scheduled" events, @@ -560,7 +566,7 @@ class PartScheduling(generics.RetrieveAPIView): return Response(schedule) -class PartMetadata(generics.RetrieveUpdateAPIView): +class PartMetadata(RetrieveUpdateAPI): """API endpoint for viewing / updating Part metadata.""" def get_serializer(self, *args, **kwargs): @@ -570,7 +576,7 @@ class PartMetadata(generics.RetrieveUpdateAPIView): queryset = Part.objects.all() -class PartSerialNumberDetail(generics.RetrieveAPIView): +class PartSerialNumberDetail(RetrieveAPI): """API endpoint for returning extra serial number information about a particular part.""" queryset = Part.objects.all() @@ -595,7 +601,7 @@ class PartSerialNumberDetail(generics.RetrieveAPIView): return Response(data) -class PartCopyBOM(generics.CreateAPIView): +class PartCopyBOM(CreateAPI): """API endpoint for duplicating a BOM.""" queryset = Part.objects.all() @@ -613,7 +619,7 @@ class PartCopyBOM(generics.CreateAPIView): return ctx -class PartValidateBOM(generics.RetrieveUpdateAPIView): +class PartValidateBOM(RetrieveUpdateAPI): """API endpoint for 'validating' the BOM for a given Part.""" class BOMValidateSerializer(serializers.ModelSerializer): @@ -654,7 +660,10 @@ class PartValidateBOM(generics.RetrieveUpdateAPIView): partial = kwargs.pop('partial', False) - serializer = self.get_serializer(part, data=request.data, partial=partial) + # Clean up input data before using it + data = self.clean_data(request.data) + + serializer = self.get_serializer(part, data=data, partial=partial) serializer.is_valid(raise_exception=True) part.validate_bom(request.user) @@ -664,7 +673,7 @@ class PartValidateBOM(generics.RetrieveUpdateAPIView): }) -class PartDetail(generics.RetrieveUpdateDestroyAPIView): +class PartDetail(RetrieveUpdateDestroyAPI): """API endpoint for detail view of a single Part object.""" queryset = Part.objects.all() @@ -721,8 +730,11 @@ class PartDetail(generics.RetrieveUpdateDestroyAPIView): - If the 'starred' field is provided, update the 'starred' status against current user """ - if 'starred' in request.data: - starred = str2bool(request.data.get('starred', False)) + # Clean input data + data = self.clean_data(request.data) + + if 'starred' in data: + starred = str2bool(data.get('starred', False)) self.get_object().set_starred(request.user, starred) @@ -874,7 +886,7 @@ class PartFilter(rest_filters.FilterSet): virtual = rest_filters.BooleanFilter() -class PartList(APIDownloadMixin, generics.ListCreateAPIView): +class PartList(APIDownloadMixin, ListCreateAPI): """API endpoint for accessing a list of Part objects. - GET: Return list of objects @@ -1003,7 +1015,10 @@ class PartList(APIDownloadMixin, generics.ListCreateAPIView): """ # TODO: Unit tests for this function! - serializer = self.get_serializer(data=request.data) + # Clean up input data + data = self.clean_data(request.data) + + serializer = self.get_serializer(data=data) serializer.is_valid(raise_exception=True) part = serializer.save() @@ -1011,23 +1026,23 @@ class PartList(APIDownloadMixin, generics.ListCreateAPIView): # Optionally copy templates from category or parent category copy_templates = { - 'main': str2bool(request.data.get('copy_category_templates', False)), - 'parent': str2bool(request.data.get('copy_parent_templates', False)) + 'main': str2bool(data.get('copy_category_templates', False)), + 'parent': str2bool(data.get('copy_parent_templates', False)) } part.save(**{'add_category_templates': copy_templates}) # Optionally copy data from another part (e.g. when duplicating) - copy_from = request.data.get('copy_from', None) + copy_from = data.get('copy_from', None) if copy_from is not None: try: original = Part.objects.get(pk=copy_from) - copy_bom = str2bool(request.data.get('copy_bom', False)) - copy_parameters = str2bool(request.data.get('copy_parameters', False)) - copy_image = str2bool(request.data.get('copy_image', True)) + copy_bom = str2bool(data.get('copy_bom', False)) + copy_parameters = str2bool(data.get('copy_parameters', False)) + copy_image = str2bool(data.get('copy_image', True)) # Copy image? if copy_image: @@ -1046,12 +1061,12 @@ class PartList(APIDownloadMixin, generics.ListCreateAPIView): pass # Optionally create initial stock item - initial_stock = str2bool(request.data.get('initial_stock', False)) + initial_stock = str2bool(data.get('initial_stock', False)) if initial_stock: try: - initial_stock_quantity = Decimal(request.data.get('initial_stock_quantity', '')) + initial_stock_quantity = Decimal(data.get('initial_stock_quantity', '')) if initial_stock_quantity <= 0: raise ValidationError({ @@ -1062,7 +1077,7 @@ class PartList(APIDownloadMixin, generics.ListCreateAPIView): 'initial_stock_quantity': [_('Must be a valid quantity')], }) - initial_stock_location = request.data.get('initial_stock_location', None) + initial_stock_location = data.get('initial_stock_location', None) try: initial_stock_location = StockLocation.objects.get(pk=initial_stock_location) @@ -1086,20 +1101,20 @@ class PartList(APIDownloadMixin, generics.ListCreateAPIView): stock_item.save(user=request.user) # Optionally add manufacturer / supplier data to the part - if part.purchaseable and str2bool(request.data.get('add_supplier_info', False)): + if part.purchaseable and str2bool(data.get('add_supplier_info', False)): try: - manufacturer = Company.objects.get(pk=request.data.get('manufacturer', None)) + manufacturer = Company.objects.get(pk=data.get('manufacturer', None)) except Exception: manufacturer = None try: - supplier = Company.objects.get(pk=request.data.get('supplier', None)) + supplier = Company.objects.get(pk=data.get('supplier', None)) except Exception: supplier = None - mpn = str(request.data.get('MPN', '')).strip() - sku = str(request.data.get('SKU', '')).strip() + mpn = str(data.get('MPN', '')).strip() + sku = str(data.get('SKU', '')).strip() # Construct a manufacturer part if manufacturer or mpn: @@ -1347,7 +1362,7 @@ class PartList(APIDownloadMixin, generics.ListCreateAPIView): ] -class PartRelatedList(generics.ListCreateAPIView): +class PartRelatedList(ListCreateAPI): """API endpoint for accessing a list of PartRelated objects.""" queryset = PartRelated.objects.all() @@ -1374,14 +1389,14 @@ class PartRelatedList(generics.ListCreateAPIView): return queryset -class PartRelatedDetail(generics.RetrieveUpdateDestroyAPIView): +class PartRelatedDetail(RetrieveUpdateDestroyAPI): """API endpoint for accessing detail view of a PartRelated object.""" queryset = PartRelated.objects.all() serializer_class = part_serializers.PartRelationSerializer -class PartParameterTemplateList(generics.ListCreateAPIView): +class PartParameterTemplateList(ListCreateAPI): """API endpoint for accessing a list of PartParameterTemplate objects. - GET: Return list of PartParameterTemplate objects @@ -1441,14 +1456,14 @@ class PartParameterTemplateList(generics.ListCreateAPIView): return queryset -class PartParameterTemplateDetail(generics.RetrieveUpdateDestroyAPIView): +class PartParameterTemplateDetail(RetrieveUpdateDestroyAPI): """API endpoint for accessing the detail view for a PartParameterTemplate object""" queryset = PartParameterTemplate.objects.all() serializer_class = part_serializers.PartParameterTemplateSerializer -class PartParameterList(generics.ListCreateAPIView): +class PartParameterList(ListCreateAPI): """API endpoint for accessing a list of PartParameter objects. - GET: Return list of PartParameter objects @@ -1468,7 +1483,7 @@ class PartParameterList(generics.ListCreateAPIView): ] -class PartParameterDetail(generics.RetrieveUpdateDestroyAPIView): +class PartParameterDetail(RetrieveUpdateDestroyAPI): """API endpoint for detail view of a single PartParameter object.""" queryset = PartParameter.objects.all() @@ -1747,7 +1762,7 @@ class BomList(ListCreateDestroyAPIView): ] -class BomImportUpload(generics.CreateAPIView): +class BomImportUpload(CreateAPI): """API endpoint for uploading a complete Bill of Materials. It is assumed that the BOM has been extracted from a file using the BomExtract endpoint. @@ -1758,7 +1773,10 @@ class BomImportUpload(generics.CreateAPIView): def create(self, request, *args, **kwargs): """Custom create function to return the extracted data.""" - serializer = self.get_serializer(data=request.data) + # Clean up input data + data = self.clean_data(request.data) + + serializer = self.get_serializer(data=data) serializer.is_valid(raise_exception=True) self.perform_create(serializer) headers = self.get_success_headers(serializer.data) @@ -1768,21 +1786,21 @@ class BomImportUpload(generics.CreateAPIView): return Response(data, status=status.HTTP_201_CREATED, headers=headers) -class BomImportExtract(generics.CreateAPIView): +class BomImportExtract(CreateAPI): """API endpoint for extracting BOM data from a BOM file.""" queryset = Part.objects.none() serializer_class = part_serializers.BomImportExtractSerializer -class BomImportSubmit(generics.CreateAPIView): +class BomImportSubmit(CreateAPI): """API endpoint for submitting BOM data from a BOM file.""" queryset = BomItem.objects.none() serializer_class = part_serializers.BomImportSubmitSerializer -class BomDetail(generics.RetrieveUpdateDestroyAPIView): +class BomDetail(RetrieveUpdateDestroyAPI): """API endpoint for detail view of a single BomItem object.""" queryset = BomItem.objects.all() @@ -1798,7 +1816,7 @@ class BomDetail(generics.RetrieveUpdateDestroyAPIView): return queryset -class BomItemValidate(generics.UpdateAPIView): +class BomItemValidate(UpdateAPI): """API endpoint for validating a BomItem.""" class BomItemValidationSerializer(serializers.Serializer): @@ -1812,11 +1830,13 @@ class BomItemValidate(generics.UpdateAPIView): """Perform update request.""" partial = kwargs.pop('partial', False) - valid = request.data.get('valid', False) + # Clean up input data + data = self.clean_data(request.data) + valid = data.get('valid', False) instance = self.get_object() - serializer = self.get_serializer(instance, data=request.data, partial=partial) + serializer = self.get_serializer(instance, data=data, partial=partial) serializer.is_valid(raise_exception=True) if type(instance) == BomItem: @@ -1825,7 +1845,7 @@ class BomItemValidate(generics.UpdateAPIView): return Response(serializer.data) -class BomItemSubstituteList(generics.ListCreateAPIView): +class BomItemSubstituteList(ListCreateAPI): """API endpoint for accessing a list of BomItemSubstitute objects.""" serializer_class = part_serializers.BomItemSubstituteSerializer @@ -1843,7 +1863,7 @@ class BomItemSubstituteList(generics.ListCreateAPIView): ] -class BomItemSubstituteDetail(generics.RetrieveUpdateDestroyAPIView): +class BomItemSubstituteDetail(RetrieveUpdateDestroyAPI): """API endpoint for detail view of a single BomItemSubstitute object.""" queryset = BomItemSubstitute.objects.all() diff --git a/InvenTree/plugin/api.py b/InvenTree/plugin/api.py index 91e3fa51ec..e043da189a 100644 --- a/InvenTree/plugin/api.py +++ b/InvenTree/plugin/api.py @@ -4,12 +4,14 @@ from django.conf import settings from django.urls import include, re_path from django_filters.rest_framework import DjangoFilterBackend -from rest_framework import filters, generics, permissions, status +from rest_framework import filters, permissions, status from rest_framework.exceptions import NotFound from rest_framework.response import Response import plugin.serializers as PluginSerializers from common.api import GlobalSettingsPermissions +from InvenTree.mixins import (CreateAPI, ListAPI, RetrieveUpdateAPI, + RetrieveUpdateDestroyAPI) from plugin.base.action.api import ActionPluginView from plugin.base.barcodes.api import barcode_api_urls from plugin.base.locate.api import LocatePluginView @@ -17,7 +19,7 @@ from plugin.models import PluginConfig, PluginSetting from plugin.registry import registry -class PluginList(generics.ListAPIView): +class PluginList(ListAPI): """API endpoint for list of PluginConfig objects. - GET: Return a list of all PluginConfig objects @@ -80,7 +82,7 @@ class PluginList(generics.ListAPIView): ] -class PluginDetail(generics.RetrieveUpdateDestroyAPIView): +class PluginDetail(RetrieveUpdateDestroyAPI): """API detail endpoint for PluginConfig object. get: @@ -97,7 +99,7 @@ class PluginDetail(generics.RetrieveUpdateDestroyAPIView): serializer_class = PluginSerializers.PluginConfigSerializer -class PluginInstall(generics.CreateAPIView): +class PluginInstall(CreateAPI): """Endpoint for installing a new plugin.""" queryset = PluginConfig.objects.none() @@ -105,7 +107,10 @@ class PluginInstall(generics.CreateAPIView): def create(self, request, *args, **kwargs): """Install a plugin via the API""" - serializer = self.get_serializer(data=request.data) + # Clean up input data + data = self.clean_data(request.data) + + serializer = self.get_serializer(data=data) serializer.is_valid(raise_exception=True) result = self.perform_create(serializer) result['input'] = serializer.data @@ -117,7 +122,7 @@ class PluginInstall(generics.CreateAPIView): return serializer.save() -class PluginSettingList(generics.ListAPIView): +class PluginSettingList(ListAPI): """List endpoint for all plugin related settings. - read only @@ -141,7 +146,7 @@ class PluginSettingList(generics.ListAPIView): ] -class PluginSettingDetail(generics.RetrieveUpdateAPIView): +class PluginSettingDetail(RetrieveUpdateAPI): """Detail endpoint for a plugin-specific setting. Note that these cannot be created or deleted via the API diff --git a/InvenTree/report/api.py b/InvenTree/report/api.py index d8721eb7d7..f27f3d9f18 100644 --- a/InvenTree/report/api.py +++ b/InvenTree/report/api.py @@ -8,7 +8,7 @@ from django.urls import include, path, re_path from django.utils.translation import gettext_lazy as _ from django_filters.rest_framework import DjangoFilterBackend -from rest_framework import filters, generics +from rest_framework import filters from rest_framework.response import Response import build.models @@ -16,6 +16,7 @@ import common.models import InvenTree.helpers import order.models import part.models +from InvenTree.mixins import ListAPI, RetrieveAPI, RetrieveUpdateDestroyAPI from stock.models import StockItem, StockItemAttachment from .models import (BillOfMaterialsReport, BuildReport, PurchaseOrderReport, @@ -25,7 +26,7 @@ from .serializers import (BOMReportSerializer, BuildReportSerializer, SalesOrderReportSerializer, TestReportSerializer) -class ReportListView(generics.ListAPIView): +class ReportListView(ListAPI): """Generic API class for report templates.""" filter_backends = [ @@ -330,14 +331,14 @@ class StockItemTestReportList(ReportListView, StockItemReportMixin): return queryset -class StockItemTestReportDetail(generics.RetrieveUpdateDestroyAPIView): +class StockItemTestReportDetail(RetrieveUpdateDestroyAPI): """API endpoint for a single TestReport object.""" queryset = TestReport.objects.all() serializer_class = TestReportSerializer -class StockItemTestReportPrint(generics.RetrieveAPIView, StockItemReportMixin, ReportPrintMixin): +class StockItemTestReportPrint(RetrieveAPI, StockItemReportMixin, ReportPrintMixin): """API endpoint for printing a TestReport object.""" queryset = TestReport.objects.all() @@ -427,14 +428,14 @@ class BOMReportList(ReportListView, PartReportMixin): return queryset -class BOMReportDetail(generics.RetrieveUpdateDestroyAPIView): +class BOMReportDetail(RetrieveUpdateDestroyAPI): """API endpoint for a single BillOfMaterialReport object.""" queryset = BillOfMaterialsReport.objects.all() serializer_class = BOMReportSerializer -class BOMReportPrint(generics.RetrieveAPIView, PartReportMixin, ReportPrintMixin): +class BOMReportPrint(RetrieveAPI, PartReportMixin, ReportPrintMixin): """API endpoint for printing a BillOfMaterialReport object.""" queryset = BillOfMaterialsReport.objects.all() @@ -509,14 +510,14 @@ class BuildReportList(ReportListView, BuildReportMixin): return queryset -class BuildReportDetail(generics.RetrieveUpdateDestroyAPIView): +class BuildReportDetail(RetrieveUpdateDestroyAPI): """API endpoint for a single BuildReport object.""" queryset = BuildReport.objects.all() serializer_class = BuildReportSerializer -class BuildReportPrint(generics.RetrieveAPIView, BuildReportMixin, ReportPrintMixin): +class BuildReportPrint(RetrieveAPI, BuildReportMixin, ReportPrintMixin): """API endpoint for printing a BuildReport.""" queryset = BuildReport.objects.all() @@ -586,14 +587,14 @@ class PurchaseOrderReportList(ReportListView, OrderReportMixin): return queryset -class PurchaseOrderReportDetail(generics.RetrieveUpdateDestroyAPIView): +class PurchaseOrderReportDetail(RetrieveUpdateDestroyAPI): """API endpoint for a single PurchaseOrderReport object.""" queryset = PurchaseOrderReport.objects.all() serializer_class = PurchaseOrderReportSerializer -class PurchaseOrderReportPrint(generics.RetrieveAPIView, OrderReportMixin, ReportPrintMixin): +class PurchaseOrderReportPrint(RetrieveAPI, OrderReportMixin, ReportPrintMixin): """API endpoint for printing a PurchaseOrderReport object.""" OrderModel = order.models.PurchaseOrder @@ -665,14 +666,14 @@ class SalesOrderReportList(ReportListView, OrderReportMixin): return queryset -class SalesOrderReportDetail(generics.RetrieveUpdateDestroyAPIView): +class SalesOrderReportDetail(RetrieveUpdateDestroyAPI): """API endpoint for a single SalesOrderReport object.""" queryset = SalesOrderReport.objects.all() serializer_class = SalesOrderReportSerializer -class SalesOrderReportPrint(generics.RetrieveAPIView, OrderReportMixin, ReportPrintMixin): +class SalesOrderReportPrint(RetrieveAPI, OrderReportMixin, ReportPrintMixin): """API endpoint for printing a PurchaseOrderReport object.""" OrderModel = order.models.SalesOrder diff --git a/InvenTree/stock/api.py b/InvenTree/stock/api.py index e3fe14d6b4..da8e2b087b 100644 --- a/InvenTree/stock/api.py +++ b/InvenTree/stock/api.py @@ -12,7 +12,7 @@ from django.utils.translation import gettext_lazy as _ from django_filters import rest_framework as rest_filters from django_filters.rest_framework import DjangoFilterBackend -from rest_framework import filters, generics, status +from rest_framework import filters, status from rest_framework.response import Response from rest_framework.serializers import ValidationError @@ -27,6 +27,8 @@ from InvenTree.api import (APIDownloadMixin, AttachmentMixin, from InvenTree.filters import InvenTreeOrderingFilter from InvenTree.helpers import (DownloadFile, extract_serial_numbers, isNull, str2bool) +from InvenTree.mixins import (CreateAPI, ListAPI, ListCreateAPI, RetrieveAPI, + RetrieveUpdateAPI, RetrieveUpdateDestroyAPI) from order.models import PurchaseOrder, SalesOrder, SalesOrderAllocation from order.serializers import PurchaseOrderSerializer from part.models import BomItem, Part, PartCategory @@ -37,7 +39,7 @@ from stock.models import (StockItem, StockItemAttachment, StockItemTestResult, StockItemTracking, StockLocation) -class StockDetail(generics.RetrieveUpdateDestroyAPIView): +class StockDetail(RetrieveUpdateDestroyAPI): """API detail endpoint for Stock object. get: @@ -78,7 +80,7 @@ class StockDetail(generics.RetrieveUpdateDestroyAPIView): return self.serializer_class(*args, **kwargs) -class StockMetadata(generics.RetrieveUpdateAPIView): +class StockMetadata(RetrieveUpdateAPI): """API endpoint for viewing / updating StockItem metadata.""" def get_serializer(self, *args, **kwargs): @@ -106,13 +108,13 @@ class StockItemContextMixin: return context -class StockItemSerialize(StockItemContextMixin, generics.CreateAPIView): +class StockItemSerialize(StockItemContextMixin, CreateAPI): """API endpoint for serializing a stock item.""" serializer_class = StockSerializers.SerializeStockItemSerializer -class StockItemInstall(StockItemContextMixin, generics.CreateAPIView): +class StockItemInstall(StockItemContextMixin, CreateAPI): """API endpoint for installing a particular stock item into this stock item. - stock_item.part must be in the BOM for this part @@ -123,25 +125,25 @@ class StockItemInstall(StockItemContextMixin, generics.CreateAPIView): serializer_class = StockSerializers.InstallStockItemSerializer -class StockItemUninstall(StockItemContextMixin, generics.CreateAPIView): +class StockItemUninstall(StockItemContextMixin, CreateAPI): """API endpoint for removing (uninstalling) items from this item.""" serializer_class = StockSerializers.UninstallStockItemSerializer -class StockItemConvert(StockItemContextMixin, generics.CreateAPIView): +class StockItemConvert(StockItemContextMixin, CreateAPI): """API endpoint for converting a stock item to a variant part""" serializer_class = StockSerializers.ConvertStockItemSerializer -class StockItemReturn(StockItemContextMixin, generics.CreateAPIView): +class StockItemReturn(StockItemContextMixin, CreateAPI): """API endpoint for returning a stock item from a customer""" serializer_class = StockSerializers.ReturnStockItemSerializer -class StockAdjustView(generics.CreateAPIView): +class StockAdjustView(CreateAPI): """A generic class for handling stocktake actions. Subclasses exist for: @@ -186,7 +188,7 @@ class StockTransfer(StockAdjustView): serializer_class = StockSerializers.StockTransferSerializer -class StockAssign(generics.CreateAPIView): +class StockAssign(CreateAPI): """API endpoint for assigning stock to a particular customer.""" queryset = StockItem.objects.all() @@ -200,7 +202,7 @@ class StockAssign(generics.CreateAPIView): return ctx -class StockMerge(generics.CreateAPIView): +class StockMerge(CreateAPI): """API endpoint for merging multiple stock items.""" queryset = StockItem.objects.none() @@ -213,7 +215,7 @@ class StockMerge(generics.CreateAPIView): return ctx -class StockLocationList(generics.ListCreateAPIView): +class StockLocationList(ListCreateAPI): """API endpoint for list view of StockLocation objects. - GET: Return list of StockLocation objects @@ -305,7 +307,7 @@ class StockLocationList(generics.ListCreateAPIView): ] -class StockLocationTree(generics.ListAPIView): +class StockLocationTree(ListAPI): """API endpoint for accessing a list of StockLocation objects, ready for rendering as a tree.""" queryset = StockLocation.objects.all() @@ -502,7 +504,8 @@ class StockList(APIDownloadMixin, ListCreateDestroyAPIView): # Copy the request data, to side-step "mutability" issues data = OrderedDict() - data.update(request.data) + # Update with cleaned input data + data.update(self.clean_data(request.data)) quantity = data.get('quantity', None) @@ -1067,14 +1070,14 @@ class StockAttachmentList(AttachmentMixin, ListCreateDestroyAPIView): ] -class StockAttachmentDetail(AttachmentMixin, generics.RetrieveUpdateDestroyAPIView): +class StockAttachmentDetail(AttachmentMixin, RetrieveUpdateDestroyAPI): """Detail endpoint for StockItemAttachment.""" queryset = StockItemAttachment.objects.all() serializer_class = StockSerializers.StockItemAttachmentSerializer -class StockItemTestResultDetail(generics.RetrieveUpdateDestroyAPIView): +class StockItemTestResultDetail(RetrieveUpdateDestroyAPI): """Detail endpoint for StockItemTestResult.""" queryset = StockItemTestResult.objects.all() @@ -1170,14 +1173,14 @@ class StockItemTestResultList(ListCreateDestroyAPIView): test_result.save() -class StockTrackingDetail(generics.RetrieveAPIView): +class StockTrackingDetail(RetrieveAPI): """Detail API endpoint for StockItemTracking model.""" queryset = StockItemTracking.objects.all() serializer_class = StockSerializers.StockTrackingSerializer -class StockTrackingList(generics.ListAPIView): +class StockTrackingList(ListAPI): """API endpoint for list view of StockItemTracking objects. StockItemTracking objects are read-only @@ -1276,7 +1279,10 @@ class StockTrackingList(generics.ListAPIView): Here we override the default 'create' implementation, to save the user information associated with the request object. """ - serializer = self.get_serializer(data=request.data) + # Clean up input data + data = self.clean_data(request.data) + + serializer = self.get_serializer(data=data) serializer.is_valid(raise_exception=True) # Record the user who created this Part object @@ -1314,7 +1320,7 @@ class StockTrackingList(generics.ListAPIView): ] -class LocationMetadata(generics.RetrieveUpdateAPIView): +class LocationMetadata(RetrieveUpdateAPI): """API endpoint for viewing / updating StockLocation metadata.""" def get_serializer(self, *args, **kwargs): @@ -1324,7 +1330,7 @@ class LocationMetadata(generics.RetrieveUpdateAPIView): queryset = StockLocation.objects.all() -class LocationDetail(generics.RetrieveUpdateDestroyAPIView): +class LocationDetail(RetrieveUpdateDestroyAPI): """API endpoint for detail view of StockLocation object. - GET: Return a single StockLocation object diff --git a/InvenTree/users/api.py b/InvenTree/users/api.py index 11267e4d8f..db6a629b77 100644 --- a/InvenTree/users/api.py +++ b/InvenTree/users/api.py @@ -5,17 +5,18 @@ from django.core.exceptions import ObjectDoesNotExist from django.urls import include, path, re_path from django_filters.rest_framework import DjangoFilterBackend -from rest_framework import filters, generics, permissions, status +from rest_framework import filters, permissions, status from rest_framework.authtoken.models import Token from rest_framework.response import Response from rest_framework.views import APIView +from InvenTree.mixins import ListAPI, RetrieveAPI from InvenTree.serializers import UserSerializer from users.models import Owner, RuleSet, check_user_role from users.serializers import OwnerSerializer -class OwnerList(generics.ListAPIView): +class OwnerList(ListAPI): """List API endpoint for Owner model. Cannot create. @@ -54,7 +55,7 @@ class OwnerList(generics.ListAPIView): return results -class OwnerDetail(generics.RetrieveAPIView): +class OwnerDetail(RetrieveAPI): """Detail API endpoint for Owner model. Cannot edit or delete @@ -107,7 +108,7 @@ class RoleDetails(APIView): return Response(data) -class UserDetail(generics.RetrieveAPIView): +class UserDetail(RetrieveAPI): """Detail endpoint for a single user.""" queryset = User.objects.all() @@ -115,7 +116,7 @@ class UserDetail(generics.RetrieveAPIView): permission_classes = (permissions.IsAuthenticated,) -class UserList(generics.ListAPIView): +class UserList(ListAPI): """List endpoint for detail on all users.""" queryset = User.objects.all() From 9bd62f986f7ebe8d01562982b679e51069b7d20e Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 16 Jun 2022 10:57:28 +1000 Subject: [PATCH 3/8] Sanitize data before displaying in markdown editor (#3205) * Sanitize data before displaying in markdown editor * Use the sanitize option provided by easymde * Spelling fix --- InvenTree/InvenTree/mixins.py | 2 +- InvenTree/templates/js/translated/helpers.js | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/InvenTree/InvenTree/mixins.py b/InvenTree/InvenTree/mixins.py index 59347b60eb..584b3ac5ed 100644 --- a/InvenTree/InvenTree/mixins.py +++ b/InvenTree/InvenTree/mixins.py @@ -35,7 +35,7 @@ class CleanMixin(): return Response(serializer.data) def clean_data(self, data: dict) -> dict: - """Clean / snatize data. + """Clean / sanitize data. This uses mozillas bleach under the hood to disable certain html tags by encoding them - this leads to script tags etc. to not work. diff --git a/InvenTree/templates/js/translated/helpers.js b/InvenTree/templates/js/translated/helpers.js index ddd3678e3b..67a6ccae7f 100644 --- a/InvenTree/templates/js/translated/helpers.js +++ b/InvenTree/templates/js/translated/helpers.js @@ -274,6 +274,11 @@ function setupNotesField(element, url, options={}) { initialValue: initial, toolbar: toolbar_icons, shortcuts: [], + renderingConfig: { + markedOptions: { + sanitize: true, + } + } }); From d84b67ddf4b423d82862ff9a4c7b1c2d1474342a Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 16 Jun 2022 14:49:17 +1000 Subject: [PATCH 4/8] Label dpi config (#3208) * Updates for label printing settings: - Make LABEL_ENABLE a global setting - Add LABEL_DPI setting (default = 300) - Add new global settings tab * Use the configured DPI when printing labels --- InvenTree/common/models.py | 23 ++++++++++++++----- InvenTree/plugin/base/label/label.py | 4 +++- .../templates/InvenTree/settings/label.html | 20 ++++++++++++++++ .../InvenTree/settings/settings.html | 1 + .../templates/InvenTree/settings/sidebar.html | 2 ++ .../InvenTree/settings/user_labels.html | 1 - InvenTree/templates/base.html | 2 +- 7 files changed, 44 insertions(+), 9 deletions(-) create mode 100644 InvenTree/templates/InvenTree/settings/label.html diff --git a/InvenTree/common/models.py b/InvenTree/common/models.py index e47ad56783..22015676e9 100644 --- a/InvenTree/common/models.py +++ b/InvenTree/common/models.py @@ -1008,6 +1008,23 @@ class InvenTreeSetting(BaseInvenTreeSetting): 'validator': InvenTree.validators.validate_part_name_format }, + 'LABEL_ENABLE': { + 'name': _('Enable label printing'), + 'description': _('Enable label printing from the web interface'), + 'default': True, + 'validator': bool, + }, + + 'LABEL_DPI': { + 'name': _('Label Image DPI'), + 'description': _('DPI resolution when generating image files to supply to label printing plugins'), + 'default': 300, + 'validator': [ + int, + MinValueValidator(100), + ] + }, + 'REPORT_ENABLE': { 'name': _('Enable Reports'), 'description': _('Enable generation of reports'), @@ -1389,12 +1406,6 @@ class InvenTreeUserSetting(BaseInvenTreeSetting): 'default': True, 'validator': bool, }, - 'LABEL_ENABLE': { - 'name': _('Enable label printing'), - 'description': _('Enable label printing from the web interface'), - 'default': True, - 'validator': bool, - }, "LABEL_INLINE": { 'name': _('Inline label display'), diff --git a/InvenTree/plugin/base/label/label.py b/InvenTree/plugin/base/label/label.py index 5baf0ec872..cc0ccadef5 100644 --- a/InvenTree/plugin/base/label/label.py +++ b/InvenTree/plugin/base/label/label.py @@ -8,6 +8,7 @@ from django.utils.translation import gettext_lazy as _ import pdf2image import common.notifications +from common.models import InvenTreeSetting from InvenTree.exceptions import log_error from plugin.registry import registry @@ -36,9 +37,10 @@ def print_label(plugin_slug: str, pdf_data, filename=None, label_instance=None, return # In addition to providing a .pdf image, we'll also provide a .png file + dpi = InvenTreeSetting.get_setting('LABEL_DPI', 300) png_file = pdf2image.convert_from_bytes( pdf_data, - dpi=300, + dpi=dpi, )[0] try: diff --git a/InvenTree/templates/InvenTree/settings/label.html b/InvenTree/templates/InvenTree/settings/label.html new file mode 100644 index 0000000000..7d7dd8a5eb --- /dev/null +++ b/InvenTree/templates/InvenTree/settings/label.html @@ -0,0 +1,20 @@ +{% extends "panel.html" %} +{% load i18n %} +{% load inventree_extras %} + +{% block label %}labels{% endblock %} + +{% block heading %} +{% trans "Label Settings" %} +{% endblock %} + +{% block content %} + + + + {% include "InvenTree/settings/setting.html" with key="LABEL_ENABLE" icon='fa-toggle-on' %} + {% include "InvenTree/settings/setting.html" with key="LABEL_DPI" icon='fa-toggle-on' %} + +
+ +{% endblock %} diff --git a/InvenTree/templates/InvenTree/settings/settings.html b/InvenTree/templates/InvenTree/settings/settings.html index 96236ec54d..de3a36b9d1 100644 --- a/InvenTree/templates/InvenTree/settings/settings.html +++ b/InvenTree/templates/InvenTree/settings/settings.html @@ -33,6 +33,7 @@ {% include "InvenTree/settings/login.html" %} {% include "InvenTree/settings/barcode.html" %} {% include "InvenTree/settings/currencies.html" %} +{% include "InvenTree/settings/label.html" %} {% include "InvenTree/settings/report.html" %} {% include "InvenTree/settings/part.html" %} {% include "InvenTree/settings/category.html" %} diff --git a/InvenTree/templates/InvenTree/settings/sidebar.html b/InvenTree/templates/InvenTree/settings/sidebar.html index 3d06228c15..620c589359 100644 --- a/InvenTree/templates/InvenTree/settings/sidebar.html +++ b/InvenTree/templates/InvenTree/settings/sidebar.html @@ -34,6 +34,8 @@ {% include "sidebar_item.html" with label='barcodes' text=text icon="fa-qrcode" %} {% trans "Currencies" as text %} {% include "sidebar_item.html" with label='currencies' text=text icon="fa-dollar-sign" %} +{% trans "Label Printing" as text %} +{% include "sidebar_item.html" with label='labels' text=text icon='fa-tag' %} {% trans "Reporting" as text %} {% include "sidebar_item.html" with label='reporting' text=text icon="fa-file-pdf" %} {% trans "Parts" as text %} diff --git a/InvenTree/templates/InvenTree/settings/user_labels.html b/InvenTree/templates/InvenTree/settings/user_labels.html index d14db225d4..93c7c0b2bc 100644 --- a/InvenTree/templates/InvenTree/settings/user_labels.html +++ b/InvenTree/templates/InvenTree/settings/user_labels.html @@ -14,7 +14,6 @@
- {% include "InvenTree/settings/setting.html" with key="LABEL_ENABLE" icon='fa-toggle-on' user_setting=True %} {% include "InvenTree/settings/setting.html" with key="LABEL_INLINE" icon='fa-tag' user_setting=True %}
diff --git a/InvenTree/templates/base.html b/InvenTree/templates/base.html index 1ae46c34f9..0d47656dd9 100644 --- a/InvenTree/templates/base.html +++ b/InvenTree/templates/base.html @@ -7,7 +7,7 @@ {% settings_value 'REPORT_ENABLE_TEST_REPORT' as test_report_enabled %} {% settings_value "REPORT_ENABLE" as report_enabled %} {% settings_value "SERVER_RESTART_REQUIRED" as server_restart_required %} -{% settings_value "LABEL_ENABLE" with user=user as labels_enabled %} +{% settings_value "LABEL_ENABLE" as labels_enabled %} {% inventree_show_about user as show_about %} From 136924cd3f35e641719945bd85a1517531523672 Mon Sep 17 00:00:00 2001 From: Jonas Otto Date: Fri, 17 Jun 2022 00:14:40 +0200 Subject: [PATCH 5/8] fix docs link for "email settings not configured" warning (#3209) --- InvenTree/templates/stats.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/templates/stats.html b/InvenTree/templates/stats.html index 7b966dd12b..b4f38c7ebc 100644 --- a/InvenTree/templates/stats.html +++ b/InvenTree/templates/stats.html @@ -74,7 +74,7 @@ {% trans "Email Settings" %} - + {% trans "Email settings not configured" %} From 50a4bda1843fb8d0c4ec2fddc761fbf7af51cbb8 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Fri, 17 Jun 2022 02:36:36 +0200 Subject: [PATCH 6/8] Small changes to password changing (#3213) * fix formatting * also check for the old password * validate that password matches the rules --- InvenTree/InvenTree/forms.py | 41 +++++++++++++++++++++++------------- InvenTree/InvenTree/views.py | 28 +++++++++++++++++------- 2 files changed, 46 insertions(+), 23 deletions(-) diff --git a/InvenTree/InvenTree/forms.py b/InvenTree/InvenTree/forms.py index 6116cd0b36..d0d725c2f8 100644 --- a/InvenTree/InvenTree/forms.py +++ b/InvenTree/InvenTree/forms.py @@ -124,21 +124,31 @@ class EditUserForm(HelperForm): class SetPasswordForm(HelperForm): """Form for setting user password.""" - enter_password = forms.CharField(max_length=100, - min_length=8, - required=True, - initial='', - widget=forms.PasswordInput(attrs={'autocomplete': 'off'}), - label=_('Enter password'), - help_text=_('Enter new password')) + enter_password = forms.CharField( + max_length=100, + min_length=8, + required=True, + initial='', + widget=forms.PasswordInput(attrs={'autocomplete': 'off'}), + label=_('Enter password'), + help_text=_('Enter new password') + ) - confirm_password = forms.CharField(max_length=100, - min_length=8, - required=True, - initial='', - widget=forms.PasswordInput(attrs={'autocomplete': 'off'}), - label=_('Confirm password'), - help_text=_('Confirm new password')) + confirm_password = forms.CharField( + max_length=100, + min_length=8, + required=True, + initial='', + widget=forms.PasswordInput(attrs={'autocomplete': 'off'}), + label=_('Confirm password'), + help_text=_('Confirm new password') + ) + + old_password = forms.CharField( + label=_("Old password"), + strip=False, + widget=forms.PasswordInput(attrs={'autocomplete': 'current-password', 'autofocus': True}), + ) class Meta: """Metaclass options.""" @@ -146,7 +156,8 @@ class SetPasswordForm(HelperForm): model = User fields = [ 'enter_password', - 'confirm_password' + 'confirm_password', + 'old_password', ] diff --git a/InvenTree/InvenTree/views.py b/InvenTree/InvenTree/views.py index 5a0c24e373..26f7f5ecf5 100644 --- a/InvenTree/InvenTree/views.py +++ b/InvenTree/InvenTree/views.py @@ -8,8 +8,10 @@ import json import os from django.conf import settings +from django.contrib.auth import password_validation from django.contrib.auth.mixins import (LoginRequiredMixin, PermissionRequiredMixin) +from django.core.exceptions import ValidationError from django.http import HttpResponse, HttpResponseRedirect, JsonResponse from django.shortcuts import redirect from django.template.loader import render_to_string @@ -540,6 +542,8 @@ class SetPasswordView(AjaxUpdateView): p1 = request.POST.get('enter_password', '') p2 = request.POST.get('confirm_password', '') + old_password = request.POST.get('old_password', '') + user = self.request.user if valid: # Passwords must match @@ -548,20 +552,28 @@ class SetPasswordView(AjaxUpdateView): error = _('Password fields must match') form.add_error('enter_password', error) form.add_error('confirm_password', error) - valid = False - data = { - 'form_valid': valid - } + if valid: + # Old password must be correct + + if not user.check_password(old_password): + form.add_error('old_password', _('Wrong password provided')) + valid = False if valid: - user = self.request.user + try: + # Validate password + password_validation.validate_password(p1, user) - user.set_password(p1) - user.save() + # Update the user + user.set_password(p1) + user.save() + except ValidationError as error: + form.add_error('confirm_password', str(error)) + valid = False - return self.renderJsonResponse(request, form, data=data) + return self.renderJsonResponse(request, form, data={'form_valid': valid}) class IndexView(TemplateView): From 0d01ea2f2e9d1780604a22c78f34b55f330c9648 Mon Sep 17 00:00:00 2001 From: Oliver Date: Fri, 17 Jun 2022 11:33:45 +1000 Subject: [PATCH 7/8] Auth forms fix (#3214) * Improvement and consolidation of various auth forms * Update "disable 2FA" page to use form fields Note: Requires merging of https://github.com/valohai/django-allauth-2fa/pull/135 * Update django-allauth-2fa requirements --- InvenTree/templates/account/login.html | 4 +++- InvenTree/templates/account/logout.html | 12 ++++++++--- .../templates/allauth_2fa/authenticate.html | 2 +- .../templates/allauth_2fa/backup_tokens.html | 20 ++++++++++++------- InvenTree/templates/allauth_2fa/remove.html | 17 ++++++++++++---- InvenTree/templates/allauth_2fa/setup.html | 13 ++++++++---- requirements.txt | 2 +- 7 files changed, 49 insertions(+), 21 deletions(-) diff --git a/InvenTree/templates/account/login.html b/InvenTree/templates/account/login.html index 042c119440..0572a4c4d8 100644 --- a/InvenTree/templates/account/login.html +++ b/InvenTree/templates/account/login.html @@ -39,7 +39,9 @@ for a account and sign in below:{% endblocktrans %}

{{ login_message | safe }}
{% endif %}
- +
{% if mail_conf and enable_pwd_forgot %} {% trans "Forgot Password?" %} diff --git a/InvenTree/templates/account/logout.html b/InvenTree/templates/account/logout.html index df37c76be4..37df8d7577 100644 --- a/InvenTree/templates/account/logout.html +++ b/InvenTree/templates/account/logout.html @@ -5,7 +5,7 @@ {% block head_title %}{% trans "Sign Out" %}{% endblock %} {% block content %} -

{% trans "Sign Out" %}

+

{% trans "Sign Out" %}

{% trans 'Are you sure you want to sign out?' %}

@@ -16,10 +16,16 @@ {% endif %}
- {% trans "Back to Site" %} - +
+ {% endblock %} diff --git a/InvenTree/templates/allauth_2fa/authenticate.html b/InvenTree/templates/allauth_2fa/authenticate.html index 1a392fc44a..b27b5df81c 100644 --- a/InvenTree/templates/allauth_2fa/authenticate.html +++ b/InvenTree/templates/allauth_2fa/authenticate.html @@ -9,7 +9,7 @@ {{ form|crispy }} {% endblock %} diff --git a/InvenTree/templates/allauth_2fa/backup_tokens.html b/InvenTree/templates/allauth_2fa/backup_tokens.html index 2257baecb3..fac32e3e2c 100644 --- a/InvenTree/templates/allauth_2fa/backup_tokens.html +++ b/InvenTree/templates/allauth_2fa/backup_tokens.html @@ -17,17 +17,23 @@ {% trans 'Backup tokens have been generated, but are not revealed here for security reasons. Press the button below to generate new ones.' %} {% endif %} {% else %} - {% trans 'No tokens. Press the button below to generate some.' %} + {% trans 'No backup tokens are available. Press the button below to generate some.' %} {% endif %} -
+
{% csrf_token %} - +
+ +
-
-{% trans "Back to settings" %} + + {% endblock %} diff --git a/InvenTree/templates/allauth_2fa/remove.html b/InvenTree/templates/allauth_2fa/remove.html index fb9d15ae32..aab3915fa8 100644 --- a/InvenTree/templates/allauth_2fa/remove.html +++ b/InvenTree/templates/allauth_2fa/remove.html @@ -1,5 +1,5 @@ {% extends "account/base.html" %} -{% load i18n %} +{% load i18n crispy_forms_tags %} {% block content %}

@@ -10,9 +10,18 @@
{% csrf_token %} - + {{ form|crispy }} +
+
+ +
+ {% endblock %} diff --git a/InvenTree/templates/allauth_2fa/setup.html b/InvenTree/templates/allauth_2fa/setup.html index 2b74ad9c47..027cef905d 100644 --- a/InvenTree/templates/allauth_2fa/setup.html +++ b/InvenTree/templates/allauth_2fa/setup.html @@ -31,12 +31,17 @@ {% csrf_token %} {{ form|crispy }} - +
+
+ +
{% endblock %} diff --git a/requirements.txt b/requirements.txt index 26bfca213b..765c774284 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,7 +8,7 @@ coveralls==2.1.2 # Coveralls linking (for Travis) cryptography==3.4.8 # Cryptography support django-admin-shell==0.1.2 # Python shell for the admin interface django-allauth==0.45.0 # SSO for external providers via OpenID -django-allauth-2fa==0.8 # MFA / 2FA +django-allauth-2fa==0.9 # MFA / 2FA django-cleanup==5.1.0 # Manage deletion of old / unused uploaded files django-cors-headers==3.2.0 # CORS headers extension for DRF django-crispy-forms==1.11.2 # Form helpers From 74bec866751076958530c0577065e78dd0ad5573 Mon Sep 17 00:00:00 2001 From: Oliver Date: Fri, 17 Jun 2022 21:26:28 +1000 Subject: [PATCH 8/8] Part page loading improvements (#3185) * Lazy load the pricing bom table when the "pricing" tab is selected * Update django-debug-toolbar configuration * Major refactoring for the 'can_build' function - Use a single annotated query to the db, rather than a for loop (which is what a caveman would use) - Query performance is greatly improved - Also refactors existing variant-part-stock subquery code, to make it re-usable * Use minified JS and CSS where possible * Render a 'preview' version of each part image - Saves load time when the image is quite large - Adds a data migration to render out the new variation * Adds 'preview' version of company images * Defer loading of javascript files Note: some cannot be deferred - jquery in particular * Crucial bugfix for user roles context - Previously was *not* being calculated correctly - A non-superuser role would most likely display pages incorrectly * Prevent loading of "about" on every page - Load dynamically when requested - Takes ~400ms! - Cuts out a lot of fat * Match displayed image size to preview image size * Utilize caching framework for accessing user "role" information - Reduces number of DB queries required by rendering framework * Remove redundant query elements * Remove 'stock' field from PartBrief serializer - A calculated field on a serializer is a *bad idea* when that calculation requires a DB hit * Query improvements for StockItem serializer - Remove calculated fields - Fix annotations * Bug fixes * Remove JS load test - Loading of JS files is now deferred, so the unit test does not work as it used to * Fix broken template for "maintenance" page * Remove thumbnail generation migrations - Already performed manually as part of ''invoke migrate" - Running as a migration causes unit test problems - Not sensible to run this as a data-migration anyway * tweak for build table --- InvenTree/InvenTree/context.py | 32 +- InvenTree/InvenTree/settings.py | 5 + .../bootstrap-table/bootstrap-table.min.css | 10 + .../bootstrap-table/bootstrap-table.min.js | 10 + InvenTree/InvenTree/static/css/inventree.css | 4 +- .../static/fullcalendar/locales-all.js | 404 +- .../static/fullcalendar/locales-all.min.js | 1 + .../static/fullcalendar/locales/bn.js | 29 + .../static/fullcalendar/locales/de-at.js | 35 + .../static/fullcalendar/locales/de.js | 35 + .../static/fullcalendar/locales/en-au.js | 10 + .../static/fullcalendar/locales/en-gb.js | 10 + .../static/fullcalendar/locales/en-nz.js | 10 + .../static/fullcalendar/locales/es.js | 19 + .../static/fullcalendar/locales/hu.js | 2 +- .../static/fullcalendar/locales/km.js | 28 + .../static/fullcalendar/locales/ku.js | 28 + .../static/fullcalendar/locales/nb.js | 11 + .../static/fullcalendar/locales/si-lk.js | 27 + .../static/fullcalendar/locales/sm.js | 23 + .../static/fullcalendar/locales/sv.js | 20 + .../static/fullcalendar/locales/ta-in.js | 29 + .../InvenTree/static/fullcalendar/main.css | 162 +- .../InvenTree/static/fullcalendar/main.js | 3892 ++++++++++------- .../static/fullcalendar/main.min.css | 1 + .../InvenTree/static/fullcalendar/main.min.js | 6 + .../static/script/inventree/inventree.js | 11 +- InvenTree/InvenTree/test_views.py | 15 - InvenTree/InvenTree/urls.py | 3 +- InvenTree/InvenTree/views.py | 7 + .../build/templates/build/build_base.html | 2 +- InvenTree/company/models.py | 5 +- .../templates/company/company_base.html | 2 +- .../templates/company/manufacturer_part.html | 2 +- .../templates/company/supplier_part.html | 2 +- InvenTree/part/filters.py | 21 +- InvenTree/part/models.py | 120 +- InvenTree/part/serializers.py | 44 +- InvenTree/part/templates/part/detail.html | 273 +- InvenTree/part/templates/part/part_thumb.html | 2 +- InvenTree/stock/api.py | 1 - InvenTree/stock/serializers.py | 26 +- .../stock/templates/stock/item_base.html | 2 +- InvenTree/templates/about.html | 189 +- InvenTree/templates/account/base.html | 21 +- InvenTree/templates/base.html | 97 +- InvenTree/templates/js/translated/build.js | 2 +- InvenTree/templates/page_base.html | 2 +- InvenTree/templates/skeleton.html | 11 +- InvenTree/templates/third_party_js.html | 37 + InvenTree/users/models.py | 64 +- 51 files changed, 3592 insertions(+), 2212 deletions(-) create mode 100644 InvenTree/InvenTree/static/bootstrap-table/bootstrap-table.min.css create mode 100644 InvenTree/InvenTree/static/bootstrap-table/bootstrap-table.min.js create mode 100644 InvenTree/InvenTree/static/fullcalendar/locales-all.min.js create mode 100644 InvenTree/InvenTree/static/fullcalendar/locales/bn.js create mode 100644 InvenTree/InvenTree/static/fullcalendar/locales/km.js create mode 100644 InvenTree/InvenTree/static/fullcalendar/locales/ku.js create mode 100644 InvenTree/InvenTree/static/fullcalendar/locales/si-lk.js create mode 100644 InvenTree/InvenTree/static/fullcalendar/locales/sm.js create mode 100644 InvenTree/InvenTree/static/fullcalendar/locales/ta-in.js create mode 100644 InvenTree/InvenTree/static/fullcalendar/main.min.css create mode 100644 InvenTree/InvenTree/static/fullcalendar/main.min.js create mode 100644 InvenTree/templates/third_party_js.html diff --git a/InvenTree/InvenTree/context.py b/InvenTree/InvenTree/context.py index 4e3d38d1b0..6c82137d3b 100644 --- a/InvenTree/InvenTree/context.py +++ b/InvenTree/InvenTree/context.py @@ -6,7 +6,7 @@ import InvenTree.status from InvenTree.status_codes import (BuildStatus, PurchaseOrderStatus, SalesOrderStatus, StockHistoryCode, StockStatus) -from users.models import RuleSet +from users.models import RuleSet, check_user_role def health_status(request): @@ -83,31 +83,13 @@ def user_roles(request): roles = { } - if user.is_superuser: - for ruleset in RuleSet.RULESET_MODELS.keys(): # pragma: no cover - roles[ruleset] = { - 'view': True, - 'add': True, - 'change': True, - 'delete': True, - } - else: - for group in user.groups.all(): - for rule in group.rule_sets.all(): + for role in RuleSet.RULESET_MODELS.keys(): - # Ensure the role name is in the dict - if rule.name not in roles: - roles[rule.name] = { - 'view': user.is_superuser, - 'add': user.is_superuser, - 'change': user.is_superuser, - 'delete': user.is_superuser - } + permissions = {} - # Roles are additive across groups - roles[rule.name]['view'] |= rule.can_view - roles[rule.name]['add'] |= rule.can_add - roles[rule.name]['change'] |= rule.can_change - roles[rule.name]['delete'] |= rule.can_delete + for perm in ['view', 'add', 'change', 'delete']: + permissions[perm] = user.is_superuser or check_user_role(user, role, perm) + + roles[role] = permissions return {'roles': roles} diff --git a/InvenTree/InvenTree/settings.py b/InvenTree/InvenTree/settings.py index 0a01937e16..acf585848d 100644 --- a/InvenTree/InvenTree/settings.py +++ b/InvenTree/InvenTree/settings.py @@ -309,6 +309,11 @@ if DEBUG_TOOLBAR_ENABLED: # pragma: no cover INSTALLED_APPS.append('debug_toolbar') MIDDLEWARE.append('debug_toolbar.middleware.DebugToolbarMiddleware') + DEBUG_TOOLBAR_CONFIG = { + 'RESULTS_CACHE_SIZE': 100, + 'OBSERVE_REQUEST_CALLBACK': lambda x: False, + } + # Internal IP addresses allowed to see the debug toolbar INTERNAL_IPS = [ '127.0.0.1', diff --git a/InvenTree/InvenTree/static/bootstrap-table/bootstrap-table.min.css b/InvenTree/InvenTree/static/bootstrap-table/bootstrap-table.min.css new file mode 100644 index 0000000000..0fa2968e0a --- /dev/null +++ b/InvenTree/InvenTree/static/bootstrap-table/bootstrap-table.min.css @@ -0,0 +1,10 @@ +/** + * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation) + * + * @version v1.18.3 + * @homepage https://bootstrap-table.com + * @author wenzhixin (http://wenzhixin.net.cn/) + * @license MIT + */ + +.bootstrap-table .fixed-table-toolbar::after{content:"";display:block;clear:both}.bootstrap-table .fixed-table-toolbar .bs-bars,.bootstrap-table .fixed-table-toolbar .columns,.bootstrap-table .fixed-table-toolbar .search{position:relative;margin-top:10px;margin-bottom:10px}.bootstrap-table .fixed-table-toolbar .columns .btn-group>.btn-group{display:inline-block;margin-left:-1px!important}.bootstrap-table .fixed-table-toolbar .columns .btn-group>.btn-group>.btn{border-radius:0}.bootstrap-table .fixed-table-toolbar .columns .btn-group>.btn-group:first-child>.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.bootstrap-table .fixed-table-toolbar .columns .btn-group>.btn-group:last-child>.btn{border-top-right-radius:4px;border-bottom-right-radius:4px}.bootstrap-table .fixed-table-toolbar .columns .dropdown-menu{text-align:left;max-height:300px;overflow:auto;-ms-overflow-style:scrollbar;z-index:1001}.bootstrap-table .fixed-table-toolbar .columns label{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.428571429}.bootstrap-table .fixed-table-toolbar .columns-left{margin-right:5px}.bootstrap-table .fixed-table-toolbar .columns-right{margin-left:5px}.bootstrap-table .fixed-table-toolbar .pull-right .dropdown-menu{right:0;left:auto}.bootstrap-table .fixed-table-container{position:relative;clear:both}.bootstrap-table .fixed-table-container .table{width:100%;margin-bottom:0!important}.bootstrap-table .fixed-table-container .table td,.bootstrap-table .fixed-table-container .table th{vertical-align:middle;box-sizing:border-box}.bootstrap-table .fixed-table-container .table thead th{vertical-align:bottom;padding:0;margin:0}.bootstrap-table .fixed-table-container .table thead th:focus{outline:0 solid transparent}.bootstrap-table .fixed-table-container .table thead th.detail{width:30px}.bootstrap-table .fixed-table-container .table thead th .th-inner{padding:.75rem;vertical-align:bottom;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bootstrap-table .fixed-table-container .table thead th .sortable{cursor:pointer;background-position:right;background-repeat:no-repeat;padding-right:30px!important}.bootstrap-table .fixed-table-container .table thead th .both{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAkElEQVQoz7X QMQ5AQBCF4dWQSJxC5wwax1Cq1e7BAdxD5SL+Tq/QCM1oNiJidwox0355mXnG/DrEtIQ6azioNZQxI0ykPhTQIwhCR+BmBYtlK7kLJYwWCcJA9M4qdrZrd8pPjZWPtOqdRQy320YSV17OatFC4euts6z39GYMKRPCTKY9UnPQ6P+GtMRfGtPnBCiqhAeJPmkqAAAAAElFTkSuQmCC")}.bootstrap-table .fixed-table-container .table thead th .asc{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZ0lEQVQ4y2NgGLKgquEuFxBPAGI2ahhWCsS/gDibUoO0gPgxEP8H4ttArEyuQYxAPBdqEAxPBImTY5gjEL9DM+wTENuQahAvEO9DMwiGdwAxOymGJQLxTyD+jgWDxCMZRsEoGAVoAADeemwtPcZI2wAAAABJRU5ErkJggg==")}.bootstrap-table .fixed-table-container .table thead th .desc{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZUlEQVQ4y2NgGAWjYBSggaqGu5FA/BOIv2PBIPFEUgxjB+IdQPwfC94HxLykus4GiD+hGfQOiB3J8SojEE9EM2wuSJzcsFMG4ttQgx4DsRalkZENxL+AuJQaMcsGxBOAmGvopk8AVz1sLZgg0bsAAAAASUVORK5CYII= ")}.bootstrap-table .fixed-table-container .table tbody tr.selected td{background-color:rgba(0,0,0,.075)}.bootstrap-table .fixed-table-container .table tbody tr.no-records-found td{text-align:center}.bootstrap-table .fixed-table-container .table tbody tr .card-view{display:flex}.bootstrap-table .fixed-table-container .table tbody tr .card-view .card-view-title{font-weight:700;display:inline-block;min-width:30%;width:auto!important;text-align:left!important}.bootstrap-table .fixed-table-container .table tbody tr .card-view .card-view-value{width:100%!important}.bootstrap-table .fixed-table-container .table .bs-checkbox{text-align:center}.bootstrap-table .fixed-table-container .table .bs-checkbox label{margin-bottom:0}.bootstrap-table .fixed-table-container .table .bs-checkbox label input[type=checkbox],.bootstrap-table .fixed-table-container .table .bs-checkbox label input[type=radio]{margin:0 auto!important}.bootstrap-table .fixed-table-container .table.table-sm .th-inner{padding:.3rem}.bootstrap-table .fixed-table-container.fixed-height:not(.has-footer){border-bottom:1px solid #dee2e6}.bootstrap-table .fixed-table-container.fixed-height.has-card-view{border-top:1px solid #dee2e6;border-bottom:1px solid #dee2e6}.bootstrap-table .fixed-table-container.fixed-height .fixed-table-border{border-left:1px solid #dee2e6;border-right:1px solid #dee2e6}.bootstrap-table .fixed-table-container.fixed-height .table thead th{border-bottom:1px solid #dee2e6}.bootstrap-table .fixed-table-container.fixed-height .table-dark thead th{border-bottom:1px solid #32383e}.bootstrap-table .fixed-table-container .fixed-table-header{overflow:hidden}.bootstrap-table .fixed-table-container .fixed-table-body{overflow-x:auto;overflow-y:auto;height:100%}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading{align-items:center;background:#fff;display:flex;justify-content:center;position:absolute;bottom:0;width:100%;z-index:1000;transition:visibility 0s,opacity .15s ease-in-out;opacity:0;visibility:hidden}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.open{visibility:visible;opacity:1}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap{align-items:baseline;display:flex;justify-content:center}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .loading-text{margin-right:6px}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap{align-items:center;display:flex;justify-content:center}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-dot,.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::after,.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::before{content:"";animation-duration:1.5s;animation-iteration-count:infinite;animation-name:LOADING;background:#212529;border-radius:50%;display:block;height:5px;margin:0 4px;opacity:0;width:5px}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-dot{animation-delay:.3s}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::after{animation-delay:.6s}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark{background:#212529}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-dot,.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-wrap::after,.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-wrap::before{background:#fff}.bootstrap-table .fixed-table-container .fixed-table-footer{overflow:hidden}.bootstrap-table .fixed-table-pagination::after{content:"";display:block;clear:both}.bootstrap-table .fixed-table-pagination>.pagination,.bootstrap-table .fixed-table-pagination>.pagination-detail{margin-top:10px;margin-bottom:10px}.bootstrap-table .fixed-table-pagination>.pagination-detail .pagination-info{line-height:34px;margin-right:5px}.bootstrap-table .fixed-table-pagination>.pagination-detail .page-list{display:inline-block}.bootstrap-table .fixed-table-pagination>.pagination-detail .page-list .btn-group{position:relative;display:inline-block;vertical-align:middle}.bootstrap-table .fixed-table-pagination>.pagination-detail .page-list .btn-group .dropdown-menu{margin-bottom:0}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination{margin:0}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination li.page-intermediate a{color:#c8c8c8}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination li.page-intermediate a::before{content:'\2B05'}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination li.page-intermediate a::after{content:'\27A1'}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination li.disabled a{pointer-events:none;cursor:default}.bootstrap-table.fullscreen{position:fixed;top:0;left:0;z-index:1050;width:100%!important;background:#fff;height:calc(100vh);overflow-y:scroll}.bootstrap-table.bootstrap4 .pagination-lg .page-link,.bootstrap-table.bootstrap5 .pagination-lg .page-link{padding:.5rem 1rem}.bootstrap-table.bootstrap5 .float-left{float:left}.bootstrap-table.bootstrap5 .float-right{float:right}div.fixed-table-scroll-inner{width:100%;height:200px}div.fixed-table-scroll-outer{top:0;left:0;visibility:hidden;width:200px;height:150px;overflow:hidden}@keyframes LOADING{0%{opacity:0}50%{opacity:1}to{opacity:0}} \ No newline at end of file diff --git a/InvenTree/InvenTree/static/bootstrap-table/bootstrap-table.min.js b/InvenTree/InvenTree/static/bootstrap-table/bootstrap-table.min.js new file mode 100644 index 0000000000..8c88245fbb --- /dev/null +++ b/InvenTree/InvenTree/static/bootstrap-table/bootstrap-table.min.js @@ -0,0 +1,10 @@ +/** + * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation) + * + * @version v1.18.3 + * @homepage https://bootstrap-table.com + * @author wenzhixin (http://wenzhixin.net.cn/) + * @license MIT + */ + +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):(t="undefined"!=typeof globalThis?globalThis:t||self).BootstrapTable=e(t.jQuery)}(this,(function(t){"use strict";function e(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var i=e(t);function n(t){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){for(var i=0;it.length)&&(e=t.length);for(var i=0,n=new Array(e);i=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,r=!1;return{s:function(){i=t[Symbol.iterator]()},n:function(){var t=i.next();return s=t.done,t},e:function(t){r=!0,a=t},f:function(){try{s||null==i.return||i.return()}finally{if(r)throw a}}}}var d="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function f(t,e){return t(e={exports:{}},e.exports),e.exports}var p=function(t){return t&&t.Math==Math&&t},g=p("object"==typeof globalThis&&globalThis)||p("object"==typeof window&&window)||p("object"==typeof self&&self)||p("object"==typeof d&&d)||function(){return this}()||Function("return this")(),v=function(t){try{return!!t()}catch(t){return!0}},b=!v((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),m={}.propertyIsEnumerable,y=Object.getOwnPropertyDescriptor,w={f:y&&!m.call({1:2},1)?function(t){var e=y(this,t);return!!e&&e.enumerable}:m},S=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},x={}.toString,k=function(t){return x.call(t).slice(8,-1)},O="".split,C=v((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==k(t)?O.call(t,""):Object(t)}:Object,T=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},P=function(t){return C(T(t))},I=function(t){return"object"==typeof t?null!==t:"function"==typeof t},A=function(t,e){if(!I(t))return t;var i,n;if(e&&"function"==typeof(i=t.toString)&&!I(n=i.call(t)))return n;if("function"==typeof(i=t.valueOf)&&!I(n=i.call(t)))return n;if(!e&&"function"==typeof(i=t.toString)&&!I(n=i.call(t)))return n;throw TypeError("Can't convert object to primitive value")},$={}.hasOwnProperty,E=function(t,e){return $.call(t,e)},R=g.document,j=I(R)&&I(R.createElement),_=function(t){return j?R.createElement(t):{}},N=!b&&!v((function(){return 7!=Object.defineProperty(_("div"),"a",{get:function(){return 7}}).a})),F=Object.getOwnPropertyDescriptor,D={f:b?F:function(t,e){if(t=P(t),e=A(e,!0),N)try{return F(t,e)}catch(t){}if(E(t,e))return S(!w.f.call(t,e),t[e])}},V=function(t){if(!I(t))throw TypeError(String(t)+" is not an object");return t},B=Object.defineProperty,L={f:b?B:function(t,e,i){if(V(t),e=A(e,!0),V(i),N)try{return B(t,e,i)}catch(t){}if("get"in i||"set"in i)throw TypeError("Accessors not supported");return"value"in i&&(t[e]=i.value),t}},H=b?function(t,e,i){return L.f(t,e,S(1,i))}:function(t,e,i){return t[e]=i,t},M=function(t,e){try{H(g,t,e)}catch(i){g[t]=e}return e},U="__core-js_shared__",z=g[U]||M(U,{}),q=Function.toString;"function"!=typeof z.inspectSource&&(z.inspectSource=function(t){return q.call(t)});var W,G,K,Y=z.inspectSource,X=g.WeakMap,J="function"==typeof X&&/native code/.test(Y(X)),Q=f((function(t){(t.exports=function(t,e){return z[t]||(z[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.9.1",mode:"global",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"})})),Z=0,tt=Math.random(),et=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++Z+tt).toString(36)},it=Q("keys"),nt=function(t){return it[t]||(it[t]=et(t))},ot={},at=g.WeakMap;if(J){var st=z.state||(z.state=new at),rt=st.get,lt=st.has,ct=st.set;W=function(t,e){return e.facade=t,ct.call(st,t,e),e},G=function(t){return rt.call(st,t)||{}},K=function(t){return lt.call(st,t)}}else{var ht=nt("state");ot[ht]=!0,W=function(t,e){return e.facade=t,H(t,ht,e),e},G=function(t){return E(t,ht)?t[ht]:{}},K=function(t){return E(t,ht)}}var ut={set:W,get:G,has:K,enforce:function(t){return K(t)?G(t):W(t,{})},getterFor:function(t){return function(e){var i;if(!I(e)||(i=G(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return i}}},dt=f((function(t){var e=ut.get,i=ut.enforce,n=String(String).split("String");(t.exports=function(t,e,o,a){var s,r=!!a&&!!a.unsafe,l=!!a&&!!a.enumerable,c=!!a&&!!a.noTargetGet;"function"==typeof o&&("string"!=typeof e||E(o,"name")||H(o,"name",e),(s=i(o)).source||(s.source=n.join("string"==typeof e?e:""))),t!==g?(r?!c&&t[e]&&(l=!0):delete t[e],l?t[e]=o:H(t,e,o)):l?t[e]=o:M(e,o)})(Function.prototype,"toString",(function(){return"function"==typeof this&&e(this).source||Y(this)}))})),ft=g,pt=function(t){return"function"==typeof t?t:void 0},gt=function(t,e){return arguments.length<2?pt(ft[t])||pt(g[t]):ft[t]&&ft[t][e]||g[t]&&g[t][e]},vt=Math.ceil,bt=Math.floor,mt=function(t){return isNaN(t=+t)?0:(t>0?bt:vt)(t)},yt=Math.min,wt=function(t){return t>0?yt(mt(t),9007199254740991):0},St=Math.max,xt=Math.min,kt=function(t,e){var i=mt(t);return i<0?St(i+e,0):xt(i,e)},Ot=function(t){return function(e,i,n){var o,a=P(e),s=wt(a.length),r=kt(n,s);if(t&&i!=i){for(;s>r;)if((o=a[r++])!=o)return!0}else for(;s>r;r++)if((t||r in a)&&a[r]===i)return t||r||0;return!t&&-1}},Ct={includes:Ot(!0),indexOf:Ot(!1)},Tt=Ct.indexOf,Pt=function(t,e){var i,n=P(t),o=0,a=[];for(i in n)!E(ot,i)&&E(n,i)&&a.push(i);for(;e.length>o;)E(n,i=e[o++])&&(~Tt(a,i)||a.push(i));return a},It=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],At=It.concat("length","prototype"),$t={f:Object.getOwnPropertyNames||function(t){return Pt(t,At)}},Et={f:Object.getOwnPropertySymbols},Rt=gt("Reflect","ownKeys")||function(t){var e=$t.f(V(t)),i=Et.f;return i?e.concat(i(t)):e},jt=function(t,e){for(var i=Rt(e),n=L.f,o=D.f,a=0;a0&&(!a.multiline||a.multiline&&"\n"!==t[a.lastIndex-1])&&(l="(?: "+l+")",h=" "+h,c++),i=new RegExp("^(?:"+l+")",r)),le&&(i=new RegExp("^"+l+"$(?!\\s)",r)),se&&(e=a.lastIndex),n=ne.call(s?i:a,h),s?n?(n.input=n.input.slice(c),n[0]=n[0].slice(c),n.index=a.lastIndex,a.lastIndex+=n[0].length):a.lastIndex=0:se&&n&&(a.lastIndex=a.global?n.index+n[0].length:e),le&&n&&n.length>1&&oe.call(n[0],i,(function(){for(o=1;o=74)&&(he=fe.match(/Chrome\/(\d+)/))&&(ue=he[1]);var be=ue&&+ue,me=!!Object.getOwnPropertySymbols&&!v((function(){return!Symbol.sham&&(de?38===be:be>37&&be<41)})),ye=me&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,we=Q("wks"),Se=g.Symbol,xe=ye?Se:Se&&Se.withoutSetter||et,ke=function(t){return E(we,t)&&(me||"string"==typeof we[t])||(me&&E(Se,t)?we[t]=Se[t]:we[t]=xe("Symbol."+t)),we[t]},Oe=ke("species"),Ce=!v((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")})),Te="$0"==="a".replace(/./,"$0"),Pe=ke("replace"),Ie=!!/./[Pe]&&""===/./[Pe]("a","$0"),Ae=!v((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var i="ab".split(t);return 2!==i.length||"a"!==i[0]||"b"!==i[1]})),$e=function(t,e,i,n){var o=ke(t),a=!v((function(){var e={};return e[o]=function(){return 7},7!=""[t](e)})),s=a&&!v((function(){var e=!1,i=/a/;return"split"===t&&((i={}).constructor={},i.constructor[Oe]=function(){return i},i.flags="",i[o]=/./[o]),i.exec=function(){return e=!0,null},i[o](""),!e}));if(!a||!s||"replace"===t&&(!Ce||!Te||Ie)||"split"===t&&!Ae){var r=/./[o],l=i(o,""[t],(function(t,e,i,n,o){return e.exec===ce?a&&!o?{done:!0,value:r.call(e,i,n)}:{done:!0,value:t.call(i,e,n)}:{done:!1}}),{REPLACE_KEEPS_$0:Te,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:Ie}),c=l[0],h=l[1];dt(String.prototype,t,c),dt(RegExp.prototype,o,2==e?function(t,e){return h.call(t,this,e)}:function(t){return h.call(t,this)})}n&&H(RegExp.prototype[o],"sham",!0)},Ee=ke("match"),Re=function(t){var e;return I(t)&&(void 0!==(e=t[Ee])?!!e:"RegExp"==k(t))},je=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t},_e=ke("species"),Ne=function(t){return function(e,i){var n,o,a=String(T(e)),s=mt(i),r=a.length;return s<0||s>=r?t?"":void 0:(n=a.charCodeAt(s))<55296||n>56319||s+1===r||(o=a.charCodeAt(s+1))<56320||o>57343?t?a.charAt(s):n:t?a.slice(s,s+2):o-56320+(n-55296<<10)+65536}},Fe={codeAt:Ne(!1),charAt:Ne(!0)}.charAt,De=function(t,e,i){return e+(i?Fe(t,e).length:1)},Ve=function(t,e){var i=t.exec;if("function"==typeof i){var n=i.call(t,e);if("object"!=typeof n)throw TypeError("RegExp exec method returned something other than an Object or null");return n}if("RegExp"!==k(t))throw TypeError("RegExp#exec called on incompatible receiver");return ce.call(t,e)},Be=[].push,Le=Math.min,He=4294967295,Me=!v((function(){return!RegExp(He,"y")}));$e("split",2,(function(t,e,i){var n;return n="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,i){var n=String(T(this)),o=void 0===i?He:i>>>0;if(0===o)return[];if(void 0===t)return[n];if(!Re(t))return e.call(n,t,o);for(var a,s,r,l=[],c=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),h=0,u=new RegExp(t.source,c+"g");(a=ce.call(u,n))&&!((s=u.lastIndex)>h&&(l.push(n.slice(h,a.index)),a.length>1&&a.index=o));)u.lastIndex===a.index&&u.lastIndex++;return h===n.length?!r&&u.test("")||l.push(""):l.push(n.slice(h)),l.length>o?l.slice(0,o):l}:"0".split(void 0,0).length?function(t,i){return void 0===t&&0===i?[]:e.call(this,t,i)}:e,[function(e,i){var o=T(this),a=null==e?void 0:e[t];return void 0!==a?a.call(e,o,i):n.call(String(o),e,i)},function(t,o){var a=i(n,t,this,o,n!==e);if(a.done)return a.value;var s=V(t),r=String(this),l=function(t,e){var i,n=V(t).constructor;return void 0===n||null==(i=V(n)[_e])?e:je(i)}(s,RegExp),c=s.unicode,h=(s.ignoreCase?"i":"")+(s.multiline?"m":"")+(s.unicode?"u":"")+(Me?"y":"g"),u=new l(Me?s:"^(?:"+s.source+")",h),d=void 0===o?He:o>>>0;if(0===d)return[];if(0===r.length)return null===Ve(u,r)?[r]:[];for(var f=0,p=0,g=[];pa;)L.f(t,i=n[a++],e[i]);return t},We=gt("document","documentElement"),Ge=nt("IE_PROTO"),Ke=function(){},Ye=function(t){return" - - + +{% include "third_party_js.html" %} + - - - - - - - - - - - - - - - - +{% include "third_party_js.html" %} - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + {% block js_load %} {% endblock %} - - - - - - - +{% include "third_party_js.html" %} diff --git a/InvenTree/templates/third_party_js.html b/InvenTree/templates/third_party_js.html new file mode 100644 index 0000000000..c32b1c10e8 --- /dev/null +++ b/InvenTree/templates/third_party_js.html @@ -0,0 +1,37 @@ +{% load static %} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/InvenTree/users/models.py b/InvenTree/users/models.py index 24c8a6d062..ca9ee7c240 100644 --- a/InvenTree/users/models.py +++ b/InvenTree/users/models.py @@ -6,6 +6,7 @@ from django.contrib.auth import get_user_model from django.contrib.auth.models import Group, Permission from django.contrib.contenttypes.fields import GenericForeignKey from django.contrib.contenttypes.models import ContentType +from django.core.cache import cache from django.db import models from django.db.models import Q, UniqueConstraint from django.db.models.signals import post_delete, post_save @@ -474,13 +475,19 @@ def update_group_roles(group, debug=False): logger.info(f"Adding permission {child_perm} to group {group.name}") -@receiver(post_save, sender=Group, dispatch_uid='create_missing_rule_sets') -def create_missing_rule_sets(sender, instance, **kwargs): - """Called *after* a Group object is saved. +def clear_user_role_cache(user): + """Remove user role permission information from the cache. - As the linked RuleSet instances are saved *before* the Group, then we can now use these RuleSet values to update the group permissions. + - This function is called whenever the user / group is updated + + Args: + user: The User object to be expunged from the cache """ - update_group_roles(instance) + + for role in RuleSet.RULESET_MODELS.keys(): + for perm in ['add', 'change', 'view', 'delete']: + key = f"role_{user}_{role}_{perm}" + cache.delete(key) def check_user_role(user, role, permission): @@ -491,6 +498,17 @@ def check_user_role(user, role, permission): if user.is_superuser: return True + # First, check the cache + key = f"role_{user}_{role}_{permission}" + + result = cache.get(key) + + if result is not None: + return result + + # Default for no match + result = False + for group in user.groups.all(): for rule in group.rule_sets.all(): @@ -498,19 +516,24 @@ def check_user_role(user, role, permission): if rule.name == role: if permission == 'add' and rule.can_add: - return True + result = True + break if permission == 'change' and rule.can_change: - return True + result = True + break if permission == 'view' and rule.can_view: - return True + result = True + break if permission == 'delete' and rule.can_delete: - return True + result = True + break - # No matching permissions found - return False + # Save result to cache + cache.set(key, result, timeout=3600) + return result class Owner(models.Model): @@ -659,3 +682,22 @@ def delete_owner(sender, instance, **kwargs): """Callback function to delete an owner instance after either a new group or user instance is deleted.""" owner = Owner.get_owner(instance) owner.delete() + + +@receiver(post_save, sender=get_user_model(), dispatch_uid='clear_user_cache') +def clear_user_cache(sender, instance, **kwargs): + """Callback function when a user object is saved""" + + clear_user_role_cache(instance) + + +@receiver(post_save, sender=Group, dispatch_uid='create_missing_rule_sets') +def create_missing_rule_sets(sender, instance, **kwargs): + """Called *after* a Group object is saved. + + As the linked RuleSet instances are saved *before* the Group, then we can now use these RuleSet values to update the group permissions. + """ + update_group_roles(instance) + + for user in get_user_model().objects.filter(groups__name=instance.name): + clear_user_role_cache(user)